Usando o Oracle Data Pump para Exportar Dados
O Oracle Data Pump oferece movimentação de dados e metadados em massa muito rápida entre o Autonomous AI Database e outros bancos de dados da Oracle.
A Oracle recomenda o uso da versão mais recente do Oracle Data Pump para exportar dados do Autonomous AI Database para outros bancos de dados da Oracle, pois ela contém aprimoramentos e correções para uma melhor experiência. Faça download da versão mais recente do Oracle Instant Client e faça download do Pacote de Ferramentas, que inclui o Oracle Data Pump, para sua plataforma em Downloads do Oracle Instant Client. Consulte as instruções de instalação na página de download de instalação da plataforma para obter as etapas de instalação necessárias depois de fazer download do Oracle Instant Client e do Pacote de Ferramentas.
Para mover dados de um Autonomous AI Database para outros bancos de dados da Oracle que usam o Oracle Data Pump, use uma das seguintes opções:
-
Opção 1: Mover Dados com a Exportação do Data Pump para um Diretório do Autonomous AI Database
Use o Oracle Data Pump para exportar os dados para um diretório no seu banco de dados e, em seguida, mova os dados do diretório para o Cloud Object Store. Este método pode ser benéfico quando você deseja mover dados do seu Autonomous AI Database para vários banco de dados de destino Em vez de exportar os dados para vários Cloud Object Stores na Nuvem, você pode criar um conjunto de arquivos de dump uma vez e usá-lo para vários bancos de dados de destino.
Execute as seguintes etapas para mover dados do Autonomous AI Database, exportando-os para um diretório no banco de dados:
-
Exporte dados para um diretório no Autonomous AI Database e mova o conjunto de arquivos de dump do diretório para seu Cloud Object Store. Consulte Exportar Dados Usando um Diretório no Autonomous AI Database.
-
Faça download dos arquivos de dump do Cloud Object Store, importe os dados para o banco de dados de destino e limpe o Cloud Object Store. Consulte Fazer Download de Arquivos de Dump, Executar a Importação de Data Pump e Limpar o Armazenamento de Objetos.
-
-
Opção 2: Mover Dados com Exportação do Data Pump para o Armazenamento de Objetos
Usando esse método de exportação, você usa o Oracle Data Pump para exportar dados diretamente para o seu armazenamento de objetos. Esse método de exportação é suportado com o Oracle Cloud Infrastructure Object Storage e o Oracle Cloud Infrastructure Object Storage Classic. Isso evita a sobrecarga de criar um conjunto de arquivos dump em um diretório em seu Autonomous AI Database e, em seguida, mover o conjunto de arquivos dump para o Cloud Object Store. Quando você planeja mover dados para um único banco de dados de destino, esse método poupa esforço e acelera o processo de exportação.
Execute as seguintes etapas para mover dados do Autonomous AI Database, exportando-os diretamente para o armazenamento de objetos:
- Exporte dados do Autonomous AI Database diretamente para um Cloud Object Store. Consulte Exportar Dados do Autonomous AI Database para o Object Store Diretamente.
- Faça download dos arquivos de dump do Cloud Object Store, importe os dados para o banco de dados de destino e limpe o Cloud Object Store. Consulte Fazer Download de Arquivos de Dump, Executar a Importação de Data Pump e Limpar o Armazenamento de Objetos.
Exportar Dados Usando um Diretório no Autonomous AI Database
Para exportar dados usando um diretório no Autonomous AI Database, primeiro você deve criar um conjunto de arquivos para dump com os dados exportados em um diretório no seu banco e, em seguida, fazer upload desses arquivos do seu diretório de bancos de dados para o Cloud Object Armazen.
Usar o Data Pump para Criar um Conjunto de Arquivos de Dump no Autonomous AI Database
-
Crie um diretório para armazenar os arquivos de dump que contêm os dados exportados. Por exemplo:
CREATE DIRECTORY data_export_dir as 'data_export'; -
Execute a Exportação do Data Pump com o parâmetrodumpfile definido, o parâmetrofilesize definido como menos de 50G e o parâmetrodirectory definido. Por exemplo, o seguinte mostra como exportar um esquema chamado
SALESem um Autonomous AI Database chamadoATPC1com 64 ECPUs:expdp sales/password@ATPC1_high directory=data_export_dir dumpfile=exp%L.dmp parallel=16 encryption_pwd_prompt=yes filesize=1G logfile=export.logObservações para parâmetros do Data Pump:
-
No caso de ECPUs,
paralleldeve ser definido como 0,25 vezes a contagem de ECPUs. Assim, no exemplo acima com 64 ECPUs,parallelé definido como 0,25 x 64, ou seja, 16 comexpdp. -
No caso de OCPUs,
paralleldeve ser definido com o mesmo valor da contagem de OCPUs. No exemplo acima com 16 OCPUs, oparallelserá definido como 16, comexpdp. -
Se, durante a exportação com
expdp, você usar o parâmetroencryption_pwd_prompt=yes, deverá usarencryption_pwd_prompt=yescom sua importação e inserir a mesma senha no promptimpdppara decriptografar os arquivos dump (lembre-se da senha fornecida para exportação). O tamanho máximo da senha de criptografia é 128 bytes. -
O parâmetro
dumpfilesuporta os caracteres curinga%Le%l, além dos caracteres curinga%Ue%ulegados. Por exemplo,dumpfile=export%L.dmp.Use o caractere curinga
%Lou%lpara exportações do Oracle Database Release 12.2 e superior. Este curinga expande o nome do arquivo dumpfile em um inteiro de incremento de largura variável de 3 dígitos a 10 dígitos, começando em 100 e terminando em 2147483646.
Para obter o melhor desempenho de exportação, use o serviço de banco de dados
HIGHpara sua conexão da exportação e defina o parâmetroPARALLELcomo o número de CPUs em um banco de dados. Para obter informações sobre qual nome de serviço do banco de dados estabelecer conexão para executar a Exportação do Data Pump, consulte Nomes de Serviço de Banco de dados Predefinidos para Autonomous AI Databases.Depois que a exportação estiver concluída, você poderá ver os arquivos de dump gerados executando uma consulta como a seguinte:
SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_EXPORT_DIR');Por exemplo, a saída dessa consulta mostra os arquivos de dump gerados e o arquivo de log de exportação:
OBJECT_NAME BYTES CHECKSUM CREATED LAST_MODIFIED ---------------------- ---------- --------- ------------------------------- -------------------- exp01.dmp 12288 12-NOV-19 06.10.47.0 PM GMT 12-NOV-19... exp02.dmp 8192 12-NOV-19 06.10.48.0 PM GMT 12-NOV-19... exp03.dmp 1171456 12-NOV-19 06.10.48.0 PM GMT 12-NOV-19... exp04.dmp 348160 12-NOV-19 06.10.48.0 PM GMT 12-NOV-19... export.log 1663 12-NOV-19 06.10.50.0 PM GMT 12-NOV-19... -
Observação:
- Para executar uma exportação completa ou exportar objetos pertencentes a outros usuários, você precisa da atribuição
DATAPUMP_CLOUD_EXP. - A API usada para mover os arquivos de dump para seu Object Storage suporta arquivos de até 50 GB, portanto, não especifique tamanhos maiores do que os do argumento filesize.
- Para obter mais informações, consulte Oracle Data Pump Export em Oracle Database 19c Utilities ou Oracle Database 26ai Utilities.
Mova o Conjunto de Arquivos de Dump do Autonomous AI Databaseto Seu Cloud Object Store
-
Estabeleça conexão com o Autonomous AI Database.
-
Armazene sua credencial do Cloud Object Storage usando o procedimento
DBMS_CREDENTIAL.CREATE_CREDENTIAL. Por exemplo:BEGIN DBMS_CREDENTIAL.CREATE_CREDENTIAL( credential_name => 'DEF_CRED_NAME', username => 'adb_user@oracle.com', password => 'password' ); END; /Os valores fornecidos para
usernameepassworddependem do serviço de Cloud Object Storage que você está usando:-
Oracle Cloud Infrastructure Object Storage:
usernameé o nome do usuário da Oracle Cloud Infrastructure epasswordé o seu token de autenticação da Oracle Cloud Infrastructure. Consulte Como Trabalhar com Tokens de Autenticação. -
Oracle Cloud Infrastructure Object Storage Classic:
usernameé o nome do usuário do seu Oracle Cloud Infrastructure Classic epasswordé a senha do seus Oracle Cloud Infrastructure Classic.Esta operação armazena as credenciais no banco de dados em um formato criptografado. Você pode usar qualquer nome para o nome da credencial. Observe que essa etapa só é necessária uma vez, a menos que suas credenciais do armazenamento de objetos sejam alteradas. Depois de armazenar as credenciais, você poderá usar o mesmo nome de credencial para todos os carregamentos de dados.
-
-
Mova os arquivos de dump do Autonomous AI Database para o Cloud Object Store chamando
DBMS_CLOUD.PUT_OBJECT.Por exemplo:
BEGIN DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp01.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp01.dmp'); DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp02.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp02.dmp'); DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp03.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp03.dmp'); DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp04.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp04.dmp'); END; /Consulte Procedimento PUT_OBJECT para obter informações sobre
PUT_OBJECT.
Exportar Dados do Autonomous AI Database para o Object Store Diretamente
Mostra como usar o Oracle Data Pump para exportar dados do Autonomous AI Database para o Cloud Object Store diretamente.
-
Estabeleça conexão com o Autonomous AI Database.
-
Armazene sua credencial do Cloud Object Storage usando o procedimento
DBMS_CREDENTIAL.CREATE_CREDENTIAL. Por exemplo:BEGIN DBMS_CREDENTIAL.CREATE_CREDENTIAL( credential_name => 'DEF_CRED_NAME', username => 'adb_user@oracle.com', password => 'password' ); END; /Os valores fornecidos para username e password dependem do serviço de Cloud Object Storage que você está usando:
-
Oracle Cloud Infrastructure Object Storage:
usernameé o nome do usuário da Oracle Cloud Infrastructure epasswordé o seu token de autenticação da Oracle Cloud Infrastructure. Consulte Como Trabalhar com Tokens de Autenticação. -
Oracle Cloud Infrastructure Object Storage Classic:
usernameé o nome do usuário do seu Oracle Cloud Infrastructure Classic epasswordé a senha do seu Oracle Cloud Infrastructure Classic.
Esta operação armazena as credenciais no banco de dados em um formato criptografado. Você pode usar qualquer nome para o nome da credencial. Observe que essa etapa só é necessária uma vez, a menos que suas credenciais do armazenamento de objetos sejam alteradas. Depois de armazenar as credenciais, você poderá usar o mesmo nome de credencial para todos os carregamentos de dados.
-
-
Como usuário do
ADMIN, defina a credencial definida na etapa acima como a credencial padrão do seu Autonomous AI Database.Por exemplo:
ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'DEF_CRED_NAME'; -
Execute a Exportação do Data Pump com o parâmetro dumpfile definido para o URL de um bucket existente no Cloud Object Storage (terminando com um nome do arquivo ou um nome do arquivo com uma variável de substituição, como
exp%U.dmp).-
Oracle Data Pump versão 19.9 ou posterior:
defina o parâmetro
credentialcomo o nome da credencial criada na Etapa 2. Por exemplo:expdp admin/password@ADBD_high \ SCHEMAS=SOE3 \ filesize=5GB \ credential=DEF_CRED_NAME \ dumpfile=https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/adbdpreview1/mybucket/export%L.dmp \ parallel=16 \ encryption_pwd_prompt=yes \ logfile=export.log \ directory=data_pump_dir \ EXCLUDE=statistics,indexNeste exemplo,
dumpfilecorresponde a um URI Swift do Oracle Cloud Infrastructure que especifica todos os arquivos cujo nome corresponde aexport<number>.dmpno bucketmybucket, na regiãous-ashburn-1. (adbdpreview1corresponde ao namespace do armazenamento de objetos no qual o bucket reside.) -
Versões anteriores ao 19.9 do Oracle Data Pump:
inicie o valor do parâmetro
dumpfilecom a palavra-chavedefault_credentiale dois-pontos. Por exemplo:expdp admin/password@ADBD_high \ SCHEMAS=SOE3 \ filesize=5GB \ dumpfile=DEF_CRED_NAME:https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/adbdpreview1/mybucket/export%L.dmp \ parallel=16 \ encryption_pwd_prompt=yes \ logfile=export.log \ directory=data_pump_dir \ EXCLUDE=statistics,indexNeste exemplo, a palavra-chave
default_credentialno parâmetrodumpfileé obrigatória.
Observações para parâmetros do Oracle Data Pump:
-
Por padrão, o Oracle Data Pump Export compacta somente os metadados antes da gravação no conjunto de arquivos para dump. Você pode definir o parâmetro
compressioncomoALLpara compactar metadados e dados antes de gravar no conjunto de arquivos de dump. Consulte COMPRESSÃO em Utilitários Oracle Database 19c ou Utilitários Oracle Database 26ai para obter mais detalhes. -
O parâmetro
dumpfilesuporta os caracteres curinga%Le%l, além dos caracteres curinga%Ue%ulegados. Por exemplo,dumpfile=export%L.dmp.Use o caractere curinga
%Lou%lpara exportações do Oracle Database Release 12.2 e superior. Este curinga expande o nome do arquivo dumpfile em um inteiro de incremento de largura variável de 3 dígitos a 10 dígitos, começando em 100 e terminando em 2147483646.Para obter mais informações, consulte Parâmetros Disponíveis no Modo de Linha de Comando de Exportação do Data Pump em Oracle Database 19c Utilities ou Oracle Database 26ai Utilities.
-
Para obter o melhor desempenho de exportação, use o serviço de banco de dados
highpara sua conexão e defina o parâmetroparallelcomo 0,25 vezes o número de ECPUs ou igual ao número de OCPUs no seu Autonomous AI Database. Para obter informações sobre qual nome de serviço do banco de dados estabelecer conexão para executar a Exportação do Data Pump, consulte Nomes de Serviço de Banco de dados Predefinidos para Autonomous AI Databases. -
Para obter o formato de URL do arquivo de dump de diferentes serviços do Cloud Object Storage, consulte Formatos de URI do Cloud Object Storage.
Para obter informações sobre objetos não permitidos no Autonomous AI Database, consulte Limitações sobre o Uso de Comandos SQL.
-
-
Valide os resultados.
O Oracle Data Pump divide cada parte do arquivo de dump em chunks menores para a obtenção de uploads mais rápidos. A console do Oracle Cloud Infrastructure Object Storage mostra vários arquivos para cada parte do arquivo de dump que você exporta. O tamanho dos arquivos de dump reais será exibido como 0 (zero) e seus chunks de arquivos relacionados como 10 MB ou menos. Por exemplo:
exp01.dmp exp01.dmp_aaaaaa exp02.dmp exp02.dmp_aaaaaaObservação:
Fazer download do arquivo de dump de zero byte do console ou usar a CLI não fornecerá os arquivos de dump completos. Para fazer download dos arquivos de dump completos do Object Store, use uma ferramenta que suporte Swift, como curl, e forneça seu log-in de usuário e token de autenticação Swift. Por exemplo:
curl -O -v -X GET -u 'user1@example.com:auth_token' \ https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/export01.dmp
Fazer Download de Arquivos de Dump, Executar a Importação de Data Pump e Limpar o Armazenamento de Objetos
Se necessário, faça download dos arquivos de dump do Cloud Object Store e use a Importação do Oracle Data Pump para importar o conjunto de arquivos de dump para o banco de dados de destino. Em seguida, execute qualquer limpeza necessária.
-
Faça download dos arquivos de dump do Cloud Object Store.
Observação: esta etapa não é necessária se você estiver importando os dados para outro Autonomous AI Database
Se você exportar diretamente para a Área de Armazenamento de Objetos usando o Oracle Data Pump, conforme mostrado em Exportar Dados do Autonomous AI Database Diretamente para a Área de Armazenamento de Objetos, os arquivos para dump na Área de Armazenamento de Objetos mostrarão tamanho 0. O Oracle Data Pump divide cada parte do arquivo de dump em chunks menores para a obtenção de uploads mais rápidos. A console do Oracle Cloud Infrastructure Object Storage mostra vários arquivos para cada parte do arquivo de dump que você exporta. O tamanho dos arquivos de dump reais será exibido como 0 (zero) e seus chunks de arquivos relacionados como 10 MB ou menos. Por exemplo:
exp01.dmp exp01.dmp_aaaaaa exp02.dmp exp02.dmp_aaaaaaO download do arquivo de dump de zero byte na console do Oracle Cloud Infrastructure ou usando a CLI do Oracle Cloud Infrastructure não fornecerá a você os arquivos de dump completos. Para fazer download dos arquivos de dump completos do Object Store, use uma ferramenta que suporte Swift, como curl, e forneça seu log-in de usuário e token de autenticação Swift. Por exemplo:
curl -O -v -X GET -u 'user1@example.com:auth_token' \ https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/exp01.dmpO comando cURL não suporta caracteres curinga ou de substituição em seu URL. Você precisa usar vários comandos cURL para fazer download do conjunto de arquivos de dump do seu Object Store. Como alternativa, você pode usar um script que suporte caracteres de substituição para fazer download de todos os arquivos de dump do Object Store em um único comando.
-
Execute a Importação do Data Pump para importar o conjunto de arquivos de dump para o banco de dados de destino.
Observação: Se você estiver importando os dados para outro Autonomous AI Database, consulte Load Data Using Oracle Data Pump.
No caso de arquivos exportados diretamente para a Área de Armazenamento de Objetos com o Oracle Data Pump, conforme mostrado em Exportar Dados do Autonomous AI Database para a Área de Armazenamento de Objetos Diretamente, se você importar um arquivo com os procedimentos
DBMS_CLOUDque suportam o parâmetroformattypecom o valor'datapump', só precisará fornecer o nome de arquivo principal. Os procedimentos que suportam o tipo de formato'datapump'descobrem e fazem download automaticamente dos chunks. -
Execute tarefas de limpeza pós-importação. Se você terminar de importar os arquivos de dump para seu(s) banco(s) de dados de destino, elimine o bucket que contém os dados ou remova os arquivos de dump do bucket do Cloud Object Store e remova os arquivos de dump do local em que você fez download dos arquivos de dump para executar a Importação do Data Pump.
Para obter informações detalhadas, consulte Parâmetros Disponíveis no Modo de Linha de Comando de Importação do Oracle Data Pump em Utilitários Oracle Database 19c ou Utilitários Oracle Database 26ai.