Consultar Arquivos de Dump do Data Pump Externo

Você também pode consultar arquivos de dump do Oracle Data Pump na Nuvem criando uma tabela externa usando DBMS_CLOUD.CREATE_EXTERNAL_TABLE.

Os arquivos de origem para criar esse tipo de tabela externa devem ser exportados do sistema de origem usando o driver de acesso ORACLE_DATAPUMP nas Tabelas Externas. Consulte Descarregando e Carregando Dados com o Driver de Acesso ORACLE_DATAPUMP para obter detalhes sobre como exportar usando o driver de acesso ORACLE_DATAPUMP.

Para criar uma tabela externa, primeiro mova os arquivos de dump do Oracle Data Pump que foram exportados usando o driver de acesso ORACLE_DATAPUMP para o Object Store e, em seguida, use DBMS_CLOUD.CREATE_EXTERNAL_TABLE para criar a tabela externa.

Os arquivos de origem neste exemplo são os arquivos de dump do Oracle Data Pump, exp01.dmp e exp02.dmp.

  1. Armazene suas credenciais do armazenamento de objetos usando o procedimento DBMS_CLOUD.CREATE_CREDENTIAL.

    Por exemplo:

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password' );
    END;
    /
    

    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 é obrigatória apenas uma vez, a menos que as credenciais do armazenamento de objetos sejam alteradas. Depois de armazenar as credenciais, você poderá usar o mesmo nome de credencial para criar tabelas externas.

    Consulte Procedimento CREATE_CREDENTIAL para obter informações sobre os parâmetros username e password para diferentes serviços de armazenamento de objetos.

  2. Crie uma tabela externa na parte superior de seus arquivos de origem usando o procedimento DBMS_CLOUD.CREATE_EXTERNAL_TABLE.

    Por exemplo:

    BEGIN
       DBMS_CLOUD.CREATE_EXTERNAL_TABLE(
        table_name =>'CHANNELS_EXT',
        credential_name =>'DEF_CRED_NAME',
        file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp01.dmp,
                         https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp02.dmp'
        format => json_object('type' value 'datapump', 'rejectlimit' value '1'),
        column_list => 'CHANNEL_ID NUMBER, CHANNEL_DESC VARCHAR2(20), CHANNEL_CLASS VARCHAR2(20)' );
    END;
    /
    

    Os parâmetros são:

    • table_name: é o nome da tabela externa.

    • credential_name: é o nome da credencial criada na etapa anterior.

    • file_uri_list: é uma lista delimitada por vírgulas dos arquivos de dump do Data Pump que você deseja consultar.

    • format: define as opções que você pode especificar para descrever o formato do arquivo-fonte define as opções que você pode especificar para descrever o formato do arquivo-origem. Quando você especifica o tipo 'datapump', o único outro parâmetro de formato válido é 'rejectlimit'.

    • column_list: é uma lista delimitada por vírgulas das definições de coluna nos arquivos de origem.

    Neste exemplo, namespace-string é o namespace do Oracle Cloud Infrastructure Object Storage e bucketname é o nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.

    Agora você pode executar consultas na tabela externa criada na etapa anterior. Por exemplo:

    SELECT count(*) FROM channels_ext;

    Por padrão, o banco de Dados espera que todas as linhas do arquivo de dado externo sejam válidas e correspondam às definições de tipo de dado de destino e à definição de formato dos arquivos. Como parte da validação, o DBMS_CLOUD garante que todas as partes necessárias do arquivo de dump estejam lá e também verifica se os arquivos de dump são válidos e não estão corrompidos (por exemplo, exp01.dmp, exp02.dmp etc.). Você pode usar a opção de formato DBMS_CLOUD rejectlimit para suprimir esses erros. Como alternativa, você também pode validar a tabela externa criada para ver as mensagens de erro e as linhas rejeitadas. Consulte Validar Dados Externos para obter mais informações.

    Para obter informações detalhadas sobre os parâmetros, consulte CREATE_EXTERNAL_TABLE Procedure.

    Consulte DBMS_CLOUD Formatos de URI para obter mais informações sobre os serviços de armazenamento de objetos na nuvem suportados.