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á.
Migrando do Oracle Database para o Amazon RDS for Oracle com AWS Schema Conversion Tool
Algumas coisas a considerar ao migrar o esquema e o código da Oracle para a Amazon RDS for 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 DATAPUMP utilitário e assim por diante.
-
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. A 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 na AmazonRDS, chamadaDBA, 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 DBA função em uma RDS instância de banco de dados Amazon 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 for Oracle, incluindo filtragem avançada e privilégios de coluna.
-
-
AWS SCT suporta a conversão de trabalhos da Oracle em trabalhos que podem ser executados na Amazon RDS for Oracle. Há algumas limitações à conversão, incluindo as seguintes:
-
Trabalhos executáveis não são suportados.
-
Não há suporte para trabalhos de agendamento que usam o tipo de ANYDATA dados como argumento.
-
-
O Oracle Real Application Clusters (RAC) One Node é uma opção para o Oracle Database Enterprise Edition que foi introduzido com o Oracle Database 11g Release 2. O Amazon RDS for Oracle não oferece suporte ao RAC recurso. Para obter alta disponibilidade, use o Amazon RDS Multi-AZ.
Em uma implantação Multi-AZ, a Amazon provisiona e mantém RDS automaticamente uma réplica síncrona em espera em uma zona de disponibilidade diferente. 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 congelamentos de E/S e minimiza picos de latência durante backups do sistema.
-
O Oracle Spatial fornece um SQL esquema 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 fornece recursos que normalmente são necessários para oferecer suporte a aplicativos baseados em serviços de Internet e sem fio e soluções baseadas em parceiros. GIS O Oracle Locator é um subconjunto limitado do Oracle Spatial.
Para usar os recursos do Oracle Spatial e do Oracle Locator, adicione a SPATIAL opção ou LOCATOR opção (mutuamente exclusiva) ao grupo de opções da sua 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 Amazon RDS for 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 dentro de 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.
-
A instância deve ter a opção Atualização de versão do Auto Minor habilitada. A Amazon RDS atualiza sua instância de banco de dados para o Oracle mais recente PSU se houver vulnerabilidades de segurança com uma CVSS pontuação de mais de 9 ou outras vulnerabilidades de segurança anunciadas. Para obter mais informações, consulte
-
Se sua instância de banco de dados for a versão 11.2.0.4.v10 ou superior, você deverá instalar a opção. XMLDB Para obter mais informações, consulte
-
Você deve ter uma licença do Oracle Spatial da Oracle. Para obter mais informações, consulte Oracle Spatial and Graph
na documentação da Oracle.
-
-
O Data Guard é incluído com o Oracle Database Enterprise Edition. Para alta disponibilidade, use o recurso Amazon RDS Multi-AZ.
Em uma implantação Multi-AZ, a Amazon provisiona e mantém RDS automaticamente uma réplica síncrona em espera em uma zona de disponibilidade diferente. 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 congelamentos de E/S e minimiza picos de latência durante backups do sistema.
-
AWS SCT suporta a conversão de SCHEDULER objetos Oracle DBMS _ ao migrar para a Amazon RDS para Oracle. O relatório AWS SCT de avaliação indica se um objeto de cronograma pode ser convertido. Para obter mais informações sobre o uso de objetos de agendamento com a AmazonRDS, consulte a RDSdocumentação da Amazon.
-
Para conversões de Oracle RDS para Amazon for Oracle, há suporte para DB Links. 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 SQL instruções para se referir a tabelas, visualizações e SQL objetos PL/ no outro banco de dados. Para usar um link de banco de dados, anexe
@dblink
à tabela, exibição ou nome do objeto PL/SQL. Você pode consultar uma tabela ou exibição em outro banco de dados com a SELECT instrução. Para obter mais informações sobre como usar links do banco de dados Oracle, consulte a Documentação do Oracle. Para obter mais informações sobre o uso de links de banco de dados com a AmazonRDS, consulte a RDSdocumentação da Amazon.
-
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 Oracle não suportados, como Real Application Clusters, que a 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 RDS para a Oracle como alvo
Para migrar para a Amazon RDS for 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 BYyour_password
; -- System privileges GRANT DROP ANY CUBE BUILD PROCESS TOuser_name
; GRANT ALTER ANY CUBE TOuser_name
; GRANT CREATE ANY CUBE DIMENSION TOuser_name
; GRANT CREATE ANY ASSEMBLY TOuser_name
; GRANT ALTER ANY RULE TOuser_name
; GRANT SELECT ANY DICTIONARY TOuser_name
; GRANT ALTER ANY DIMENSION TOuser_name
; GRANT CREATE ANY DIMENSION TOuser_name
; GRANT ALTER ANY TYPE TOuser_name
; GRANT DROP ANY TRIGGER TOuser_name
; GRANT CREATE ANY VIEW TOuser_name
; GRANT ALTER ANY CUBE BUILD PROCESS TOuser_name
; GRANT CREATE ANY CREDENTIAL TOuser_name
; GRANT DROP ANY CUBE DIMENSION TOuser_name
; GRANT DROP ANY ASSEMBLY TOuser_name
; GRANT DROP ANY PROCEDURE TOuser_name
; GRANT ALTER ANY PROCEDURE TOuser_name
; GRANT ALTER ANY SQL TRANSLATION PROFILE TOuser_name
; GRANT DROP ANY MEASURE FOLDER TOuser_name
; GRANT CREATE ANY MEASURE FOLDER TOuser_name
; GRANT DROP ANY CUBE TOuser_name
; GRANT DROP ANY MINING MODEL TOuser_name
; GRANT CREATE ANY MINING MODEL TOuser_name
; GRANT DROP ANY EDITION TOuser_name
; GRANT CREATE ANY EVALUATION CONTEXT TOuser_name
; GRANT DROP ANY DIMENSION TOuser_name
; GRANT ALTER ANY INDEXTYPE TOuser_name
; GRANT DROP ANY TYPE TOuser_name
; GRANT CREATE ANY PROCEDURE TOuser_name
; GRANT CREATE ANY SQL TRANSLATION PROFILE TOuser_name
; GRANT CREATE ANY CUBE TOuser_name
; GRANT COMMENT ANY MINING MODEL TOuser_name
; GRANT ALTER ANY MINING MODEL TOuser_name
; GRANT DROP ANY SQL PROFILE TOuser_name
; GRANT CREATE ANY JOB TOuser_name
; GRANT DROP ANY EVALUATION CONTEXT TOuser_name
; GRANT ALTER ANY EVALUATION CONTEXT TOuser_name
; GRANT CREATE ANY INDEXTYPE TOuser_name
; GRANT CREATE ANY OPERATOR TOuser_name
; GRANT CREATE ANY TRIGGER TOuser_name
; GRANT DROP ANY ROLE TOuser_name
; GRANT DROP ANY SEQUENCE TOuser_name
; GRANT DROP ANY CLUSTER TOuser_name
; GRANT DROP ANY SQL TRANSLATION PROFILE TOuser_name
; GRANT ALTER ANY ASSEMBLY TOuser_name
; GRANT CREATE ANY RULE SET TOuser_name
; GRANT ALTER ANY OUTLINE TOuser_name
; GRANT UNDER ANY TYPE TOuser_name
; GRANT CREATE ANY TYPE TOuser_name
; GRANT DROP ANY MATERIALIZED VIEW TOuser_name
; GRANT ALTER ANY ROLE TOuser_name
; GRANT DROP ANY VIEW TOuser_name
; GRANT ALTER ANY INDEX TOuser_name
; GRANT COMMENT ANY TABLE TOuser_name
; GRANT CREATE ANY TABLE TOuser_name
; GRANT CREATE USER TOuser_name
; GRANT DROP ANY RULE SET TOuser_name
; GRANT CREATE ANY CONTEXT TOuser_name
; GRANT DROP ANY INDEXTYPE TOuser_name
; GRANT ALTER ANY OPERATOR TOuser_name
; GRANT CREATE ANY MATERIALIZED VIEW TOuser_name
; GRANT ALTER ANY SEQUENCE TOuser_name
; GRANT DROP ANY SYNONYM TOuser_name
; GRANT CREATE ANY SYNONYM TOuser_name
; GRANT DROP USER TOuser_name
; GRANT ALTER ANY MEASURE FOLDER TOuser_name
; GRANT ALTER ANY EDITION TOuser_name
; GRANT DROP ANY RULE TOuser_name
; GRANT CREATE ANY RULE TOuser_name
; GRANT ALTER ANY RULE SET TOuser_name
; GRANT CREATE ANY OUTLINE TOuser_name
; GRANT UNDER ANY TABLE TOuser_name
; GRANT UNDER ANY VIEW TOuser_name
; GRANT DROP ANY DIRECTORY TOuser_name
; GRANT ALTER ANY CLUSTER TOuser_name
; GRANT CREATE ANY CLUSTER TOuser_name
; GRANT ALTER ANY TABLE TOuser_name
; GRANT CREATE ANY CUBE BUILD PROCESS TOuser_name
; GRANT ALTER ANY CUBE DIMENSION TOuser_name
; GRANT CREATE ANY EDITION TOuser_name
; GRANT CREATE ANY SQL PROFILE TOuser_name
; GRANT ALTER ANY SQL PROFILE TOuser_name
; GRANT DROP ANY OUTLINE TOuser_name
; GRANT DROP ANY CONTEXT TOuser_name
; GRANT DROP ANY OPERATOR TOuser_name
; GRANT DROP ANY LIBRARY TOuser_name
; GRANT ALTER ANY LIBRARY TOuser_name
; GRANT CREATE ANY LIBRARY TOuser_name
; GRANT ALTER ANY MATERIALIZED VIEW TOuser_name
; GRANT ALTER ANY TRIGGER TOuser_name
; GRANT CREATE ANY SEQUENCE TOuser_name
; GRANT DROP ANY INDEX TOuser_name
; GRANT CREATE ANY INDEX TOuser_name
; GRANT DROP ANY TABLE TOuser_name
; GRANT SELECT_CATALOG_ROLE TOuser_name
; GRANT SELECT ANY SEQUENCE TOuser_name
; -- Database Links GRANT CREATE DATABASE LINK TOuser_name
; GRANT CREATE PUBLIC DATABASE LINK TOuser_name
; GRANT DROP PUBLIC DATABASE LINK TOuser_name
; -- Server Level Objects (directory) GRANT CREATE ANY DIRECTORY TOuser_name
; GRANT DROP ANY DIRECTORY TOuser_name
; -- (for RDS only) GRANT EXECUTE ON RDSADMIN.RDSADMIN_UTIL TOuser_name
; -- Server Level Objects (tablespace) GRANT CREATE TABLESPACE TOuser_name
; GRANT DROP TABLESPACE TOuser_name
; -- Server Level Objects (user roles) /* (grant source privileges with admin option or convert roles/privs as DBA) */ -- Queues grant execute on DBMS_AQADM touser_name
; grant aq_administrator_role touser_name
; -- for Materialized View Logs creation GRANT SELECT ANY TABLE TOuser_name
; -- Roles GRANT RESOURCE TOuser_name
; GRANT CONNECT TOuser_name
;
No exemplo anterior, substitua user_name
com o nome do seu usuário. Em seguida, substitua your_password
com uma senha segura.
Limitações ao converter Oracle em Amazon RDS para Oracle
Algumas limitações que você deve considerar ao migrar o esquema e o código da Oracle para a Amazon RDS for Oracle:
Uma função predefinida na AmazonRDS, chamadaDBA, 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 DBA função em uma RDS instância de banco de dados Amazon 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 RDS usuário Oracle.
-
-
O Amazon RDS for Oracle oferece suporte à auditoria tradicional, à auditoria refinada usando o FGA pacote DBMS _ e ao Oracle Unified Auditing.
-
O Amazon RDS for Oracle não oferece suporte à captura de dados de alteração (CDC). Para fazer CDC durante e depois de uma migração de banco de dados, use AWS Database Migration Service.