Migrar Dados com DBMS_CLOUD_IMPORT
O DBMS_CLOUD_IMPORT permite importar dados de bancos de dados Oracle e não Oracle para o Oracle Autonomous AI Database usando uma abordagem simples e consistente.
- Migre Dados com DBMS_CLOUD_IMPORT
Ao trabalhar em vários sistemas de banco de dados, a movimentação de dados pode ser complexa devido a diferenças em tecnologias, formatos e ferramentas. ADBMS_CLOUD_IMPORTsimplifica esse processo fornecendo uma abordagem unificada para importar dados entre plataformas, eliminando a necessidade de gerenciar várias ferramentas ou fluxos de trabalho. - Pré-requisitos
Lista os pré-requisitos para executar a importação no Autonomous AI Database. - Importar Dados usando DBMS_CLOUD_IMPORT
Descreve como importar dados para o Autonomous AI Database usando oDBMS_CLOUD_IMPORT. - Monitorar e Diagnosticar Importação Heterogênea
Para diagnosticar problemas e monitorar o andamento das operações de importação de dados, você pode consultar as seguintes views do dicionário de dados. Essas views fornecem informações detalhadas sobre o status da tarefa, o andamento da execução, as operações paralelas e os objetos relacionados.
Tópico principal: Migrar para o Autonomous AI Database
Migrar Dados com DBMS_CLOUD_IMPORT
Ao trabalhar em vários sistemas de banco de dados, a movimentação de dados pode ser complexa devido a diferenças em tecnologias, formatos e ferramentas. A DBMS_CLOUD_IMPORT simplifica esse processo fornecendo uma abordagem unificada para importar dados entre plataformas, eliminando a necessidade de gerenciar várias ferramentas ou fluxos de trabalho.
O DBMS_CLOUD_IMPORT também suporta transferência de dados confiável e de alto desempenho. O processo de importação usa a execução paralela para melhorar o throughput e, se uma importação for interrompida, como durante a manutenção ou uma perda de conexão com o banco de dados de origem, ela será retomada automaticamente de onde parou, garantindo a conclusão sem precisar reiniciar a importação.
Você pode importar dados de bancos de dados Oracle e bancos de dados não Oracle compatíveis, incluindo MySQL, PostgreSQL e Amazon Redshift. Para origens Oracle, os objetos de dados e de banco de dados são importados. Para origens não Oracle, a importação se concentra na movimentação de dados com conversão automática de tipo de dados para formatos compatíveis com a Oracle.
O recurso suporta a importação flexível de dados. Você pode importar um banco de dados inteiro ou um subconjunto de dados, como esquemas ou tabelas selecionados, com base em seus requisitos. A Oracle também fornece views do dicionário de dados para monitorar o andamento e rastrear o status da importação.
Principais Benefícios
- Importação unificada de dados entre plataformas: Importe dados de bancos de dados Oracle e não Oracle sem usar várias ferramentas.
- Transferência de dados de alto desempenho: Mova grandes volumes de dados usando execução paralela.
- Resiliência incorporada: Retome as operações de importação automaticamente após interrupções, incluindo manutenção ou perda de conexão com o banco de dados de origem.
- Seleção flexível de dados: Importe um banco de dados completo ou um subconjunto de dados, incluindo esquemas ou tabelas específicos.
Para obter mais informações, consulte:
Tópico principal: Migrar Dados com DBMS_CLOUD_IMPORT
Pré-requisitos
Lista os pré-requisitos para executar a importação no Autonomous AI Database.
Antes de iniciar a importação, verifique se os pré-requisitos a seguir foram atendidos.
-
Você deve estar conectado como o usuário
ADMIN. -
Os subprogramas
DBMS_CLOUD_IMPORTacessam o banco de dados de origem usando um link de banco de dados criado implicitamente como parte da tarefa de importação. Para estabelecer essa conexão, você deve criar um objeto de credencial com as credenciais do banco de dados remoto e referenciá-lo ao criar a tarefa de importação. Consulte Procedimento CREATE_CREDENTIAL para obter mais informações. -
Para bancos de dados de origem não Oracle, especifique
longtovarchar => 'true'no parâmetrogateway_paramsao chamarDBMS_CLOUD_IMPORT.CREATE_IMPORT_TASK. Isso é necessário porque os metadados em bancos de dados não Oracle consistem em colunasLONG. Por exemplo:gateway_params => JSON_OBJECT('db_type' VALUE <db_type>, 'longtovarchar' VALUE 'true'). -
Certifique-se de que o banco de dados especificado pelo
service_namepossa estabelecer conexão com o esquema de destino e acessá-lo. -
Os jobs de importação são retomados do ponto de interrupção, como após um evento de manutenção planejado ou uma interrupção inesperada. Processamento paralelo e currículo automático são suportados para bancos de dados de origem Oracle, MySQL, PostgreSQL e Amazon Redshift. Para bancos de dados de origem não Oracle, os seguintes pré-requisitos são necessários para ativar o processamento paralelo e a retomada automática (pré-requisitos adicionais podem ser aplicados dependendo do tipo de banco de dados de origem):
-
A tabela de origem é particionada por intervalo.
-
Existem estatísticas de histograma para pelo menos uma coluna numérica.
-
Um índice numérico ou chave primária está presente.
-
Se esses pré-requisitos não forem atendidos, a tabela será copiada usando CREATE TABLE AS SELECT (CTAS). Nesse caso, o processamento paralelo não é suportado e, se o job for interrompido, ele será reiniciado a partir do início da tabela, em vez de ser retomado a partir do ponto de interrupção.
Pré-requisitos adicionais podem ser necessários para suportar o processamento paralelo e a capacidade de reinicialização confiável, dependendo do tipo de banco de dados de origem. Consulte o seguinte para obter detalhes:
- Banco de Dados de Origem PostgreSQL
- Crie as views necessárias no banco de dados PostgreSQL de origem. Para suportar o processamento paralelo e a capacidade de reinicialização confiável ao migrar do PostgreSQL, crie as views necessárias no banco de dados de origem. Se as views não estiverem presentes, a importação usará
CREATE TABLE AS SELECT(CTAS), nesse modo, o processamento paralelo não será suportado e, se um carregamento de tabela for interrompido, ele será reiniciado desde o início. Consulte CREATE TABLE AS SELECT para obter mais informações. - Você pode criar essas views usando scripts fornecidos pela Oracle disponíveis no GitHub. Verifique e execute os scripts no banco de dados PostgreSQL de origem antes de iniciar a importação.
- Crie as views necessárias no banco de dados PostgreSQL de origem. Para suportar o processamento paralelo e a capacidade de reinicialização confiável ao migrar do PostgreSQL, crie as views necessárias no banco de dados de origem. Se as views não estiverem presentes, a importação usará
Consulte a Documentação do PostgreSQL 18.3 para obter mais informações.
- Banco de Dados de Origem do MySQL
-
O
schema_listnão é suportado para origens MySQL porque o MySQL não usa esquemas. Quando você chamarREATE_IMPORT_TASK, especifique um array vazio paraschema_list([]). -
O valor que você especifica para
service_nameé usado como nome do esquema. -
Crie as views necessárias no banco de dados MySQL de origem. Para suportar o processamento paralelo e a capacidade de reinicialização confiável ao migrar do MySQL, crie as views necessárias no banco de dados de origem. Se as views não estiverem presentes, a importação usará
CREATE TABLE AS SELECT (CTAS), nesse modo, o processamento paralelo não será suportado e, se um carregamento de tabela for interrompido, ele será reiniciado desde o início. Consulte CREATE TABLE AS SELECT para obter mais informações. -
É possível criar essas visualizações usando scripts fornecidos pela Oracle disponíveis no Github. Verifique e execute os scripts no banco de dados MySQL de origem antes de iniciar a importação.
-
Consulte Referência do MySQL para obter mais informações.
- Banco de Dados de Origem do Amazon Redshift
-
Conceda privilégios para acesso ao link de banco de dados. Para ler dados de tabelas remotas, você deve garantir que a conta usada para criar o link de banco de dados tenha os privilégios necessários, por exemplo:
-
GRANT USAGE ON SCHEMA <remote_schema> TO <dblink_user>; -
GRANT SELECT ON <remote_schema>.<remote_table> TO <dblink_user>;
-
-
Garantir a visibilidade de metadados para esquemas não
public. Se o esquema remoto não forpublice a importação precisar consultar metadados (por exemplo, viapg_table_def), você deverá incluir o esquema nosearch_pathdo usuário do link de banco de dados, por exemplo:-
ALTER USER <dblink_user> SET search_path TO <new_value>;
-
-
Consulte a Documentação do Amazon Redshift para obter mais informações.
Tópico principal: Migrar Dados com DBMS_CLOUD_IMPORT
Importar dados usando DBMS_CLOUD_IMPORT
Descreve como importar dados para o Autonomous AI Database usando o DBMS_CLOUD_IMPORT.
Para importar dados para o Autonomous AI Database, use o procedimento DBMS_CLOUD_IMPORT.CREATE_IMPORT_TASK. Este procedimento permite importar dados do Oracle e de bancos de dados não Oracle suportados especificando os detalhes de conexão necessários e, opcionalmente, os objetos a serem importados.
Você pode importar um banco de dados inteiro ou um subconjunto de dados, como esquemas ou tabelas específicos, especificando parâmetros como schema_list ou table_list. Quando você executa este procedimento, o Oracle Database cria um job do Oracle Scheduler para gerenciar a tarefa de importação. O job usa os detalhes e as credenciais de conexão fornecidos para criar um link de banco de dados para o banco de dados de origem e transferir dados para o Autonomous AI Database.
O comportamento da importação depende do tipo de banco de dados de origem:
- Importações de Oracle para Oracle: Os objetos de dados e de banco de dados são migrados. Índices, restrições e partições são criados automaticamente no Autonomous AI Database de destino. Se a importação for interrompida (por exemplo, devido a manutenção), ela será retomada a partir do ponto de interrupção.
- Importações de bancos de dados não Oracle: Somente os dados são migrados. Chaves, índices, constraints e outros objetos dependentes não são criados. As partições só serão criadas se a tabela de origem for particionada por intervalo. A capacidade de retomada depende dos pré-requisitos; caso contrário, a importação será reiniciada desde o início.
Execute a importação como o usuário ADMIN. O Autonomous AI Database de destino permanece disponível durante a importação; no entanto, a Oracle recomenda evitar outras atividades no banco de dados de destino até a importação ser concluída. Se um job de importação for interrompido (por exemplo, devido a uma manutenção planejada ou uma interrupção inesperada), ele poderá ser retomado a partir do ponto de interrupção ou reinicialização, dependendo do tipo de banco de dados de origem e se os pré-requisitos são atendidos. Você também pode usar suspender e retomar para pausar temporariamente e, em seguida, continuar o job.
- Criar uma Tarefa de Importação
Descreve as etapas para criar uma tarefa de importação. - Suspender e Retomar Importação
Descreve como suspender e retomar uma operação de importação. - Monitorar o Andamento da Importação
Depois de iniciar uma tarefa de importação, o job do scheduler é executado em segundo plano e os registros do Autonomous AI Database progridem nos níveis de tarefa e tabela. - Eliminar uma Tarefa de Importação
Descreve as etapas para eliminar uma tarefa de importação.
Tópico principal: Migrar Dados com DBMS_CLOUD_IMPORT
Criar uma Tarefa de Importação
Descreve as etapas para criar uma tarefa de importação.
Antes de criar e iniciar a tarefa de importação, configure a autenticação para o banco de dados de origem. DBMS_CLOUD_IMPORT usa um objeto de credencial para estabelecer conexão segura com a origem (e para criar o link de banco de dados necessário para a tarefa).
Para criar uma tarefa de importação, siga estas etapas:
Para obter mais informações, consulte:
Tópico principal: Importar Dados usando DBMS_CLOUD_IMPORT
Suspender e Retomar Importação
Descreve como suspender e retomar uma operação de importação.
Se necessário, você pode pausar temporariamente a importação usando o procedimento SUSPEND_IMPORT_TASK:
BEGIN
DBMS_CLOUD_IMPORT.SUSPEND_IMPORT_TASK(
task_name => 'orcl_import_job'
);
END;
/Isso interrompe o job do scheduler preservando todo o andamento e metadados. Consulte Procedimento SUSPEND_IMPORT_TASK para obter mais informações.
Para continuar a importação, use o procedimento RESUME_IMPORT_TASK:
BEGIN
DBMS_CLOUD_IMPORT.RESUME_IMPORT_TASK(
task_name => 'orcl_import_job'
);
END;
/O job é retomado do último checkpoint, ignorando tabelas concluídas e continuando o trabalho restante.
O comportamento de retomada depende do tipo de banco de dados de origem e dos pré-requisitos. Quando os pré-requisitos para processamento paralelo e retomada automática são atendidos, a importação continua a partir do ponto de interrupção. Caso contrário, a importação usará
CREATE TABLE AS SELECT (CTAS); nesse modo, o processamento paralelo não é suportado e, se o job for interrompido, ele será reiniciado desde o início da tabela.
Consulte Procedimento RESUME_IMPORT_TASK para obter mais informações.
Tópico principal: Importar Dados usando DBMS_CLOUD_IMPORT
Monitorar Andamento da Importação
Depois que você inicia uma tarefa de importação, o job do scheduler é executado em segundo plano e os registros do Autonomous AI Database progridem nos níveis de tarefa e tabela.
- DBA_DATA_IMPORT_TASK_STATUS: Mostra o andamento no nível da tarefa, incluindo status geral, percentual de conclusão e um resumo da atividade (por exemplo, tabelas em andamento no momento).
- DBA_DATA_IMPORT_TABLE_STATUS: Mostra o andamento no nível da tabela para cada tabela que está sendo importada, incluindo detalhes de status e erro para tabelas com falha.
Por exemplo, consulte DBA_DATA_IMPORT_TABLE_STATUS para exibir o andamento e os erros no nível da tabela. A coluna STATUS indica o estado atual de cada tabela, como SUCCEEDED, FAILED, LOADING ou STOPPED.
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'db1_cred',
username => '<username>',
password => '<password>'
);
END;
/A saída é semelhante à seguinte:
IMPORT_TASK_NAME SCHEMA_NAME SCHEMA_OBJECT STATUS
------------------ ------------- --------------- ----------
IMPORT_JOB1 SALES ORDERS SUCCEEDED
IMPORT_JOB1 SALES CUSTOMERS SUCCEEDED
IMPORT_JOB1 HR EMPLOYEES LOADING
IMPORT_JOB1 HR DEPARTMENTS FAILEDQuando a importação é concluída, o job do scheduler é desativado automaticamente. Consulte Monitorar e Diagnosticar Importação Heterogênea para obter mais informações.
Tópico principal: Importar Dados usando DBMS_CLOUD_IMPORT
Eliminar uma Tarefa de Importação
Descreve as etapas para eliminar uma tarefa de importação.
Após a conclusão da importação e não mais necessária, você poderá remover a tarefa de importação. A eliminação da tarefa remove o job do scheduler, os links do banco de dados e os metadados associados. Ele não faz rollback de objetos ou dados que já foram criados no esquema de destino e pode deixar uma tabela em andamento parcialmente carregada.
Se você reexecutar a importação para o mesmo esquema, talvez seja necessário limpar manualmente tabelas parcialmente carregadas. Para identificar tabelas incompletas, consulte views do dicionário de dados, como DBA_DATA_IMPORT_TABLE_STATUS, e revise o status da tabela antes de executar a limpeza.
BEGIN
DBMS_CLOUD_IMPORT.DROP_IMPORT_TASK(
task_name => 'orcl_import_job'
);
END;
/Este exemplo exclui o job de importação ORCL_IMPORT_JOB. Consulte Procedimento DROP_IMPORT_TASK para obter mais informações.
Tópico principal: Importar Dados usando DBMS_CLOUD_IMPORT
Monitorar e diagnosticar importação heterogênea
Para diagnosticar problemas e monitorar o andamento das operações de importação de dados, você pode consultar as seguintes views do dicionário de dados. Essas views fornecem informações detalhadas sobre o status da tarefa, o andamento da execução, as operações paralelas e os objetos relacionados.
| Nome da View | Descrição |
|---|---|
| View DBA_DATA_IMPORT_TASK_STATUS | Exibe o status de cada tabela dentro de uma tarefa de importação, incluindo quaisquer erros encontrados durante o processamento. |
| View DBA_DATA_IMPORT_TABLE_STATUS | Fornece detalhes gerais no nível da tarefa, incluindo informações de andamento, como o número de tabelas processadas, carregadas e concluídas com sucesso. |
Tópico principal: Migrar Dados com DBMS_CLOUD_IMPORT