Como usar o IBM Db2 para z/OS como origem para AWS SCT - AWS Schema Conversion Tool

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como usar o IBM Db2 para z/OS como origem para AWS SCT

Você pode usar AWS SCT para converter esquemas, objetos de código e o código de aplicativo do IBM Db2 para z/OS para os seguintes destinos:

  • Amazon RDS para MySQL

  • Amazon Aurora Edição Compatível com MySQL

  • Amazon RDS para PostgreSQL

  • Amazon Aurora Edição Compatível com PostgreSQL

Pré-requisitos para o Db2 para z/OS como banco de dados de origem

A versão do banco de dados de nível de função 100 do IBM Db2 para z/OS versão 12 não suporta a maioria dos novos recursos do IBM Db2 para z/OS versão 12. Essa versão do banco de dados fornece suporte para fallback para o Db2 versão 11 e compartilhamento de dados com o Db2 versão 11. Para evitar a conversão de recursos não suportados do Db2 versão 11, recomendamos que você use uma função de banco de dados IBM Db2 para z/OS de nível 500 ou superior como origem para AWS SCT.

Você pode usar o exemplo de código a seguir para verificar a versão do seu banco de dados IBM Db2 para z/OS de origem.

SELECT GETVARIABLE('SYSIBM.VERSION') as version FROM SYSIBM.SYSDUMMY1;

Certifique-se de que esse código retorne uma versão DSN12015 ou superior.

Você pode usar o exemplo de código a seguir para verificar o valor do registro especial APPLICATION COMPATIBILITY em seu banco de dados IBM Db2 para z/OS de origem.

SELECT CURRENT APPLICATION COMPATIBILITY as version FROM SYSIBM.SYSDUMMY1;

Certifique-se de que esse código retorne uma versão V12R1M500 ou superior.

Privilégios do Db2 para z/OS como um banco de dados de origem

Os privilégios necessários para se conectar a um banco de dados Db2 para z/OS e ler catálogos e tabelas do sistema são os seguintes:

  • SELECT ON SYSIBM.LOCATIONS

  • SELECT ON SYSIBM.SYSCHECKS

  • SELECT ON SYSIBM.SYSCOLUMNS

  • SELECT ON SYSIBM.SYSDATABASE

  • SELECT ON SYSIBM.SYSDATATYPES

  • SELECT ON SYSIBM.SYSDUMMY1

  • SELECT ON SYSIBM.SYSFOREIGNKEYS

  • SELECT ON SYSIBM.SYSINDEXES

  • SELECT ON SYSIBM.SYSKEYCOLUSE

  • SELECT ON SYSIBM.SYSKEYS

  • SELECT ON SYSIBM.SYSKEYTARGETS

  • SELECT ON SYSIBM.SYSJAROBJECTS

  • SELECT ON SYSIBM.SYSPACKAGE

  • SELECT ON SYSIBM.SYSPARMS

  • SELECT ON SYSIBM.SYSRELS

  • SELECT ON SYSIBM.SYSROUTINES

  • SELECT ON SYSIBM.SYSSEQUENCES

  • SELECT ON SYSIBM.SYSSEQUENCESDEP

  • SELECT ON SYSIBM.SYSSYNONYMS

  • SELECT ON SYSIBM.SYSTABCONST

  • SELECT ON SYSIBM.SYSTABLES

  • SELECT ON SYSIBM.SYSTABLESPACE

  • SELECT ON SYSIBM.SYSTRIGGERS

  • SELECT ON SYSIBM.SYSVARIABLES

  • SELECT ON SYSIBM.SYSVIEWS

Para converter tabelas do Db2 para z/OS em tabelas particionadas do PostgreSQL, reúna estatísticas sobre espaços de tabela e tabelas em seu banco de dados usando o utilitário RUNSTATS, conforme mostrado a seguir.

LISTDEF YOURLIST INCLUDE TABLESPACES DATABASE YOURDB RUNSTATS TABLESPACE LIST YOURLIST TABLE (ALL) INDEX (ALL KEYCARD) UPDATE ALL REPORT YES SHRLEVEL REFERENCE

No exemplo anterior, substitua o espaço reservado YOURDB pelo nome do banco de dados de origem.

Como se conectar ao Db2 para z/OS como origem

Use o procedimento a seguir para conectar seu banco de dados Db2 para z/OS de origem com AWS SCT.

Para se conectar a um banco de dados IBM Db2 para z/OS de origem
  1. Na AWS Schema Conversion Tool, escolha Adicionar origem.

  2. Escolha Db2 para z/OS e, em seguida, escolha Avançar.

    A caixa de diálogo Adicionar origem é exibida.

  3. Em Nome da conexão, insira um nome para o banco de dados. A AWS SCT exibe esse nome na árvore no painel esquerdo.

  4. Use as credenciais do banco de dados da AWS Secrets Manager ou insira-as manualmente:

    • Para usar as credenciais do banco de dados do Secrets Manager, use as instruções a seguir:

      1. Em Segredo da AWS, escolha o nome do seu segredo.

      2. Escolha Preencher para preencher automaticamente todos os valores na caixa de diálogo de conexão do banco de dados do Secrets Manager.

      Para obter informações sobre o uso de credenciais de banco de dados do Secrets Manager, consulte a Usar o AWS Secrets Manager.

    • Para inserir manualmente as informações de conexão do banco de dados de origem do IBM Db2 para z/OS, use as seguintes instruções:

      Parâmetro Ação
      Server name

      Digite o Sistema de Nomes de Domínio (DNS) ou o endereço IP do servidor de banco de dados de origem.

      Porta do servidor

      Digite a porta usada para se conectar ao servidor de banco de dados de origem.

      Local

      Insira o nome exclusivo da localização do Db2 que você deseja acessar.

      Nome de usuário e Senha

      Insira as credenciais do banco de dados para se conectar ao seu servidor de banco de dados de origem.

      A AWS SCT usa a senha para se conectar ao seu banco de dados de origem somente quando você escolhe se conectar ao seu banco de dados em um projeto. Para proteger-se contra a exposição da senha do banco de dados de origem, a AWS SCT não armazena a senha por padrão. Se fechar o projeto da AWS SCT e abri-lo novamente, você será solicitado a informar a senha para se conectar ao banco de dados de origem, conforme necessário.

      Usar SSL

      Escolha essa opção se você quiser usar Secure Sockets Layer (SSL) para se conectar ao banco de dados. Forneça as seguintes informações adicionais, conforme aplicável, na guia SSL:

      • Armazenamento de confiança: a localização de um armazenamento de confiança que contém certificados. Para que esse local apareça aqui, certifique-se de adicioná-lo nas configurações globais.

      Armazenar senha

      A AWS SCT cria um cofre seguro para armazenar certificados SSL e senhas do banco de dados. Ao habilitar essa opção, você pode armazenar a senha do banco de dados e se conectar rapidamente a ele sem a necessidade de informar a senha.

      Caminho do driver Db2 para z/OS

      Digite o caminho para o driver a ser usado para a conexão com o banco de dados de origem. Para obter mais informações, consulte Baixar os drivers de banco de dados necessários.

      Se você armazenar o caminho do driver nas configurações globais do projeto, o caminho do driver não aparecerá na caixa de diálogo de conexão. Para obter mais informações, consulte Armazenamento de caminhos do driver nas configurações globais.

  5. Escolha Testar conexão para verificar se a AWS SCT pode se conectar ao banco de dados de origem.

  6. Escolha Conectar para se conectar ao banco de dados de origem.

Privilégios do MySQL como um banco de dados de destino

Os privilégios obrigatórios para MySQL como destino são listados a seguir:

  • CREATE ON *.*

  • ALTER ON *.*

  • DROP ON *.*

  • INDEX ON *.*

  • REFERENCES ON *.*

  • SELECT ON *.*

  • CREATE VIEW ON *.*

  • SHOW VIEW ON *.*

  • TRIGGER ON *.*

  • CREATE ROUTINE ON *.*

  • ALTER ROUTINE ON *.*

  • EXECUTE ON *.*

  • SELECT ON mysql.proc

  • INSERT, UPDATE ON AWS_DB2ZOS_EXT.*

  • INSERT, UPDATE, DELETE ON AWS_DB2ZOS_EXT_DATA.*

  • CREATE TEMPORARY TABLES ON AWS_DB2ZOS_EXT_DATA.*

É possível utilizar o exemplo de código a seguir para criar um usuário do banco de dados e conceder os privilégios.

CREATE USER 'user_name' IDENTIFIED BY 'your_password'; GRANT CREATE ON *.* TO 'user_name'; GRANT ALTER ON *.* TO 'user_name'; GRANT DROP ON *.* TO 'user_name'; GRANT INDEX ON *.* TO 'user_name'; GRANT REFERENCES ON *.* TO 'user_name'; GRANT SELECT ON *.* TO 'user_name'; GRANT CREATE VIEW ON *.* TO 'user_name'; GRANT SHOW VIEW ON *.* TO 'user_name'; GRANT TRIGGER ON *.* TO 'user_name'; GRANT CREATE ROUTINE ON *.* TO 'user_name'; GRANT ALTER ROUTINE ON *.* TO 'user_name'; GRANT EXECUTE ON *.* TO 'user_name'; GRANT SELECT ON mysql.proc TO 'user_name'; GRANT INSERT, UPDATE ON AWS_DB2ZOS_EXT.* TO 'user_name'; GRANT INSERT, UPDATE, DELETE ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name'; GRANT CREATE TEMPORARY TABLES ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name';

No exemplo anterior, substitua user_name pelo nome do seu usuário. Em seguida, substitua your_password por uma senha segura.

Para usar o Amazon RDS para MySQL como destino, defina o parâmetro log_bin_trust_function_creators como verdadeiro e o character_set_server como latin1. Para configurar esses parâmetros, crie um novo grupo de parâmetros de banco de dados ou modifique um grupo de parâmetros de banco de dados existente.

Para usar o Aurora MySQL como destino, defina o parâmetro log_bin_trust_function_creators como verdadeiro e o character_set_server como latin1. Defina também o parâmetro lower_case_table_names como verdadeiro. Para configurar esses parâmetros, crie um novo grupo de parâmetros de banco de dados ou modifique um grupo de parâmetros de banco de dados existente.

Privilégios do PostgreSQL como um banco de dados de destino

Para usar o PostgreSQL como destino, a AWS SCT necessita do privilégio CREATE ON DATABASE. Certifique-se de conceder esse privilégio para cada banco de dados PostgreSQL de destino.

Para usar o Amazon RDS para PostgreSQL como destino, a AWS SCT necessita do privilégio rds_superuser.

Para usar os sinônimos públicos convertidos, altere o caminho de pesquisa padrão do banco de dados para "$user", public_synonyms, public.

É possível utilizar o exemplo de código a seguir para criar um usuário do banco de dados e conceder os privilégios.

CREATE ROLE user_name LOGIN PASSWORD 'your_password'; GRANT CREATE ON DATABASE db_name TO user_name; GRANT rds_superuser TO user_name; ALTER DATABASE db_name SET SEARCH_PATH = "$user", public_synonyms, public;

No exemplo anterior, substitua user_name pelo nome do seu usuário. Substitua, então, db_name pelo nome do banco de dados de destino. Por fim, substitua your_password por uma senha segura.

No PostgreSQL, apenas o proprietário do esquema ou um superuser pode descartar um esquema. O proprietário pode descartar um esquema e todos os objetos incluídos nesse esquema, mesmo que o proprietário do esquema não possua alguns de seus objetos.

Ao usar usuários diferentes para converter e aplicar esquemas diferentes ao banco de dados de destino, você pode receber uma mensagem de erro quando AWS SCT não consegue descartar um esquema. Para evitar essa mensagem de erro, use o perfil superuser.

Configurações de conversão do Db2 para z/OS para PostgreSQL

Para editar as configurações de conversão do Db2 para z/OS para PostgreSQL, escolha Configurações e, em seguida, escolha Configurações de conversão. Na lista superior, escolha Db2 para z/OS e, em seguida, escolha Db2 para z/OS — PostgreSQL ou Db2 para z/OS — Amazon Aurora (compatível com PostgreSQL). A AWS SCT exibe todas as configurações disponíveis para a conversão do IBM Db2 para z/OS para PostgreSQL.

As configurações de conversão do Db2 para z/OS para PostgreSQL em AWS SCT incluem opções para o seguinte:

  • Para limitar o número de comentários com itens de ação no código convertido.

    Em Adicionar comentários no código convertido para os itens de ação de severidade selecionada e superior, escolha a severidade dos itens de ação. A AWS SCT adiciona comentários no código convertido para itens de ação da severidade selecionada e superior.

    Por exemplo, para minimizar o número de comentários em seu código convertido, escolha Somente erros. Para incluir comentários para todos os itens de ação em seu código convertido, escolha Todas as mensagens.

  • Para gerar nomes exclusivos para restrições no banco de dados de destino.

    No PostgreSQL, todos os nomes de restrições que você usa devem ser exclusivos. A AWS SCT pode gerar nomes exclusivos para restrições no código convertido adicionando um prefixo com o nome da tabela ao nome da restrição. Para garantir que a AWS SCT gere nomes exclusivos para suas restrições, selecione Gerar nomes exclusivos para restrições.

  • Para manter a formatação de nomes de colunas, expressões e cláusulas em instruções DML no código convertido.

    A AWS SCT pode manter o layout dos nomes das colunas, expressões e cláusulas nas instruções DML na posição e ordem semelhantes às do código-fonte. Para fazer isso, selecione Sim para Manter a formatação de nomes de colunas, expressões e cláusulas em instruções DML.

  • Para excluir partições de tabela do escopo de conversão.

    A AWS SCT pode ignorar todas as partições de uma tabela de origem durante a conversão. Para fazer isso, selecione Excluir partições de tabela do escopo de conversão.

  • Para usar o particionamento automático para tabelas que são particionadas por crescimento.

    Para migração de dados, a AWS SCT pode particionar automaticamente todas as tabelas maiores que o tamanho especificado. Para usar essa opção, selecione Aplicar partição de tabelas maiores que e insira o tamanho das tabelas em gigabytes. Em seguida, insira o número de partições. A AWS SCT considera o tamanho do dispositivo de armazenamento de acesso direto (DASD) do seu banco de dados de origem quando você ativa essa opção.

    A AWS SCT pode determinar o número de partições automaticamente. Para fazer isso, selecione Aumentar o número de partições proporcionalmente e insira o número máximo de partições.

  • Para retornar conjuntos de resultados dinâmicos como uma matriz de valores do tipo de dados refcursor.

    A AWS SCT pode converter procedimentos de origem que retornam conjuntos de resultados dinâmicos em procedimentos que têm uma matriz de refcursors abertos como um parâmetro de saída adicional. Para fazer isso, selecione Usar uma matriz de refcursors para retornar todos os conjuntos de resultados dinâmicos.

  • Para especificar o padrão a ser usado para a conversão de valores de data e hora em representações de string.

    A AWS SCT pode converter valores de data e hora em representações de string usando um dos formatos do setor suportados. Para fazer isso, selecione Usar representações de string de valores de data ou Usar representações de string de valores de tempo. Em seguida, escolha um dos padrões a seguir.

    • Organização Internacional de Normalização (ISO)

    • Padrão Europeu IBM (EUR)

    • Padrão Norte-Americano IBM (EUA)

    • Padrão Industrial Japonês da Era Cristã (JIS)