Planejamento do DB2 no z/OS

Isso faz parte de uma tarefa maior de customização de seu ambiente z/OS e é relevante somente para o componente do intermediário. O Configuration Manager e o Servidor de Nome de Usuário não requerem acesso ao DB2.

O WebSphere Message Broker para z/OS acessa tabelas do DB2 utilizando o ODBC. Para conectar-se ao DB2 utilizando o ODBC, é utilizado o nome do local do subsistema DB2. Consulte o manual DB2 UDB para OS/390 e z/OS V7 Data Sharing: Planning and Administration para obter detalhes adicionais.

É necessário fornecer a determinados IDs de usuário acesso a recursos do DB2 e esses estão resumidos abaixo:
  • Administrador de sistema DB2
    1. Criar banco da dados, grupos de armazenamento e espaços de tabela (BIPCRDB).
    2. Eliminar banco de dados (BIPDLDB)
  • Administrador para o banco de dados do intermediário (DBA). Deve ser o administrador do WebSphere Message Broker.
    1. Criar tabelas e índices (BIPCRBK)
    2. Criar tabelas, eliminar tabelas e criar índices (BIPMGCMP)
  • ID do usuário da tarefa iniciada do intermediário:
    1. SQL para selecionar, inserir e excluir linhas das tabelas do banco de dados do intermediário e selecionar de tabelas do sistema DB2.
  • Administrador do WebSphere Message Broker e outros usuários
    1. SQL para selecionar, inserir e excluir linhas das tabelas do banco de dados do intermediário e selecionar de tabelas do sistema DB2.

Quando o sistema DB2 for inicializado, deverá haver uma mensagem DSNL004I DDF START COMPLETE.O nome do local é exibido logo após esta mensagem. Quando customizar um componente do intermediário no z/OS, você criará um arquivo dsnaoini chamado BIPDSNAO no PDSE do intermediário. Ele contém as informações necessárias para estabelecer a conexão ODBC. Consulte o manual DB2 UDB para OS/390 e z/OS V7 ODBC Guide and Reference para obter detalhes adicionais.

Evite utilizar um nome de origem de dados que seja igual ao ID do subsistema ou ao ID de compartilhamento de dados. Se for utilizado o mesmo nome, isso poderá afetar a granularidade de diretrizes na conexão com o banco de dados.

Se você optar por utilizar o mesmo valor para o nome da origem de dados e ID do subsistema, deverá editar BIPDSNAO no PDSE do intermediário para que as palavras-chave Datasource e Subsystem estejam em uma seção.

Consulte o manual DB2 UDB for OS/390 and z/OS V7 ODBC Guide and Reference para obter informações adicionais sobre como personalizar este arquivo.

Durante a personalização, você pode especificar qual nome de plano utilizar ou utilize o padrão DSNACLI. Se desejar que o intermediário acesse grupos de compartilhamento de dados do DB2 diferentes do seu, o plano DSNACLI deverá estar ligado de uma forma especial.Verifique se o local curinga foi especificado utilizando SPUFI e emitindo o seguinte comando:
select * from SYSIBM.SYSPACKLIST where planname ='DSNACLI';
Será necessário refazer bind se a coluna de local estiver em branco e não '*'.

Também é necessário verificar se DSNACLI está na tabela SYSIBM.SYSPLAN.

Você obterá importantes benefícios de desempenho ao utilizar o recurso CACHE DYNAMIC SQL do DB2, porque ele elimina a necessidade de reprocessar instruções do DB2. Consulte CACHEDYN=YES no DB2 UDB for OS/390 and z/OS V7 Installation Guide.

Se o banco de dados do usuário estiver configurado para utilizar uma vírgula como separador decimal utilizando o módulo DSNHDECP, você perceberá que existe uma restrição. Se houver uma incompatibilidade entre o DB2 e as definições de código do idioma do ID do usuário com o qual o servidor intermediário é executado (especificamente LC_NUMERIC), as atualizações do banco de dados do usuário poderão ser imprevisíveis. LC_NUMERIC é configurado através da configuração LC_ALL no membro BIPBPROF e, portanto, no arquivo de ambiente. A lista a seguir detalha as quatro possibilidades:
  • Se o DB2 estiver configurado para utilizar um ponto como um ponto decimal e LC_NUMERIC estiver definido como um valor que indica um ponto decimal de um ponto; as atualizações do banco de dados do usuário deverão funcionar corretamente.
  • Se o DB2 estiver configurado para utilizar uma vírgula como um ponto decimal e LC_NUMERIC estiver definido como um valor que indica um ponto decimal de uma vírgula; as atualizações do banco de dados do usuário deverão funcionar corretamente.
  • Se o DB2 estiver configurado para utilizar um ponto como um ponto decimal e LC_NUMERIC estiver definido como um valor que indica um ponto decimal de uma vírgula; as atualizações do banco de dados do usuário poderão gerar um comportamento imprevisível.
  • Se o DB2 estiver configurado para utilizar uma vírgula como um ponto decimal e LC_NUMERIC estiver definido como um valor que indica um ponto decimal de um ponto; as atualizações do banco de dados do usuário poderão gerar um comportamento imprevisível.

Você pode utilizar o mecanismo de segurança do DB2 ou, se no z/OS 1.5 e DB2 Versão 8, utilize um gerenciador de segurança externo, por exemplo, RACF.

Mecanismo de segurança do DB2

A maneira mais prática de gerenciar o acesso aos recursos do DB2 de um intermediário é definindo dois grupos RACF e conectando usuários a esses grupos. Por exemplo, os grupos RACF MQP1ADM e MQP1USR são definidos para o intermediário MQP1BRK da seguinte forma:
  • Para o grupo MQP1ADM
    1. Conceda a esse grupo autoridade DBADM para o banco de dados do intermediário.
    2. Geralmente pertencente ao administrador do WebSphere Message Broker; IDs de usuário que precisam enviar BIPCRBK para criar um intermediário ou BIPMGCMP para migrar um intermediário precisam ser incluídos neste grupo.
  • Para o grupo MQP1USR
    1. Forneça a esse grupo acesso para manipular linhas nas tabelas do intermediário e permitir acesso seletivo a tabelas do sistema DB2. Exemplo:
      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 o ID do usuário da tarefa iniciada do intermediário e o administrador do WebSphere Message Broker a este grupo e conecte quaisquer outros usuários que possam precisar de acesso às tabelas, por exemplo, aqueles enviando BIPRELG para executar o comando mqsireadlog.
Observe o seguinte:
  • Ao acessar os recursos do DB2, você especifica um CURRENT SQLID como um comando DB2 ou através do membro BIPDSNAO.

    Se esse ID for um grupo, então, o DB2 verifica se seu ID de usuário é conectado a este grupo e, se for, você herda o acesso do grupo; se o ID do usuário não estiver no grupo, você recebe o código SQL -551.

    Se seu ID estiver em vários grupos, as autoridades mais altas serão utilizadas.

  • Para BIPCRDB e BIPDLDB, CURRENT SQLID é especificado como um comando no JCL. Para todos outros JCL, é especificado em BIPDSNAO.
  • Se você não utilizar grupos para definir permissões, mas utilizar um Id de usuário específico para definir as permissões para IDs de usuários individuais, então, se o ID de usuário de concessão for removido do DB2, quaisquer permissões que tenha concedido também serão removidas. Isso pode evitar que outros usuários trabalhem.
  • Quando a tarefa BIPDLDB eliminar o banco de dados DB2 do intermediário, ele também excluirá quaisquer referências de Cópia de Imagem para si que exista no momento. Se você restaurar o intermediário no futuro precisará reinstanciar as referências de Cópia de Imagem.

Se esse ID for um grupo, o DB2 verifica se seu ID de usuário é conectado a este grupo e, se for, você herda o acesso do grupo; se o ID do usuário não estiver no grupo, você recebe o código SQL -551. Se seu ID estiver em vários grupos, as autoridades mais altas serão utilizadas.

Se você não utilizar grupos para definir permissões, mas utilizar um ID de usuário específico para definir as permissões para IDs de usuários individuais, então, se o ID de usuário de concessão for removido do DB2, quaisquer permissões que tenha concedido também são removidas. Isso pode evitar que outros usuários trabalhem.

Consulte Tarefas de Utilitários do z/OS para obter informações adicionais sobre o WebSphere Message Broker para tarefas do z/OS fornecidas.

Tarefas relacionadas
Customizando o Ambiente do z/OS
Referências relacionadas
Resumo de Acesso Requerido (z/OS)
Tarefas e Funções de Customização no z/OS
Ligando um Plano do DB2 para Utilizar Grupos de Compartilhamento de Dados no z/OS
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ae22130_