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
- Crear base de datos, grupos de almacenamiento y espacios de tabla (BIPCRDB).
- Eliminar base de datos (BIPDLDB)
- Administrador de la base de datos de intermediario (DBA). Debe ser el
administrador de WebSphere Message Broker.
- Crear tablas e índices (BIPCRBK)
- Crear tablas, eliminar tablas y crear índices (BIPMGCMP)
- Id de usuario de tarea iniciada por intermediario:
- 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
- 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
- Otorgue a este grupo autorización de DBADM para la base de datos de
intermediario.
- 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
- 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;
- 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.