Exportar Dados para um Diretório como Arquivos do Oracle Data Pump

Você pode exportar dados para um diretório como arquivos de dump do Oracle Data Pump especificando uma consulta.

Com esse método de exportação, você usa o procedimento DBMS_CLOUD.EXPORT_DATA para especificar uma consulta para selecionar os dados a serem exportados como um arquivo de dump para um diretório.

  1. Conecte-se à instância do Autonomous Database.
  2. Criar um diretório

    Por exemplo:

    CREATE DIRECTORY export_dir AS 'export_dir';
    Consulte Criar Diretório no Autonomous Database para obter mais informações.
  3. Exporte dados do Autonomous Database para o seu diretório como arquivo(s) de dump do Oracle Data Pump com DBMS_CLOUD.EXPORT_DATA e especifique o parâmetro format type como datapump. Por exemplo:
    BEGIN
     DBMS_CLOUD.EXPORT_DATA(
        file_uri_list => 'export_dir:sales.dmp',
        format => json_object('type' value 'datapump'),
        query => 'SELECT * FROM sales'
     );
    END;
    /
    

    Exemplo para exportar dados como vários arquivos do Data Pump para um diretório:

    BEGIN
     DBMS_CLOUD.EXPORT_DATA(
        file_uri_list => 'export_dir:sales1.dmp, export_dir:sales2.dmp',
        format => json_object('type' value 'datapump'),
        query => 'SELECT * FROM sales'
     );
    END;
    /
    

    Os parâmetros são:

    • file_uri_list: é uma lista delimitada por vírgulas do(s) arquivo(s) de exportação. o uso de caracteres curinga e de substituição não é suportado no file_uri_list.

    • format: especifica o parâmetro type necessário. Os valores válidos são datapump, json, xml, csv e parquet e também, opcionalmente, define as opções que você pode especificar para a exportação com o Driver de Acesso ORACLE_DATAPUMP.

    • query: especifica uma instrução SELECT para que apenas os dados necessários sejam exportados. A consulta determina o conteúdo do(s) arquivo(s) de dump.

    Observação

    O procedimento DBMS_CLOUD.EXPORT_DATA cria o(s) arquivo(s) de dump especificado(s) no file_uri_list.

    Para obter informações detalhadas sobre os parâmetros, consulte Procedimento EXPORT_DATA.

Observações de exportação de dados com o DBMS_CLOUD.EXPORT_DATA:

  • O diretório fornecido deve existir e você deve estar conectado como o usuário ADMIN ou ter acesso WRITE ao diretório.

  • O procedimento não substitui arquivos. Se um arquivo de dump no file_uri_list existir, o DBMS_CLOUD.EXPORT_DATA reportará um erro como:

    ORA-31641: unable to create dump file  "/u02/exports/123.dmp"
    ORA-27038: created file already exists
  • O DBMS_CLOUD.EXPORT_DATA não cria diretórios.

  • O nome do diretório faz distinção entre maiúsculas e minúsculas quando está entre aspas duplas.

  • O número de arquivos de dump que o DBMS_CLOUD.EXPORT_DATA gera é determinado quando o procedimento é executado. O número de arquivos de dump gerados depende do número de nomes de arquivos fornecidos no parâmetro file_uri_list, bem como do número de ECPUs disponíveis para a instância, do nível de serviço e do tamanho dos dados.

    Por exemplo, se você usar uma instância do Autonomous Database com 2 ECPU ou o serviço low, um único arquivo de dump será exportado sem paralelismo, mesmo que você forneça vários nomes de arquivo. Se você usar uma instância do Autonomous Database com 8 ECPUs com o serviço medium ou high, os jobs poderão ser executados em paralelo e vários arquivos de dump serão exportados se você fornecer vários nomes de arquivo.

  • O valor do parâmetro query fornecido pode ser uma consulta avançada, se necessário, como uma consulta que inclui junções ou subconsultas.

  • Os arquivos de dump criados com DBMS_CLOUD.EXPORT_DATA não podem ser importados usando o impdp do Oracle Data Pump. Dependendo do banco de dados, você pode usar esses arquivos da seguinte forma:

    • Em um Autonomous Database, você pode usar os arquivos de dump com os procedimentos DBMS_CLOUD que suportam o parâmetro format type com o valor 'datapump'. Você pode importar os arquivos de dump usando DBMS_CLOUD.COPY_DATA ou pode chamar DBMS_CLOUD.CREATE_EXTERNAL_TABLE para criar uma tabela externa.

    • Em qualquer outro Oracle Database, como o Oracle Database 19c on-premises, você pode importar os arquivos de dump criados com o procedimento DBMS_CLOUD.EXPORT_DATA usando o driver de acesso ORACLE_DATAPUMP. Consulte Unloading and Loading Data with the ORACLE_DATAPUMP Access Driver para obter mais informações.