Conectar-se à instância de banco de dados do RDS para Db2 com IBM Db2 CLP - Amazon Relational Database Service

Conectar-se à instância de banco de dados do RDS para Db2 com IBM Db2 CLP

É possível usar um utilitário de linha de comandos, como IBM Db2 CLP, para se conectar a instâncias de banco de dados do Amazon RDS para Db2. Esse utilitário faz parte do IBM Data Server Runtime Client. Para baixar o cliente do IBM Fix Central, consulte IBM Data Server Client Packages Version 11.5 Mod 8 Fix Pack 0 no IBM Support.

Terminologia

Os termos a seguir ajudam a explicar os comandos usados ao se conectar à instância de banco de dados do RDS para Db2.

catalog tcpip node

Esse comando registra um nó de banco de dados remoto com um cliente Db2 local, o que torna o nó acessível à aplicação cliente. Para catalogar um nó, você vai fornecer informações, como nome do host, número da porta e protocolo de comunicação do servidor. O nó catalogado então representa um servidor de destino onde residem um ou mais bancos de dados remotos. Para ter mais informações, consulte CATALOG TCPIP/TCPIP4/TCPIP6 NODE command na documentação do IBM Db2.

catalog database

Esse comando registra um banco de dados remoto com um cliente Db2 local, o que torna o banco de dados acessível à aplicação cliente. Para catalogar um banco de dados, você vai fornecer informações, como o alias do banco de dados, o nó no qual ele reside e o tipo de autenticação necessário para se conectar ao banco de dados. Para ter mais informações, consulte CATALOG DATABASE command na documentação do IBM Db2.

Instalar o cliente

Depois de downloading the package for Linux, instale o cliente usando privilégios raiz ou de administrador.

nota

Para instalar o cliente no AIX ou no Windows, siga o mesmo procedimento, mas modifique os comandos do sistema operacional.

Como instalar o cliente no Linux
  1. Execute ./db2_install -f sysreq e escolha yes para aceitar a licença.

  2. Selecione o local para instalar o cliente.

  3. Execute clientInstallDir/instance/db2icrt -s client instance_name. Substitua instance_name por um usuário válido do sistema operacional no Linux. Em Linux, o nome da instância de banco de dados do Db2 está vinculado ao nome de usuário do sistema operacional.

    Esse comando cria um diretório sqllib no diretório inicial do usuário designado no Linux.

Conexão a uma instância de banco de dados

Para se conectar à instância de banco de dados do RDS para Db2, você precisa do nome do DNS e do número da porta. Para ter informações sobre como descobri-los, consulte Encontrar o endpoint. Também é necessário saber o nome do banco de dados, o nome de usuário principal e a senha mestra que você definiu ao criar a instância de banco de dados do RDS para Db2. Para ter mais informações sobre como descobri-los, consulte Criar uma instância de banco de dados.

Como se conectar a uma instância de banco de dados do RDS para Db2 com IBM Db2 CLP
  1. Faça login com o nome de usuário que você especificou durante a instalação do cliente IBM Db2 CLP.

  2. Catalogue a instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua node_name, dns_name e port por um nome para o nó no catálogo local, o nome do DNS da instância de banco de dados e o número da porta.

    db2 catalog TCPIP node node_name remote dns_name server port

    Exemplo

    db2 catalog TCPIP node remnode remote database-1.123456789012.us-east-1.amazonaws.com server 50000
  3. Catalogue o banco de dados rdsadmin e seu banco de dados. Isso permitirá que você se conecte ao banco de dados rdsadmin para realizar algumas tarefas administrativas usando procedimentos armazenados do Amazon RDS. Para ter mais informações, consulte Administrar a instância de banco de dados do RDS para Db2.

    No exemplo a seguir, substitua database_alias, node_name e database_name por aliases para esse banco de dados, o nome do nó definido na etapa anterior e o nome do banco de dados. O server_encrypt criptografa o nome de usuário e a senha na rede.

    db2 catalog database rdsadmin [ as database_alias ] at node node_name authentication server_encrypt db2 catalog database database_name [ as database_alias ] at node node_name authentication server_encrypt

    Exemplo

    db2 catalog database rdsadmin at node remnode authentication server_encrypt db2 catalog database testdb as rdsdb2 at node remnode authentication server_encrypt
  4. Conecte-se ao banco de dados do RDS para Db2. No exemplo a seguir, substitua rds_database_alias, master_username e master_password pelo nome do banco de dados, o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2.

    db2 connect to rds_database_alias user master_username using master_password

    O comando vai produzir uma saída semelhante ao seguinte exemplo:

    Database Connection Information Database server = DB2/LINUXX8664 11.5.9.0 SQL authorization ID = ADMIN Local database alias = TESTDB
  5. Execute consultas e visualize os resultados. O exemplo a seguir mostra uma declaração SQL que seleciona o banco de dados que você criou.

    db2 "select current server from sysibm.dual"

    O comando vai produzir uma saída semelhante ao seguinte exemplo:

    1 ------------------ TESTDB 1 record(s) selected.

Solução de problema de conexão com a instância de banco de dados do RDS para Db2

O erro NULLID a seguir geralmente indica que as versões do cliente e do servidor do RDS para Db2 não coincidem. Para ver as versões compatíveis do cliente do Db2, consulte Supported combinations of clients, drivers and server levels na documentação do IBM Db2.

db2 "select * from syscat.tables" SQL0805N Package "NULLID.SQLC2O29 0X4141414141454A69" was not found. SQLSTATE=51002

Depois de receber esse erro, você deverá vincular pacotes do cliente do Db2 antigo a uma versão do servidor do Db2 compatível com o RDS para Db2.

Como vincular pacotes de um cliente do Db2 mais antigo a um servidor do Db2 mais recente
  1. Localize os arquivos de vinculação na máquina cliente. Normalmente, esses arquivos estão localizados no diretório bnd do caminho de instalação do cliente do Db2 e têm a extensão .bnd.

  2. Conecte-se ao servidor do Db2. No exemplo a seguir, substitua database_name pelo nome do servidor do Db2. Substitua master_username e master_password por suas informações. Esse usuário tem autoridade DBADM.

    db2 connect to database_name user master_username using master_password
  3. Execute o comando bind para vincular os pacotes.

    1. Navegue até o diretório onde estão os arquivos de vinculação na máquina cliente.

    2. Execute o comando bind para cada arquivo.

      São necessárias as seguintes opções:

      • blocking all: vincula todos os pacotes no arquivo de associação em uma única solicitação de banco de dados.

      • grant public: concede permissão a public para executar o pacote.

      • sqlerror continue: especifica que o processo bind continue mesmo se ocorrerem erros.

      Para ter mais informações sobre o comando bind, consulte BIND command na documentação do IBM Db2.

  4. Verifique se a associação foi bem-sucedida consultando a visualização do catálogo syscat.package ou verificando a mensagem exibida após o comando bind.

Para ter mais informações, consulte DB2 v11.5 Bind File and Package Name List em IBM Support.