Planificación de DB2 en z/OS

Esto forma parte de la tarea más amplia de personalización del entorno z/OS y sólo es pertinente para el componente de intermediario. El Gestor de configuración y el Servidor de nombres de usuario no necesitan acceso a DB2.

WebSphere Message Broker para z/OS accede a las tablas DB2 utilizando ODBC. Para conectar con DB2 utilizando ODBC, se utiliza el nombre de la ubicación del subsistema DB2. Consulte el manual DB2 UDB for OS/390 and z/OS V7 Data Sharing: Planning and Administration si desea ver información más detallada.

Necesita proporcionar a determinados ID de usuario acceso a los recursos de DB2 y éstos se resumen a continuación:
  • Administrador de sistemas DB2
    1. Crear base de datos, grupos de almacenamiento y espacios de tabla (BIPCRDB).
    2. Eliminar base de datos (BIPDLDB)
  • Administrador de la base de datos de intermediario (DBA). Debe ser el administrador de WebSphere Message Broker.
    1. Crear tablas e índices (BIPCRBK)
    2. Crear tablas, eliminar tablas y crear índices (BIPMGCMP)
  • Id de usuario de tarea iniciada por intermediario:
    1. SQL para seleccionar, insertar y suprimir filas de las tablas de base de datos de intermediario y seleccionar en las tablas de sistema DB2.
  • Administrador y otros usuarios de WebSphere Message Broker
    1. SQL para seleccionar, insertar y suprimir filas de las tablas de base de datos de intermediario y seleccionar en las tablas de sistema DB2.

Cuando el sistema DB2 arranque, debe visualizarse el mensaje DSNL004I DDF START COMPLETE. El nombre de la ubicación se visualiza inmediatamente después de este mensaje. Cuando personalice un componente de intermediario en z/OS creará un archivo dsnaoini llamado BIPDSNAO en el PDSE del intermediario. Contiene la información necesaria para establecer la conexión ODBC. Consulte el manual DB2 UDB for OS/390 and z/OS V7 ODBC Guide and Reference si desea ver más información detallada.

Evite la utilización de un nombre de origen de datos que sea igual que el ID del subsistema o el ID de compartimiento de datos. La utilización del mismo nombre afecta a la granularidad de las instrucciones al conectar con la base de datos.

Si decide utilizar el mismo valor para el nombre del origen de datos y el ID del subsistema, deberá editar BIPDSNAO en el PDSE del intermediario de forma que las palabras claves Datasource y Subsystem estén en una sección.

Consulte el manual DB2 UDB for OS/390 and z/OS V7 ODBC Guide and Reference si desea ver más información sobre la personalización de este archivo.

Durante la personalización puede especificar el nombre de plan que va a utilizar, o usar el valor por omisión, DSNACLI. Si desea que el intermediario acceda a grupos de compartimiento de datos de DB2 que no sean los suyos, el plan DSNACLI ha de estar enlazado de una forma especial. Compruebe si la ubicación del comodín se ha especificado usando SPUFI y emitiendo el siguiente mandato:
select * from SYSIBM.SYSPACKLIST donde nombreplan ='DSNACLI';
Efectúe una nueva vinculación si la columna de la ubicación está en blanco y no muestra *.

Compruebe también si DSNACLI está en la tabla SYSIBM.SYSPLAN.

Conseguirá mejoras significativas en el rendimiento si utiliza el recurso CACHE DYNAMIC SQL de DB2, puesto que elimina la necesidad de volver a procesar las sentencias de DB2. Consulte CACHEDYN=YES en la publicación DB2 UDB para OS/390 y z/OS V7, Guía de instalación.

Si la base de datos del usuario se ha configurado para utilizar la coma como separador decimal utilizando el módulo DSNHDECP, verá que existe una limitación. Si existe una discrepancia entre DB2 y los valores de entorno local del ID de usuario bajo el cual se ejecuta el intermediario (específicamente LC_NUMERIC), las actualizaciones de la base de datos del usuario serán imprevisibles. LC_NUMERIC se establece mediante el valor LC_ALL en el miembro BIPBPROF y, por tanto, el archivo de entorno. La siguiente lista detalla las cuatro posibilidades:
  • Si DB2 se ha configurado para utilizar un punto como separador decimal y LC_NUMERIC se ha establecido en un valor que indica un punto como separador decimal, las actualizaciones de la base de datos deben funcionar correctamente.
  • Si DB2 se ha configurado para utilizar una coma como separador decimal y LC_NUMERIC se ha establecido en un valor que indica una coma como separador decimal, las actualizaciones de la base de datos deben funcionar correctamente.
  • Si DB2 se ha configurado para utilizar un punto como separador decimal y LC_NUMERIC se ha establecido en un valor que indica una coma como separador decimal, las actualizaciones de la base de datos pueden tener un comportamiento imprevisible.
  • Si DB2 se ha configurado para utilizar una coma como separador decimal y LC_NUMERIC se ha establecido en un valor que indica un punto como separador decimal, las actualizaciones de la base de datos pueden tener un comportamiento imprevisible.

Puede utilizar el mecanismo de seguridad de DB2 o, si está en z/OS 1.5 y DB2 Versión 8, utilice un gestor de seguridad externo, por ejemplo RACF.

Mecanismo de seguridad de DB2

La forma más práctica de gestionar el acceso a los recursos DB2 del intermediario es definir dos grupos RACF y conectar usuarios a estos grupos. Por ejemplo, los grupos RACF MQP1ADM y MQP1USR se definen para el intermediario MQP1BRK del modo siguiente:
  • Para el grupo MQP1ADM
    1. Otorgue a este grupo autorización de DBADM para la base de datos de intermediario.
    2. Normalmente es propiedad del administrador de WebSphere Message Broker; se deben añadir a este grupo los ID de usuario que necesitan someter BIPCRBK para crear un intermediario o BIPMGCMP para migrar un intermediario.
  • Para el grupo MQP1USR
    1. Proporcione a este grupo acceso para manipular las filas de las tablas de intermediario y permitirle seleccionar el acceso a las tablas de sistema DB2. Por ejemplo:
      GRANT DELETE, INSERT, SELECT, UPDATE            
           ON TABLE                                   
                    DB2_TABLE_OWNER.BSUBSCRIPTIONS  
                   ,DB2_TABLE_OWNER.BPUBLISHERS     
                   ,DB2_TABLE_OWNER.BCLIENTUSER     
                   ,DB2_TABLE_OWNER.BTOPOLOGY       
                   ,DB2_TABLE_OWNER.BNBRCONNECTIONS 
                   ,DB2_TABLE_OWNER.BRETAINEDPUBS   
                   ,DB2_TABLE_OWNER.BACLENTRIES     
                   ,DB2_TABLE_OWNER.BMQPSTOPOLOGY   
                   ,DB2_TABLE_OWNER.BUSERNAME       
                   ,DB2_TABLE_OWNER.BGROUPNAME      
                   ,DB2_TABLE_OWNER.BUSERMEMBERSHIP 
                   ,DB2_TABLE_OWNER.BROKERAA        
                   ,DB2_TABLE_OWNER.BROKERAAEG      
                   ,DB2_TABLE_OWNER.BROKERRESOURCES 
                   ,DB2_TABLE_OWNER.BRMINFO         
                   ,DB2_TABLE_OWNER.BRMRTDINFO      
                   ,DB2_TABLE_OWNER.BRMRTDDEPINFO   
                   ,DB2_TABLE_OWNER.BRMWFDINFO      
                   ,DB2_TABLE_OWNER.BRMPHYSICALRES  
                   ,DB2_TABLE_OWNER.BAGGREGATE      
                   ,DB2_TABLE_OWNER.BMULTICASTTOPICS
           TO MQP1USR;                  
      
      GRANT SELECT
           ON TABLE                                   
                    SYSIBM.SYSTABLES  
                   ,SYSIBM.SYSSYNONYMS     
                   ,SYSIBM.SYSDATABASE
           TO MQP1USR;                  
    2. Conecte el Id de usuario de tarea iniciada por intermediario y el administrador de WebSphere Message Broker a este grupo y conecte otros usuarios que puedan necesitar acceder a las tablas, por ejemplo los que someten BIPRELG para ejecutar el mandato mqsireadlog.
Tenga en cuenta lo siguiente:
  • Al acceder a los recursos de DB2, especifique un CURRENT SQLID como mandato de DB2 o mediante el miembro BIPDSNAO.

    Si este Id es un grupo, DB2 comprueba si el Id de usuario está conectado a este grupo y, si lo está, se hereda el acceso del grupo; si el Id de usuario no está en el grupo, se obtiene el código de SQL -551.

    Si el Id está en varios grupos, se utilizan las autorizaciones más altas.

  • Para BIPCRDB y BIPDLDB, se especifica el CURRENT SQLID como mandato en el JCL. Para todos los demás JCL, se especifica en BIPDSNAO.
  • Si no utiliza grupos para definir permisos, pero utiliza un Id de usuario específico para definir los permisos en los Id de usuario individuales, y se elimina de DB2 el Id de usuario que los otorga, también se eliminarán los permisos que éste haya otorgado. Esto puede impedir que trabajen otros usuarios.
  • Cuando el trabajo BIPDLDB descarta la base de datos DB2 del intermediario, suprime también cualquier referencia de Copia de imagen de él mismo que tenga actualmente. Si restablece el intermediario en el futuro, deberá reinstaurar las referencias de Imagen de copia.

Si este Id es un grupo, DB2 comprueba si el Id de usuario está conectado a este grupo y, si lo está, se hereda el acceso del grupo; si el Id de usuario no está en el grupo, se obtiene el código de SQL -551. Si el Id está en varios grupos, se utilizan las autorizaciones más altas.

Si no utiliza grupos para definir permisos, pero utiliza un ID de usuario específico para definir los permisos en los Id de usuario individuales, y se elimina de DB2 el Id de usuario que los otorga, también se eliminarán los permisos que éste haya otorgado. Esto puede impedir que trabajen otros usuarios.

Consulte Trabajos de programas de utilidad de z/OS para obtener información adicional sobre los trabajos de WebSphere Message Broker para z/OS que se proporcionan.

Tareas relacionadas
Personalización del entorno z/OS
Referencia relacionada
Resumen del acceso necesario (z/OS)
Tareas y funciones de personalización en z/OS
Enlace de un plan de DB2 para utilizar grupos de compartimiento de datos en z/OS
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ae22130_