

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á.

# Conectando-se à IBM DB2 para z/OS bancos de dados com o AWS Schema Conversion Tool
<a name="CHAP_Source.DB2zOS"></a>

Você pode usar AWS SCT para converter esquemas, objetos de código e código de aplicativo do IBM Db2 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 for como banco de dados de origem z/OS
<a name="CHAP_Source.DB2zOS.Prerequisites"></a>

A z/OS versão do banco de dados de nível 100 de funções do IBM Db2 para versão 12 não suporta a maioria dos novos recursos do IBM Db2 para a 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 um IBM Db2 para função de z/OS banco de dados de nível 500 ou superior como fonte para. AWS SCT

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

```
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 `APPLICATION COMPATIBILITY` especial em seu z/OS banco de dados IBM Db2 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 z/OS como banco de dados de origem
<a name="CHAP_Source.DB2zOS.Permissions"></a>

Os privilégios necessários para se conectar a um z/OS banco de dados do Db2 for 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
+ SELECIONE NO SISTEMA. 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 o Db2 for z/OS tables em tabelas particionadas do PostgreSQL, reúna estatísticas sobre tablespaces e tabelas em seu banco de dados usando o utilitário, conforme mostrado a seguir. `RUNSTATS`

```
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.

## Conectando-se ao Db2 z/OS como fonte
<a name="CHAP_Source.DB2zOS.Connecting"></a>

Use o procedimento a seguir para se conectar ao seu banco de dados do Db2 for z/OS source com AWS SCT.

**Para se conectar a um IBM Db2 para banco de dados z/OS de origem**

1. No AWS Schema Conversion Tool, escolha **Adicionar fonte**.

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

   A caixa de diálogo **Adicionar origem** é exibida.

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

1. Use as credenciais do banco de dados 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.

     1. 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 [Configurando AWS Secrets Manager no AWS Schema Conversion Tool](CHAP_UserInterface.SecretsManager.md).
   + Para inserir manualmente as informações de conexão do banco de dados de z/OS origem do IBM Db2 for source, use as seguintes instruções:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/SchemaConversionTool/latest/userguide/CHAP_Source.DB2zOS.html)

1. Escolha **Testar conexão** para verificar se AWS SCT pode se conectar ao seu banco de dados de origem.

1. Escolha **Conectar** para se conectar ao banco de dados de origem.

## Privilégios do MySQL como um banco de dados de destino
<a name="CHAP_Source.DB2zOS.ConfigureMySQL"></a>

Os privilégios obrigatórios para MySQL como destino são listados a seguir:
+ CREATE ON \$1.\$1
+ ALTER ON \$1.\$1
+ DROP ON \$1.\$1
+ INDEX ON \$1.\$1
+ REFERENCES ON \$1.\$1
+ SELECT ON \$1.\$1
+ CREATE VIEW ON \$1.\$1
+ SHOW VIEW ON \$1.\$1
+ TRIGGER ON \$1.\$1
+ CREATE ROUTINE ON \$1.\$1
+ ALTER ROUTINE ON \$1.\$1
+ EXECUTE ON \$1.\$1
+ SELECT ON mysql.proc
+ INSIRA E ATUALIZE EM AWS\$1DB 2ZOS\$1EXT. \$1
+ INSIRA, ATUALIZE E EXCLUA NO AWS\$1DB 2ZOS\$1EXT\$1DATA. \$1
+ CRIE TABELAS TEMPORÁRIAS EM AWS\$1DB 2ZOS\$1EXT\$1DATA. \$1

É 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, *user\$1name* substitua pelo nome do seu usuário. Em seguida, *your\$1password* substitua 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
<a name="CHAP_Source.DB2zOS.ConfigurePostgreSQL"></a>

Para usar o PostgreSQL como destino AWS SCT , é necessário o 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 for PostgreSQL como destino, é necessário o privilégio. AWS SCT `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, *user\$1name* substitua pelo nome do seu usuário. Em seguida, *db\$1name* substitua pelo nome do seu banco de dados de destino. Por fim, *your\$1password* substitua 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 não AWS SCT consegue descartar um esquema. Para evitar essa mensagem de erro, use o perfil `superuser`. 

## Configurações de conversão do Db2 for z/OS para PostgreSQL
<a name="CHAP_Source.DB2zOS.PostgreSQLConversionSettings"></a>

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

As configurações de conversão do Db2 for z/OS para PostgreSQL incluem opções para o AWS SCT 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. 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.

  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.

  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, 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. 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.

  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.

  AWS SCT pode converter procedimentos de origem que retornam conjuntos de resultados dinâmicos em procedimentos que têm uma matriz de refcursores 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.

  AWS SCT pode converter valores de data e hora em representações de seqüências de caracteres 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)