Consulta de archivos de volcado de pump de datos externos

También puede consultar los archivos de volcado de Oracle Data Pump en la nube mediante la creación de una tabla externa mediante DBMS_CLOUD.CREATE_EXTERNAL_TABLE.

Los archivos de origen para crear este tipo de tabla externa se deben exportar del sistema de origen mediante el controlador de acceso ORACLE_DATAPUMP en Tablas externas. Consulte Descarga y carga de datos con el controlador de acceso ORACLE_DATAPUMP para obtener información sobre la exportación mediante el controlador de acceso ORACLE_DATAPUMP.

Para crear una tabla externa, en primer lugar, mueva los archivos de volcado de Oracle Data Pump que se han exportado mediante el controlador de acceso ORACLE_DATAPUMP al almacén de objetos y, a continuación, utilice DBMS_CLOUD.CREATE_EXTERNAL_TABLE para crear la tabla externa.

Los archivos de origen de este ejemplo son los archivos de volcado de Oracle Data Pump, exp01.dmp y exp02.dmp.

  1. Store las credenciales del almacén de objetos mediante el procedimiento DBMS_CLOUD.CREATE_CREDENTIAL.

    Por ejemplo:

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

    Con esta operación se almacenan las credenciales en la base de datos en un formato cifrado. Puede utilizar cualquier nombre para el nombre de credencial. Tenga en cuenta que este paso solo es necesario una vez, a menos que cambien las credenciales del almacén de objetos. Una vez almacenadas las credenciales, puede utilizar el mismo nombre de credencial para crear tablas externas.

    Consulte Procedimiento CREATE_CREDENTIAL para obtener información sobre los parámetros username y password para diferentes servicios de almacenamiento de objetos.

  2. Cree una tabla externa sobre los archivos de origen mediante el procedimiento DBMS_CLOUD.CREATE_EXTERNAL_TABLE.

    Por ejemplo:

    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;
    /
    

    Los parámetros son:

    • table_name: es el nombre de la tabla externa.

    • credential_name: es el nombre de la credencial creada en el paso anterior.

    • file_uri_list: es una lista delimitada por comas de los archivos de volcado de Data Pump que desea consultar.

    • format: define las opciones que puede especificar para describir el formato del archivo de origen y las opciones que puede especificar para describir el formato del archivo de origen. Al especificar el tipo 'datapump', el único parámetro de formato válido es 'rejectlimit'.

    • column_list: es una lista delimitada por comas de las definiciones de columna en los archivos de origen.

    En este ejemplo, namespace-string es el espacio de nombres de almacenamiento de objetos de Oracle Cloud Infrastructure, y bucketname es el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.

    A continuación puede ejecutar consultas en la tabla externa que ha creado en el paso anterior. Por ejemplo:

    SELECT count(*) FROM channels_ext;

    Por defecto, la base de datos espera que todas las filas del archivo de datos externo sean válidas y que coincida con las definiciones de tipo de dato de destino, así como con la definición de formato de los archivos. Como parte de la validación, DBMS_CLOUD se asegura de que todas las partes del archivo de volcado necesarias estén allí y también comprueba que los archivos de volcado sean válidos y no estén dañados (por ejemplo, exp01.dmp, exp02.dmp, etc.). Puede utilizar la opción de formato DBMS_CLOUD rejectlimit para suprimir estos errores. Como alternativa, también puede validar la tabla externa que ha creado para ver los mensajes de error y las filas rechazadas. Consulte Validación de datos externos para obtener más información.

    Para obtener información detallada sobre los parámetros, consulte Procedimiento CREATE_EXTERNAL_TABLE.

    Consulte Formatos de URI DBMS_CLOUD para obtener más información sobre los servicios de almacenamiento de objetos en la nube soportados.