

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

# Migração do banco de dados Oracle para o Amazon RDS for Oracle com AWS Schema Conversion Tool
<a name="CHAP_Source.Oracle.ToRDSOracle"></a>

Há alguns aspectos a serem considerados ao migrar o esquema e o código do Oracle para o Amazon RDS para Oracle: 
+ AWS SCT pode adicionar objetos de diretório à árvore de objetos. Os *objetos do diretório* são estruturas lógicas que representam um diretório físico no sistema de arquivos do servidor. Você pode usar objetos de diretório com pacotes, como DBMS\_LOB, UTL\_FILE, DBMS\_FILE\_TRANSFER, o utilitário DATAPUMP, etc.
+ AWS SCT suporta a conversão de espaços de tabela Oracle em uma instância de banco de dados Amazon RDS for Oracle. O Oracle armazena dados logicamente em tablespaces e fisicamente em arquivos de dados associados ao tablespace correspondente. No Oracle é possível criar tablespace com nomes de arquivo de dados. O Amazon RDS oferece suporte ao Oracle Managed Files (OMF) somente para arquivos de dados, arquivos de log e arquivos de controle. AWS SCT cria os arquivos de dados necessários durante a conversão.
+ AWS SCT pode converter funções e privilégios em nível de servidor. O mecanismo de banco de dados Oracle usa a segurança baseada em funções. Uma função é uma coleção de privilégios que podem ser concedidos ou revogados de um usuário. Uma função predefinida no Amazon RDS, chamada de administrador de banco de dados, normalmente permite todos os privilégios administrativos em um mecanismo de banco de dados Oracle. Os seguintes privilégios não estão disponíveis para a função DBA em uma instância de banco de dados do Amazon RDS usando o mecanismo Oracle:
  + Alter database
  + Alterar o sistema
  + Criar qualquer diretório
  + Conceder qualquer privilégio
  + Conceder qualquer função
  + Criar trabalho externo

  Você pode conceder todos os outros privilégios a uma função de usuário do Amazon RDS para Oracle, incluindo filtragem avançada e privilégios de coluna.
+ AWS SCT suporta a conversão de trabalhos Oracle em trabalhos que podem ser executados no Amazon RDS for Oracle. Há algumas limitações à conversão, incluindo as seguintes:
  + Trabalhos executáveis não são suportados.
  + Trabalhos de programação que usam o tipo de dados ANYDATA como argumento não são suportados.
+ O Oracle Real Application Clusters (RAC) One Node é uma opção ao Oracle Database Enterprise Edition que foi introduzida com o Oracle Database 11g Release 2. O Amazon RDS para Oracle não é compatível com o atributo RAC. Para obter alta disponibilidade, use o Multi-AZ do Amazon RDS. 

  Em uma implantação Multi-AZ, o Amazon RDS automaticamente provisiona e mantém uma réplica em espera síncrona em outra Zona de disponibilidade. A instância de banco de dados primária é sincronicamente replicada ao longo das zonas de disponibilidade para uma réplica em espera. Essa funcionalidade fornece redundância de dados, elimina I/O congelamentos e minimiza os picos de latência durante os backups do sistema.
+ O Oracle Spatial fornece um esquema SQL e funções que facilitam o armazenamento, a recuperação, a atualização e a consulta de coleções de dados espaciais em um banco de dados Oracle. O Oracle Locator oferece recursos normalmente obrigatórios para dar suporte à Internet e a aplicativos baseados em serviço sem fio além de soluções GIS baseadas no parceiro. O Oracle Locator é um subconjunto limitado do Oracle Spatial.

  Para usar os recursos do Oracle Spatial e do Oracle Locator, adicione a opção SPATIAL ou LOCATOR (mutuamente exclusivas) ao grupo de opções da instância de banco de dados.

  Há alguns pré-requisitos para usar o Oracle Spatial e o Oracle Locator em uma instância de banco de dados do Amazon RDS para Oracle:
  + A instância deve usar o Oracle Enterprise Edition versão 12.1.0.2.v6 ou posterior ou 11.2.0.4.v10 ou posterior.
  + A instância deve estar em uma nuvem privada virtual (VPC).
  + A instância deve ser a classe de instância de banco de dados que pode oferecer suporte ao recurso da Oracle. Por exemplo, o Oracle Spatial não é compatível com as classes de instância de banco de dados db.m1.small, db.t1.micro, db.t2.micro ou db.t2.small. Para obter mais informações, consulte [Suporte a classes de instância de banco de dados para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html#Oracle.Concepts.InstanceClasses).
  + A instância deve ter a opção Atualização de versão do Auto Minor habilitada. O Amazon RDS atualizará a instância de banco de dados para o Oracle PSU mais recente se houver vulnerabilidades de segurança com uma pontuação CVSS de 9 ou mais ou outras vulnerabilidades de segurança anunciadas. Para obter mais informações, consulte . 

    [Configurações para instâncias de banco de dados do Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.Oracle.html#USER_ModifyInstance.Oracle.Settings).
  + Se a instância de banco de dados for a versão 11.2.0.4 .v10 ou posterior, você deverá instalar a opção XMLDB. Para obter mais informações, consulte .

    [Oracle XML DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.XMLDB.html).
  + Você deve ter uma licença do Oracle Spatial da Oracle. Para obter mais informações, consulte [Oracle Spatial and Graph](https://shop.oracle.com/apex/product?p1=OracleSpatialandGraph) na documentação da Oracle.
+ O Data Guard é incluído com o Oracle Database Enterprise Edition. Para obter alta disponibilidade, use o atributo Multi-AZ do Amazon RDS. 

  Em uma implantação Multi-AZ, o Amazon RDS automaticamente provisiona e mantém uma réplica em espera síncrona em outra Zona de disponibilidade. A instância de banco de dados primária é sincronicamente replicada ao longo das zonas de disponibilidade para uma réplica em espera. Essa funcionalidade fornece redundância de dados, elimina I/O congelamentos e minimiza os picos de latência durante os backups do sistema.
+ AWS SCT suporta a conversão de objetos Oracle DBMS\_SCHEDULER ao migrar para o Amazon RDS for Oracle. O relatório AWS SCT de avaliação indica se um objeto de cronograma pode ser convertido. Para obter mais informações sobre como usar objetos de programação com o Amazon RDS, consulte a [Documentação do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.System.html#Appendix.Oracle.CommonDBATasks.ModifyScheduler).
+ Para conversões o Oracle para Amazon RDS para Oracle, os links de banco de dados são compatíveis. Um link de banco de dados é um objeto de esquema em um banco de dados que permite acessar objetos em outro banco de dados. O outro banco de dados não precisa ser um banco de dados Oracle. No entanto, para acessar bancos de dados que não sejam Oracle, é necessário usar o Oracle Heterogeneous Services.

  Depois de criar um link de banco de dados, você pode usar o link nas instruções SQL para se referir a tabelas, exibições e PL/SQL objetos no outro banco de dados. Para usar um link de banco de dados, anexe `@dblink` à tabela, exibição ou nome do PL/SQL objeto. Você pode consultar uma tabela ou visualização em outro banco de dados com a instrução SELECT. Para obter mais informações sobre como usar links do banco de dados Oracle, consulte a [Documentação do Oracle](https://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_concepts002.htm#ADMIN12083).

  Para obter mais informações sobre como usar links do banco de dados com o Amazon RDS, consulte a [Documentação do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.Database.html#Appendix.Oracle.CommonDBATasks.DBLinks).
+ O relatório de AWS SCT avaliação fornece métricas do servidor para a conversão. Essas métricas sobre sua instância da Oracle incluem:
  + Capacidade de computação e memória da instância de banco de dados de destino.
  + Recursos da Oracle sem suporte, como o Real Application Clusters, aos quais o Amazon RDS não oferece suporte.
  + Carga de leitura/gravação de disco
  + Taxa de throughput total
  + Informações do servidor, como nome do servidor, sistema operacional, nome do host e conjunto de caracteres.

## Privilégios para RDS para Oracle como destino
<a name="CHAP_Source.Oracle.ToRDSOracle.ConfigureTarget"></a>

Para migrar para o Amazon RDS para Oracle, crie um usuário de banco de dados privilegiado. Você pode usar o exemplo de código a seguir.

```
CREATE USER {{user_name}} IDENTIFIED BY {{your_password}};

-- System privileges
GRANT DROP ANY CUBE BUILD PROCESS TO {{user_name}};
GRANT ALTER ANY CUBE TO {{user_name}};
GRANT CREATE ANY CUBE DIMENSION TO {{user_name}};
GRANT CREATE ANY ASSEMBLY TO {{user_name}};
GRANT ALTER ANY RULE TO {{user_name}};
GRANT SELECT ANY DICTIONARY TO {{user_name}};
GRANT ALTER ANY DIMENSION TO {{user_name}};
GRANT CREATE ANY DIMENSION TO {{user_name}};
GRANT ALTER ANY TYPE TO {{user_name}};
GRANT DROP ANY TRIGGER TO {{user_name}};
GRANT CREATE ANY VIEW TO {{user_name}};
GRANT ALTER ANY CUBE BUILD PROCESS TO {{user_name}};
GRANT CREATE ANY CREDENTIAL TO {{user_name}};
GRANT DROP ANY CUBE DIMENSION TO {{user_name}};
GRANT DROP ANY ASSEMBLY TO {{user_name}};
GRANT DROP ANY PROCEDURE TO {{user_name}};
GRANT ALTER ANY PROCEDURE TO {{user_name}};
GRANT ALTER ANY SQL TRANSLATION PROFILE TO {{user_name}};
GRANT DROP ANY MEASURE FOLDER TO {{user_name}};
GRANT CREATE ANY MEASURE FOLDER TO {{user_name}};
GRANT DROP ANY CUBE TO {{user_name}};
GRANT DROP ANY MINING MODEL TO {{user_name}};
GRANT CREATE ANY MINING MODEL TO {{user_name}};
GRANT DROP ANY EDITION TO {{user_name}};
GRANT CREATE ANY EVALUATION CONTEXT TO {{user_name}};
GRANT DROP ANY DIMENSION TO {{user_name}};
GRANT ALTER ANY INDEXTYPE TO {{user_name}};
GRANT DROP ANY TYPE TO {{user_name}};
GRANT CREATE ANY PROCEDURE TO {{user_name}};
GRANT CREATE ANY SQL TRANSLATION PROFILE TO {{user_name}};
GRANT CREATE ANY CUBE TO {{user_name}};
GRANT COMMENT ANY MINING MODEL TO {{user_name}};
GRANT ALTER ANY MINING MODEL TO {{user_name}};
GRANT DROP ANY SQL PROFILE TO {{user_name}};
GRANT CREATE ANY JOB TO {{user_name}};
GRANT DROP ANY EVALUATION CONTEXT TO {{user_name}};
GRANT ALTER ANY EVALUATION CONTEXT TO {{user_name}};
GRANT CREATE ANY INDEXTYPE TO {{user_name}};
GRANT CREATE ANY OPERATOR TO {{user_name}};
GRANT CREATE ANY TRIGGER TO {{user_name}};
GRANT DROP ANY ROLE TO {{user_name}};
GRANT DROP ANY SEQUENCE TO {{user_name}};
GRANT DROP ANY CLUSTER TO {{user_name}};
GRANT DROP ANY SQL TRANSLATION PROFILE TO {{user_name}};
GRANT ALTER ANY ASSEMBLY TO {{user_name}};
GRANT CREATE ANY RULE SET TO {{user_name}};
GRANT ALTER ANY OUTLINE TO {{user_name}};
GRANT UNDER ANY TYPE TO {{user_name}};
GRANT CREATE ANY TYPE TO {{user_name}};
GRANT DROP ANY MATERIALIZED VIEW TO {{user_name}};
GRANT ALTER ANY ROLE TO {{user_name}};
GRANT DROP ANY VIEW TO {{user_name}};
GRANT ALTER ANY INDEX TO {{user_name}};
GRANT COMMENT ANY TABLE TO {{user_name}};
GRANT CREATE ANY TABLE TO {{user_name}};
GRANT CREATE USER TO {{user_name}};
GRANT DROP ANY RULE SET TO {{user_name}};
GRANT CREATE ANY CONTEXT TO {{user_name}};
GRANT DROP ANY INDEXTYPE TO {{user_name}};
GRANT ALTER ANY OPERATOR TO {{user_name}};
GRANT CREATE ANY MATERIALIZED VIEW TO {{user_name}};
GRANT ALTER ANY SEQUENCE TO {{user_name}};
GRANT DROP ANY SYNONYM TO {{user_name}};
GRANT CREATE ANY SYNONYM TO {{user_name}};
GRANT DROP USER TO {{user_name}};
GRANT ALTER ANY MEASURE FOLDER TO {{user_name}};
GRANT ALTER ANY EDITION TO {{user_name}};
GRANT DROP ANY RULE TO {{user_name}};
GRANT CREATE ANY RULE TO {{user_name}};
GRANT ALTER ANY RULE SET TO {{user_name}};
GRANT CREATE ANY OUTLINE TO {{user_name}};
GRANT UNDER ANY TABLE TO {{user_name}};
GRANT UNDER ANY VIEW TO {{user_name}};
GRANT DROP ANY DIRECTORY TO {{user_name}};
GRANT ALTER ANY CLUSTER TO {{user_name}};
GRANT CREATE ANY CLUSTER TO {{user_name}};
GRANT ALTER ANY TABLE TO {{user_name}};
GRANT CREATE ANY CUBE BUILD PROCESS TO {{user_name}};
GRANT ALTER ANY CUBE DIMENSION TO {{user_name}};
GRANT CREATE ANY EDITION TO {{user_name}};
GRANT CREATE ANY SQL PROFILE TO {{user_name}};
GRANT ALTER ANY SQL PROFILE TO {{user_name}};
GRANT DROP ANY OUTLINE TO {{user_name}};
GRANT DROP ANY CONTEXT TO {{user_name}};
GRANT DROP ANY OPERATOR TO {{user_name}};
GRANT DROP ANY LIBRARY TO {{user_name}};
GRANT ALTER ANY LIBRARY TO {{user_name}};
GRANT CREATE ANY LIBRARY TO {{user_name}};
GRANT ALTER ANY MATERIALIZED VIEW TO {{user_name}};
GRANT ALTER ANY TRIGGER TO {{user_name}};
GRANT CREATE ANY SEQUENCE TO {{user_name}};
GRANT DROP ANY INDEX TO {{user_name}};
GRANT CREATE ANY INDEX TO {{user_name}};
GRANT DROP ANY TABLE TO {{user_name}};
GRANT SELECT_CATALOG_ROLE TO {{user_name}};
GRANT SELECT ANY SEQUENCE TO {{user_name}};

-- Database Links
GRANT CREATE DATABASE LINK TO {{user_name}};
GRANT CREATE PUBLIC DATABASE LINK TO {{user_name}};
GRANT DROP PUBLIC DATABASE LINK TO {{user_name}};


-- Server Level Objects (directory)
GRANT CREATE ANY DIRECTORY TO {{user_name}};
GRANT DROP ANY DIRECTORY TO {{user_name}};
-- (for RDS only)
GRANT EXECUTE ON RDSADMIN.RDSADMIN_UTIL TO {{user_name}};

-- Server Level Objects (tablespace)
GRANT CREATE TABLESPACE TO {{user_name}};
GRANT DROP TABLESPACE TO {{user_name}};

-- Server Level Objects (user roles)
/* (grant source privileges with admin option or convert roles/privs as DBA) */

-- Queues
grant execute on DBMS_AQADM to {{user_name}};
grant aq_administrator_role to {{user_name}};

-- for Materialized View Logs creation
GRANT SELECT ANY TABLE TO {{user_name}};

-- Roles
GRANT RESOURCE TO {{user_name}};
GRANT CONNECT TO {{user_name}};
```

No exemplo anterior, {{user\_name}} substitua pelo nome do seu usuário. Em seguida, {{your\_password}} substitua por uma senha segura.

## Limitações ao converter Oracle para Amazon RDS para Oracle
<a name="CHAP_Source.Oracle.ToRDSOracle.Limitations"></a>

Você deve considerar algumas limitações ao migrar o esquema e o código da Oracle para o Amazon RDS para Oracle: 
+  Uma função predefinida no Amazon RDS, chamada de administrador de banco de dados, normalmente permite todos os privilégios administrativos em um mecanismo de banco de dados Oracle. Os seguintes privilégios não estão disponíveis para a função DBA em uma instância de banco de dados do Amazon RDS usando o mecanismo Oracle:
  + Alter database
  + Alterar o sistema
  + Criar qualquer diretório
  + Conceder qualquer privilégio
  + Conceder qualquer função
  + Criar trabalho externo

  Você pode conceder todos os outros privilégios a uma função de usuário do Oracle RDS.
+ O Amazon RDS para Oracle oferece suporte a auditoria tradicional, auditoria de acesso refinado usando o pacote DBMS\_FGA e Oracle Unified Auditing.
+ O Amazon RDS para Oracle não oferece suporte à captura de dados de alterações (CDC). Para fazer o CDC durante e após a migração do banco de dados, use AWS Database Migration Service.