Preparando Seus Bancos de Dados para Migração
Para que você possa iniciar a migração de seus dados com o Oracle Cloud Infrastructure Database Migration Service, configure seus bancos de dados de origem e de destino conforme descrito aqui.
Preparação de Bancos de Dados Oracle para Migração
Prepare seus bancos de dados usando um dos seguintes métodos:
- Prepare seu banco de dados executando scripts gerados pelo utilitário de preparação de banco de dados (opção Recomendada).
- Configure manualmente os bancos de dados Oracle seguindo a documentação e executando os comandos SQL.
Preparando seus bancos de dados usando o utilitário de preparação de banco de dados:
- Consulte esta observação do MOS.
- Faça download do utilitário de preparação do banco de dados, que é um arquivo de script shell.
- Siga as instruções para continuar.
- Execute o script localmente.
- Aceita as entradas que são específicas à sua migração e gera um script SQL que você pode executar para seus bancos de dados de origem e destino.
- Analisa seus bancos de dados quanto a quaisquer configurações ou privilégios necessários ausentes.
- Verifica o status atual do banco de dados e fornece informações sobre as operações que serão executadas em seus bancos de dados.
- Gera um script final que executa as operações necessárias em seus bancos de dados para prepará-los para a migração.
Observação
- Você deve revisar e fazer as correções necessárias nos scripts gerados pelo utilitário de preparação do banco de dados antes de executá-los no banco de dados.
- Você deve executar o script do utilitário duas vezes, uma vez para o banco de dados de origem e depois para o banco de dados de destino.
Consequentemente, o script SQL de configuração prepara o banco de dados para migração.
Configurando manualmente seus bancos de dados para migração:
Preparando o Banco de Dados de Origem para Migração
Para que você possa migrar dados com o Oracle Cloud Infrastructure Database Migration, configure manualmente seu banco de dados de origem conforme descrito aqui.
- Para configurar um locatário único (Não CDB) como origem para migração, execute os seguintes comandos SQL:
-- Archive Log Mode
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
-- Global Names
ALTER SYSTEM SET GLOBAL_NAMES=FALSE;
-- Stream Pool Size
ALTER SYSTEM SET STREAMS_POOL_SIZE=256M;
-- Force Logging
ALTER DATABASE FORCE LOGGING;
-- Supplemental Logging
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
-- User system for Datapump
ALTER USER SYSTEM IDENTIFIED BY system_pwd ACCOUNT UNLOCK;
- Para configurar um CDB (multitenant) como uma origem para migração, execute os seguintes comandos SQL:
-- Connect to CDB and run:
-- Archive Log Mode
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
-- Global Names
ALTER SYSTEM SET GLOBAL_NAMES=FALSE;
-- Stream Pool Size
ALTER SYSTEM SET STREAMS_POOL_SIZE=256M SCOPE=BOTH;
-- Force Logging
ALTER DATABASE FORCE LOGGING;
-- Supplemental Logging
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
-- User system for Datapump
ALTER USER SYSTEM IDENTIFIED BY system_pwd ACCOUNT UNLOCK;
ALTER SESSION SET CONTAINER=PDB;
ALTER USER SYSTEM ACCOUNT UNLOCK;
- Para configurar o Amazon RDS (não CDB) como uma origem para migração, execute os seguintes comandos SQL:
-- Remember to set the following parameters thru the Parameter groups functionality: -- STREAMS_POOL_SIZE=2147483648 -- GLOBAL_NAMES=FALSE -- To see how Parameter groups work refer to https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/parameter-groups-overview.html -- Archive Log Mode EXEC RDSADMIN.RDSADMIN_UTIL.SET_CONFIGURATION('ARCHIVELOG RETENTION HOURS',72); -- Force Logging EXEC RDSADMIN.RDSADMIN_UTIL.FORCE_LOGGING(P_ENABLE => TRUE); -- Supplemental Logging EXEC RDSADMIN.RDSADMIN_UTIL.ALTER_SUPPLEMENTAL_LOGGING('ADD');
Configurações adicionais para preparar o banco de dados de origem para migração on-line
Para que você possa migrar dados com o Oracle Cloud Infrastructure Database Migration, execute configurações adicionais para seu banco de dados de origem para migração on-line, conforme descrito aqui.
- Para configurar um locatário único (Não CDB) como origem para migração on-line, execute os seguintes comandos SQL:
-- Archive Log Mode
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
-- Global Names
ALTER SYSTEM SET GLOBAL_NAMES=FALSE;
-- Stream Pool Size
ALTER SYSTEM SET STREAMS_POOL_SIZE=2G;
-- Force Logging
ALTER DATABASE FORCE LOGGING;
-- Enable GoldenGate
ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE;
-- Supplemental Logging
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
-- User system for Datapump
ALTER USER SYSTEM IDENTIFIED BY system_pwd ACCOUNT UNLOCK;
-- Create GoldenGate nonCDB user
CREATE TABLESPACE GG_ADMIN DATAFILE '+DATA/ggadmin_data.dbf' SIZE 100m AUTOEXTEND ON NEXT 100m;
CREATE USER GGADMIN IDENTIFIED BY ggadmin_pwd DEFAULT TABLESPACE GG_ADMIN TEMPORARY TABLESPACE TEMP QUOTA 100M ON GG_ADMIN;
GRANT CONNECT TO GGADMIN;
GRANT RESOURCE TO GGADMIN;
GRANT CREATE TO GGADMIN;
GRANT SELECT_CATALOG_ROLE TO GGADMIN;
GRANT DV_GOLDENGATE_ADMIN TO GGADMIN;
GRANT DV_GOLDENGATE_REDO_ACCESS TO GGADMIN;
GRANT ALTER SYSTEM TO GGADMIN;
GRANT ALTER USER TO GGADMIN;
GRANT DATAPUMP_EXP_FULL_DATABASE TO GGADMIN;
GRANT DATAPUMP_IMP_FULL_DATABASE TO GGADMIN;
GRANT SELECT ANY DICTIONARY TO GGADMIN;
GRANT SELECT ANY TRANSACTION TO GGADMIN;
GRANT INSERT ANY TABLE TO GGADMIN;
GRANT UPDATE ANY TABLE TO GGADMIN;
GRANT DELETE ANY TABLE TO GGADMIN;
GRANT LOCK ANY TABLE TO GGADMIN;
GRANT CREATE ANY TABLE TO GGADMIN;
GRANT CREATE ANY INDEX TO GGADMIN;
GRANT CREATE ANY CLUSTER TO GGADMIN;
GRANT CREATE ANY INDEXTYPE TO GGADMIN;
GRANT CREATE ANY OPERATOR TO GGADMIN;
GRANT CREATE ANY PROCEDURE TO GGADMIN;
GRANT CREATE ANY SEQUENCE TO GGADMIN;
GRANT CREATE ANY TRIGGER TO GGADMIN;
GRANT CREATE ANY TYPE TO GGADMIN;
GRANT CREATE ANY SEQUENCE TO GGADMIN;
GRANT CREATE ANY VIEW TO GGADMIN;
GRANT ALTER ANY TABLE TO GGADMIN;
GRANT ALTER ANY INDEX TO GGADMIN;
GRANT ALTER ANY CLUSTER TO GGADMIN;
GRANT ALTER ANY INDEXTYPE TO GGADMIN;
GRANT ALTER ANY OPERATOR TO GGADMIN;
GRANT ALTER ANY PROCEDURE TO GGADMIN;
GRANT ALTER ANY SEQUENCE TO GGADMIN;
GRANT ALTER ANY TRIGGER TO GGADMIN;
GRANT ALTER ANY TYPE TO GGADMIN;
GRANT ALTER ANY SEQUENCE TO GGADMIN;
GRANT CREATE DATABASE LINK TO GGADMIN;
GRANT EXECUTE ON dbms_lock TO GGADMIN;
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('GGADMIN');
- Para configurar um CDB (multitenant) como uma origem para migração on-line, execute os seguintes comandos SQL:
-- Connect to CDB and run:
-- Archive Log Mode
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
-- Global Names
ALTER SYSTEM SET GLOBAL_NAMES=FALSE;
-- Stream Pool Size
ALTER SYSTEM SET STREAMS_POOL_SIZE=2G SCOPE=BOTH;
-- Force Logging
ALTER DATABASE FORCE LOGGING;
-- Enable GoldenGate
ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE SCOPE=BOTH;
-- Supplemental Logging
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
-- User system for Datapump
ALTER USER SYSTEM IDENTIFIED BY system_pwd ACCOUNT UNLOCK CONTAINER=ALL;
-- Create GoldenGate users
-- CDB user
ALTER SESSION SET CONTAINER = CDB$ROOT;
CREATE USER C##GGADMIN IDENTIFIED BY cggadmin_pwd CONTAINER=ALL DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON USERS;
GRANT CONNECT TO C##GGADMIN CONTAINER=ALL;
GRANT RESOURCE TO C##GGADMIN CONTAINER=ALL;
GRANT CREATE TABLE TO C##GGADMIN CONTAINER=ALL;
GRANT CREATE VIEW TO C##GGADMIN CONTAINER=ALL;
GRANT CREATE SESSION TO C##GGADMIN CONTAINER=ALL;
GRANT SELECT_CATALOG_ROLE TO C##GGADMIN CONTAINER=ALL;
GRANT DV_GOLDENGATE_ADMIN TO C##GGADMIN CONTAINER=ALL;
GRANT DV_GOLDENGATE_REDO_ACCESS TO C##GGADMIN CONTAINER=ALL;
GRANT ALTER SYSTEM TO C##GGADMIN CONTAINER=ALL;
GRANT ALTER USER TO C##GGADMIN CONTAINER=ALL;
GRANT SELECT ANY DICTIONARY TO C##GGADMIN CONTAINER=ALL;
GRANT SELECT ANY TRANSACTION TO C##GGADMIN CONTAINER=ALL;
GRANT EXECUTE ON dbms_lock TO C##GGADMIN CONTAINER=ALL;
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('C##GGADMIN',CONTAINER=>'ALL');
-- PDB User
ALTER SESSION SET CONTAINER = v_pdb_name;
CREATE TABLESPACE GG_ADMIN DATAFILE '+DATA/ggadmin_data.dbf' SIZE 100m AUTOEXTEND ON NEXT 100m;
CREATE USER GGADMIN IDENTIFIED BY ggadmin_pwd CONTAINER=CURRENT DEFAULT TABLESPACE GG_ADMIN TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON GG_ADMIN;
GRANT CONNECT TO GGADMIN CONTAINER=CURRENT;
GRANT RESOURCE TO GGADMIN CONTAINER=CURRENT;
GRANT CREATE TO GGADMIN CONTAINER=CURRENT;
GRANT SELECT_CATALOG_ROLE TO GGADMIN CONTAINER=CURRENT;
GRANT DV_GOLDENGATE_ADMIN TO GGADMIN CONTAINER=CURRENT;
GRANT DV_GOLDENGATE_REDO_ACCESS TO GGADMIN CONTAINER=CURRENT;
GRANT ALTER SYSTEM TO GGADMIN CONTAINER=CURRENT;
GRANT ALTER USER TO GGADMIN CONTAINER=CURRENT;
GRANT DATAPUMP_EXP_FULL_DATABASE TO GGADMIN CONTAINER=CURRENT;
GRANT DATAPUMP_IMP_FULL_DATABASE TO GGADMIN CONTAINER=CURRENT;
GRANT SELECT ANY DICTIONARY TO GGADMIN CONTAINER=CURRENT;
GRANT SELECT ANY TRANSACTION TO GGADMIN CONTAINER=CURRENT;
GRANT INSERT ANY TABLE TO GGADMIN CONTAINER=CURRENT;
GRANT UPDATE ANY TABLE TO GGADMIN CONTAINER=CURRENT;
GRANT DELETE ANY TABLE TO GGADMIN CONTAINER=CURRENT;
GRANT LOCK ANY TABLE TO GGADMIN CONTAINER=CURRENT;
GRANT CREATE ANY TABLE TO GGADMIN CONTAINER=CURRENT;
GRANT CREATE ANY INDEX TO GGADMIN CONTAINER=CURRENT;
GRANT CREATE ANY CLUSTER TO GGADMIN CONTAINER=CURRENT;
GRANT CREATE ANY INDEXTYPE TO GGADMIN CONTAINER=CURRENT;
GRANT CREATE ANY OPERATOR TO GGADMIN CONTAINER=CURRENT;
GRANT CREATE ANY PROCEDURE TO GGADMIN CONTAINER=CURRENT;
GRANT CREATE ANY SEQUENCE TO GGADMIN CONTAINER=CURRENT;
GRANT CREATE ANY TRIGGER TO GGADMIN CONTAINER=CURRENT;
GRANT CREATE ANY TYPE TO GGADMIN CONTAINER=CURRENT;
GRANT CREATE ANY SEQUENCE TO GGADMIN CONTAINER=CURRENT;
GRANT CREATE ANY VIEW TO GGADMIN CONTAINER=CURRENT;
GRANT ALTER ANY TABLE TO GGADMIN CONTAINER=CURRENT;
GRANT ALTER ANY INDEX TO GGADMIN CONTAINER=CURRENT;
GRANT ALTER ANY CLUSTER TO GGADMIN CONTAINER=CURRENT;
GRANT ALTER ANY INDEXTYPE TO GGADMIN CONTAINER=CURRENT;
GRANT ALTER ANY OPERATOR TO GGADMIN CONTAINER=CURRENT;
GRANT ALTER ANY PROCEDURE TO GGADMIN CONTAINER=CURRENT;
GRANT ALTER ANY SEQUENCE TO GGADMIN CONTAINER=CURRENT;
GRANT ALTER ANY TRIGGER TO GGADMIN CONTAINER=CURRENT;
GRANT ALTER ANY TYPE TO GGADMIN CONTAINER=CURRENT;
GRANT ALTER ANY SEQUENCE TO GGADMIN CONTAINER=CURRENT;
GRANT CREATE DATABASE LINK TO GGADMIN CONTAINER=CURRENT;
GRANT EXECUTE ON dbms_lock TO GGADMIN CONTAINER=CURRENT;
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('GGADMIN',CONTAINER=>'CURRENT');
- Para configurar o Amazon RDS (não CDB) como uma origem para migração on-line, execute os seguintes comandos SQL:
-- Remember to set the following parameters thru the Parameter groups functionality: -- STREAMS_POOL_SIZE=2147483648 -- ENABLE_GOLDENGATE_REPLICATION=TRUE -- GLOBAL_NAMES=FALSE -- To see how Parameter groups work refer to https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/parameter-groups-overview.html -- Archive Log Mode EXEC RDSADMIN.RDSADMIN_UTIL.SET_CONFIGURATION('ARCHIVELOG RETENTION HOURS',72); -- Force Logging EXEC RDSADMIN.RDSADMIN_UTIL.FORCE_LOGGING(P_ENABLE => TRUE); -- Supplemental Logging EXEC RDSADMIN.RDSADMIN_UTIL.ALTER_SUPPLEMENTAL_LOGGING('ADD'); -- Create GoldenGate user CREATE USER GGADMIN IDENTIFIED BY ggadmin_pwd DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA 100M ON USERS; GRANT UNLIMITED TABLESPACE TO GGADMIN; GRANT CONNECT, RESOURCE TO GGADMIN; GRANT SELECT ANY DICTIONARY TO GGADMIN; GRANT CREATE VIEW TO GGADMIN; GRANT EXECUTE ON DBMS_LOCK TO GGADMIN; GRANT SELECT ON SYS.CCOL$ TO GGADMIN; GRANT SELECT ON SYS.CDEF$ TO GGADMIN; GRANT SELECT ON SYS.COL$ TO GGADMIN; GRANT SELECT ON SYS.CON$ TO GGADMIN; GRANT SELECT ON SYS.DEFERRED_STG$ TO GGADMIN; GRANT SELECT ON SYS.ICOL$ TO GGADMIN; GRANT SELECT ON SYS.IND$ TO GGADMIN; GRANT SELECT ON SYS.LOB$ TO GGADMIN; GRANT SELECT ON SYS.LOBFRAG$ TO GGADMIN; GRANT SELECT ON SYS.OBJ$ TO GGADMIN; GRANT SELECT ON SYS.SEG$ TO GGADMIN; GRANT SELECT ON SYS.TAB$ TO GGADMIN; GRANT SELECT ON SYS.TABCOMPART$ TO GGADMIN; GRANT SELECT ON SYS.TABPART$ TO GGADMIN; GRANT SELECT ON SYS.TABSUBPART$ TO GGADMIN; EXEC RDSADMIN.RDSADMIN_DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE (GRANTEE=>'GGADMIN',PRIVILEGE_TYPE=>'CAPTURE',GRANT_SELECT_PRIVILEGES=>TRUE,DO_GRANTS=>TRUE);
Caso de Uso para Preparar o Banco de Dados de Origem para Migração
Veja a seguir um exemplo de caso de uso para preparar seu banco de dados de origem para migração. Para configurar um PDB como uma origem para sua migração, as etapas são semelhantes à configuração de um banco de dados clássico como origem, mas há requisitos para usar CDBROOT
como ggaliassrc
.
As etapas diferem ligeiramente se você estiver usando um PDB como seu banco de dados de origem; portanto, certifique-se de seguir as recomendações se seu banco de dados estiver em um ambiente multitenant.
-
Configure o pool de fluxos com o parâmetro de inicialização
STREAMS_POOL_SIZE
.-
Para migrações lógicas off-line, para obter o desempenho ideal do Data Pump, é necessário definir
STREAMS_POOL_SIZE
para um valor mínimo de 256MB-350MB, para que um pool inicial seja alocado; caso contrário, você poderá ver um atraso significativo durante a inicialização. -
Para migrações lógicas on-line, defina
STREAMS_POOL_SIZE
como pelo menos 2 GB.Para obter a explicação de 1 GB
STREAMS_POOL_SIZE
por extração integrada + recomendação adicional de 25%, consulte Integrated Extract / Replicat and STREAMS_POOL_SIZE (Doc ID 2078459.1).
-
-
Verifique o parâmetro
GLOBAL_NAMES
. Se estiver definido comotrue
, altere-o parafalse
.sqlplus > show parameter global NAME TYPE VALUE ------------------------------------ ------- ------------------------------ global_names boolean TRUE sqlplus > alter system set global_names=false
-
Ative
ARCHIVELOG
se ainda não estiver ativado.-
Verifique se
archivelog
está ativado:sqlplus > archive log list
Amostra retornada:Database log mode Archive log Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 33 Next log sequence to archive 35 Current log sequence 35
-
Ative o modo
archivelog
:sqlplus > shutdown immediate sqlplus > startup mount sqlplus > alter database archivelog; sqlplus > alter database open;
-
Desative o modo
archivelog
(para limpar posteriormente)sqlplus > shutdown immediate sqlplus > startup mount sqlplus > alter database noarchivelog; sqlplus > alter database open;
-
-
Ativar log:
-
Verifique se o registro em log está ativado:
sqlplus > SELECT supplemental_log_data_min, force_logging FROM v$database;
-
Ativar log:
sqlplus > ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; sqlplus > ALTER DATABASE FORCE LOGGING;
-
Desative o registro em log (para limpeza mais tarde)
sqlplus > ALTER DATABASE DROP SUPPLEMENTAL LOG DATA; sqlplus > ALTER DATABASE NO FORCE LOGGING;
-
-
Crie um usuário administrador de banco de dados que tenha privilégios completos do Oracle Data Pump para que a carga inicial seja executada. Um usuário que tenha a atribuição
DATAPUMP_EXP_FULL_DATABASE
é necessário para a operação de exportação no banco de dados de origem. Este usuário é selecionado como administrador de banco de dados quando você cria conexões de Banco de Dados com os bancos de dados de origem.Consulte Oracle Data Pump no guia Oracle Database Utilities para obter mais informações.
-
No PDB que está sendo exportado, se houver qualquer dependência criada nos objetos locais no esquema do usuário
C##
, eles não serão importados no Autonomous Database de destino. Exclua o esquema problemático do job de migração. -
Se você estiver usando o serviço Object Storage como meio de transferência de dados, certifique-se de que existe um Objeto de Diretório de exportação e possa ser usado pelo Data Pump para armazenar arquivos de dump gerados.
-
O objeto de diretório é um caminho de arquivo no sistema de arquivos do servidor do banco de dados de origem. O nome precisa estar em conformidade com as regras de objeto do diretório do Oracle Database. Consulte CREATE DIRECTORY no Oracle Database SQL Language Reference para obter detalhes.
-
O Objeto do Diretório de exportação deve pertencer ao mesmo usuário do SO que possui o Oracle home do banco de dados.
-
Esta etapa não será obrigatória se você estiver usando uma mídia de transferência de link de banco de dados.
-
-
Se você planeja transferir dados usando um link de banco de dados, deverá configurar a criptografia SSL no banco de dados de origem. O uso do Data Pump com um link de banco de dados para um destino do Autonomous Database requer que o banco de dados de origem tenha criptografia SSL ativada. A criação de um link de banco de dados de um destino da Infraestrutura Compartilhada do Autonomous Database para um banco de dados de origem com um IP privado requer assistência do Suporte Técnico da Oracle.
Consulte Configurando a Autenticação de Segurança da Camada de Transporte no Guia de Segurança do Oracle Database para obter mais informações.
-
Para migrações lógicas on-line, se você planeja executar migrações com replicação, ative a Replicação GoldenGate:
-
Em um ambiente multitenant, se você estiver migrando um PDB, ative a Replicação do GoldenGate no CDB.
sqlplus > ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE SCOPE=BOTH;
-
Aplique os patches RDBMS obrigatórios no banco de dados de origem, com base na sua versão do banco de dados de origem:
-
Oracle Database 11.2:
A nota do My Oracle Support Oracle GoldenGate -- Oracle RDBMS Server Recommended Patches (Doc ID 1557031.1) recomenda as seguintes atualizações:
O Database PSU 11.2.0.4.210720 inclui uma correção para o bug de desempenho do Oracle GoldenGate 28849751 - O DESEMPENHO DO IE SE DEGRADA QUANDO A LATÊNCIA DA REDE ENTRE OS PROCESSOS EXTRACT E CAPTURE É MAIOR QUE 8 MS
Patch do OGG RDBMS 32248879 MERGE REQUEST ON TOP OF DATABASE PSU 11.2.0.4.201020 FOR BUGS 32048478 20448066 - Este patch contém uma correção obrigatória para o bug do Oracle GoldenGate Microservices 20448066 DBMS_XSTREAM_GG APIS SHOULD BE ALLOWED FOR SCA PROCESSES
-
Oracle Database 12.1.0.2 ou versão mais recente
A nota do My Oracle Support Latest GoldenGate/Database (OGG/RDBMS) Patch recommendations (Doc ID 2193391.1) lista os patches RDBMS adicionais necessários acima da DBBP/RU mais recente do Oracle Database 12c e posterior, se você estiver usando o Oracle GoldenGate.
-
-
Preparando o Banco de Dados de Destino para Migração
Para que você possa migrar dados com o Oracle Cloud Infrastructure Database Migration, configure manualmente seu banco de dados de destino conforme descrito aqui.
- Para configurar um banco de dados Autônomo como destino para migração, execute os seguintes comandos SQL:
-- Global Names
ALTER SYSTEM SET GLOBAL_NAMES=FALSE;
- Para configurar um locatário único não Autônomo (não CDB) como destino para migração, execute os seguintes comandos SQL:
-- Global Names
ALTER SYSTEM SET GLOBAL_NAMES=FALSE;
-- User system for Datapump
ALTER USER SYSTEM IDENTIFIED BY system_pwd ACCOUNT UNLOCK;
- Para configurar um CDB (multitenant) não Autônomo como destino para migração, execute os seguintes comandos SQL:
-- Connect to CDB and run: -- Global Names ALTER SYSTEM SET GLOBAL_NAMES=FALSE; -- User system for Datapump ALTER USER SYSTEM IDENTIFIED BY system_pwd ACCOUNT UNLOCK SCOPE=BOTH;
Configurações adicionais para preparação do banco de dados de destino para migração on-line
Para que você possa migrar dados com o Oracle Cloud Infrastructure Database Migration, execute configurações adicionais para seu banco de dados de destino para migração on-line conforme descrito aqui.
ggadmin
na Console do Oracle Cloud Infrastructure executando as seguintes etapas:
- Siga as etapas de 1 a 3 mencionadas em Gerenciar Usuários e Atribuições de Usuário no Autonomous Database - Estabelecendo Conexão com o Database Actions.
- Desative a opção Conta está bloqueada.
- Forneça uma senha com sua confirmação correspondente.
- Como alternativa, para configurar um banco de dados Autônomo como destino para migração on-line, execute os seguintes comandos SQL:
-- Global Names
ALTER SYSTEM SET GLOBAL_NAMES=FALSE;
-- Create GoldenGate user if doesn't exist
CREATE TABLESPACE GG_ADMIN DATAFILE '+DATA/ggadmin_data.dbf' SIZE 100m AUTOEXTEND ON NEXT 100m;
CREATE USER GGADMIN IDENTIFIED BY ggadmin_pwd CONTAINER=CURRENT DEFAULT TABLESPACE GG_ADMIN TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON GG_ADMIN;
-- Or unlock it if exists
ALTER USER GGADMIN IDENTIFIED BY ggadmin_pwd ACCOUNT UNLOCK;
- Para configurar um locatário único não Autônomo (não CDB) como destino para migração on-line, execute os seguintes comandos SQL:
-- Global Names
ALTER SYSTEM SET GLOBAL_NAMES=FALSE;
-- User system for Datapump
ALTER USER SYSTEM IDENTIFIED BY system_pwd ACCOUNT UNLOCK;
-- Create GoldenGate nonCDB user
CREATE TABLESPACE GG_ADMIN DATAFILE '+DATA/ggadmin_data.dbf' SIZE 100m AUTOEXTEND ON NEXT 100m;
CREATE USER GGADMIN IDENTIFIED BY ggadmin_pwd DEFAULT TABLESPACE GG_ADMIN TEMPORARY TABLESPACE TEMP QUOTA 100M ON GG_ADMIN;
GRANT CONNECT TO GGADMIN;
GRANT RESOURCE TO GGADMIN;
GRANT CREATE TO GGADMIN;
GRANT SELECT_CATALOG_ROLE TO GGADMIN;
GRANT DV_GOLDENGATE_ADMIN TO GGADMIN;
GRANT DV_GOLDENGATE_REDO_ACCESS TO GGADMIN;
GRANT ALTER SYSTEM TO GGADMIN;
GRANT ALTER USER TO GGADMIN;
GRANT DATAPUMP_EXP_FULL_DATABASE TO GGADMIN;
GRANT DATAPUMP_IMP_FULL_DATABASE TO GGADMIN;
GRANT SELECT ANY DICTIONARY TO GGADMIN;
GRANT SELECT ANY TRANSACTION TO GGADMIN;
GRANT INSERT ANY TABLE TO GGADMIN;
GRANT UPDATE ANY TABLE TO GGADMIN;
GRANT DELETE ANY TABLE TO GGADMIN;
GRANT LOCK ANY TABLE TO GGADMIN;
GRANT CREATE ANY TABLE TO GGADMIN;
GRANT CREATE ANY INDEX TO GGADMIN;
GRANT CREATE ANY CLUSTER TO GGADMIN;
GRANT CREATE ANY INDEXTYPE TO GGADMIN;
GRANT CREATE ANY OPERATOR TO GGADMIN;
GRANT CREATE ANY PROCEDURE TO GGADMIN;
GRANT CREATE ANY SEQUENCE TO GGADMIN;
GRANT CREATE ANY TRIGGER TO GGADMIN;
GRANT CREATE ANY TYPE TO GGADMIN;
GRANT CREATE ANY SEQUENCE TO GGADMIN;
GRANT CREATE ANY VIEW TO GGADMIN;
GRANT ALTER ANY TABLE TO GGADMIN;
GRANT ALTER ANY INDEX TO GGADMIN;
GRANT ALTER ANY CLUSTER TO GGADMIN;
GRANT ALTER ANY INDEXTYPE TO GGADMIN;
GRANT ALTER ANY OPERATOR TO GGADMIN;
GRANT ALTER ANY PROCEDURE TO GGADMIN;
GRANT ALTER ANY SEQUENCE TO GGADMIN;
GRANT ALTER ANY TRIGGER TO GGADMIN;
GRANT ALTER ANY TYPE TO GGADMIN;
GRANT ALTER ANY SEQUENCE TO GGADMIN;
GRANT CREATE DATABASE LINK TO GGADMIN;
GRANT EXECUTE ON dbms_lock TO GGADMIN;
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('GGADMIN');
- Para configurar um CDB (multitenant) não Autônomo como destino para migração on-line, execute os seguintes comandos SQL:
-- Connect to CDB and run: -- Global Names ALTER SYSTEM SET GLOBAL_NAMES=FALSE; -- User system for Datapump ALTER USER SYSTEM IDENTIFIED BY system_pwd ACCOUNT UNLOCK CONTAINER=ALL; -- Create GoldenGate PDB User ALTER SESSION SET CONTAINER = v_pdb_name; CREATE TABLESPACE GG_ADMIN DATAFILE '+DATA/ggadmin_data.dbf' SIZE 100m AUTOEXTEND ON NEXT 100m; CREATE USER GGADMIN IDENTIFIED BY ggadmin_pwd CONTAINER=CURRENT DEFAULT TABLESPACE GG_ADMIN TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON GG_ADMIN; GRANT CONNECT TO GGADMIN CONTAINER=CURRENT; GRANT RESOURCE TO GGADMIN CONTAINER=CURRENT; GRANT CREATE TO GGADMIN CONTAINER=CURRENT; GRANT SELECT_CATALOG_ROLE TO GGADMIN CONTAINER=CURRENT; GRANT DV_GOLDENGATE_ADMIN TO GGADMIN CONTAINER=CURRENT; GRANT DV_GOLDENGATE_REDO_ACCESS TO GGADMIN CONTAINER=CURRENT; GRANT ALTER SYSTEM TO GGADMIN CONTAINER=CURRENT; GRANT ALTER USER TO GGADMIN CONTAINER=CURRENT; GRANT DATAPUMP_EXP_FULL_DATABASE TO GGADMIN CONTAINER=CURRENT; GRANT DATAPUMP_IMP_FULL_DATABASE TO GGADMIN CONTAINER=CURRENT; GRANT SELECT ANY DICTIONARY TO GGADMIN CONTAINER=CURRENT; GRANT SELECT ANY TRANSACTION TO GGADMIN CONTAINER=CURRENT; GRANT INSERT ANY TABLE TO GGADMIN CONTAINER=CURRENT; GRANT UPDATE ANY TABLE TO GGADMIN CONTAINER=CURRENT; GRANT DELETE ANY TABLE TO GGADMIN CONTAINER=CURRENT; GRANT LOCK ANY TABLE TO GGADMIN CONTAINER=CURRENT; GRANT CREATE ANY TABLE TO GGADMIN CONTAINER=CURRENT; GRANT CREATE ANY INDEX TO GGADMIN CONTAINER=CURRENT; GRANT CREATE ANY CLUSTER TO GGADMIN CONTAINER=CURRENT; GRANT CREATE ANY INDEXTYPE TO GGADMIN CONTAINER=CURRENT; GRANT CREATE ANY OPERATOR TO GGADMIN CONTAINER=CURRENT; GRANT CREATE ANY PROCEDURE TO GGADMIN CONTAINER=CURRENT; GRANT CREATE ANY SEQUENCE TO GGADMIN CONTAINER=CURRENT; GRANT CREATE ANY TRIGGER TO GGADMIN CONTAINER=CURRENT; GRANT CREATE ANY TYPE TO GGADMIN CONTAINER=CURRENT; GRANT CREATE ANY SEQUENCE TO GGADMIN CONTAINER=CURRENT; GRANT CREATE ANY VIEW TO GGADMIN CONTAINER=CURRENT; GRANT ALTER ANY TABLE TO GGADMIN CONTAINER=CURRENT; GRANT ALTER ANY INDEX TO GGADMIN CONTAINER=CURRENT; GRANT ALTER ANY CLUSTER TO GGADMIN CONTAINER=CURRENT; GRANT ALTER ANY INDEXTYPE TO GGADMIN CONTAINER=CURRENT; GRANT ALTER ANY OPERATOR TO GGADMIN CONTAINER=CURRENT; GRANT ALTER ANY PROCEDURE TO GGADMIN CONTAINER=CURRENT; GRANT ALTER ANY SEQUENCE TO GGADMIN CONTAINER=CURRENT; GRANT ALTER ANY TRIGGER TO GGADMIN CONTAINER=CURRENT; GRANT ALTER ANY TYPE TO GGADMIN CONTAINER=CURRENT; GRANT ALTER ANY SEQUENCE TO GGADMIN CONTAINER=CURRENT; GRANT CREATE DATABASE LINK TO GGADMIN CONTAINER=CURRENT; GRANT EXECUTE ON dbms_lock TO GGADMIN CONTAINER=CURRENT; EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('GGADMIN',CONTAINER=>'CURRENT');
Caso de Uso para Preparar o Banco de Dados de Destino para Migração
Veja a seguir um exemplo de caso de uso para preparar um banco de dados de destino para migração.
-
Criar um Autonomous Database. Se o banco de dados autônomo de destino já estiver presente, você poderá ignorar esta etapa.
-
Verifique o parâmetro
GLOBAL_NAMES
. Se estiver definido comotrue
, altere-o parafalse
.sqlplus > show parameter global NAME TYPE VALUE ------------------------------------ ------- ------------------------------ global_names boolean TRUE sqlplus > alter system set global_names=false
-
Crie um usuário administrador de banco de dados que tenha privilégios completos do Oracle Data Pump para que a carga inicial seja executada. Um usuário que tenha a atribuição
DATAPUMP_IMP_FULL_DATABASE
é necessário para a operação de exportação no banco de dados de destino. Este usuário é selecionado como administrador de banco de dados quando você cria conexões de Banco de Dados com os bancos de dados de destino.Consulte Oracle Data Pump no guia Oracle Database Utilities para obter mais informações.
Preparação de Bancos de Dados MySQL para Migração
Se você quiser executar migrações MySQL on-line, prepare seus bancos de dados de origem e destino para replicação da seguinte forma:
- Requisitos do banco de dados de origem:
Dependendo da configuração do servidor de origem, os seguintes modos são suportados:
- Servidor único: Para ativar o log de binários, consulte O Log de Binários.
- Vários servidores de réplica: Para configurar a replicação usando GTIDs, consulte Configurando a Replicação Usando GTIDs.
Observação
As etapas acima são aplicáveis somente quando você executa uma migração on-line. - Requisitos do banco de dados de destino:
Para migrações on-line, se você definir outro usuário de replicação, certifique-se de que ele tenha os privilégios definidos aqui. No entanto, se você não definir o usuário, certifique-se de que o usuário principal da conexão tenha esses privilégios.
Tópicos Relacionados