Esporta dati in una directory come file di Oracle Data Pump

È possibile esportare i dati in una directory come file di dump di Oracle Data Pump specificando una query.

Con questo metodo di esportazione si utilizza la procedura DBMS_CLOUD.EXPORT_DATA per specificare una query per selezionare i dati da esportare come file di dump in una directory.

  1. Connettersi all'istanza di Autonomous Database.
  2. Crea una directory.

    Ad esempio:

    CREATE DIRECTORY export_dir AS 'export_dir';
    Per ulteriori informazioni, vedere Crea directory in Autonomous Database.
  3. Esportare i dati da Autonomous Database nella directory come file di dump di Oracle Data Pump con DBMS_CLOUD.EXPORT_DATA e specificare il parametro format type come datapump. Ad esempio:
    BEGIN
     DBMS_CLOUD.EXPORT_DATA(
        file_uri_list => 'export_dir:sales.dmp',
        format => json_object('type' value 'datapump'),
        query => 'SELECT * FROM sales'
     );
    END;
    /
    

    Esempio di esportazione di dati come più file Data Pump in una directory:

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

    Di seguito sono riportati i parametri.

    • file_uri_list: è una lista delimitata da virgole dei file di esportazione. L'uso dei caratteri jolly e di sostituzione non è supportato nel file file_uri_list.

    • format: specifica il parametro type richiesto. I valori validi sono datapump, json, xml, csv e parquet e, facoltativamente, definisce anche le opzioni che è possibile specificare per l'esportazione con il driver di accesso ORACLE_DATAPUMP.

    • query: specifica un'istruzione SELECT in modo che vengano esportati solo i dati richiesti. La query determina il contenuto dei file di dump.

    Nota

    La procedura DBMS_CLOUD.EXPORT_DATA crea i file di dump specificati nel file file_uri_list.

    Per informazioni dettagliate sui parametri, vedere EXPORT_DATA Procedura.

Note per l'esportazione di dati con DBMS_CLOUD.EXPORT_DATA:

  • La directory fornita deve esistere ed è necessario eseguire il login come utente ADMIN o disporre dell'accesso WRITE alla directory.

  • La procedura non sovrascrive i file. Se esiste un file di dump in file_uri_list, DBMS_CLOUD.EXPORT_DATA segnala un errore simile al seguente:

    ORA-31641: unable to create dump file  "/u02/exports/123.dmp"
    ORA-27038: created file already exists
  • DBMS_CLOUD.EXPORT_DATA non crea directory.

  • Il nome della directory fa distinzione tra maiuscole e minuscole quando è racchiuso tra virgolette.

  • Il numero di file di dump generati da DBMS_CLOUD.EXPORT_DATA viene determinato all'esecuzione della procedura. Il numero di file di dump generati dipende dal numero di nomi di file forniti nel parametro file_uri_list, nonché dal numero di ECPU disponibili per l'istanza, dal livello di servizio e dalla dimensione dei dati.

    Ad esempio, se si utilizza un'istanza di Autonomous Database 2 ECPU o il servizio low, viene esportato un singolo file di dump senza parallelismo, anche se si forniscono più nomi di file. Se si utilizza un'istanza di Autonomous Database 8 ECPU con il servizio medium o high, i job possono essere eseguiti in parallelo e i file di dump multipli vengono esportati se si forniscono più nomi di file.

  • Il valore del parametro query fornito può essere una query avanzata, se necessario, ad esempio una query che include join o subquery.

  • I file di dump creati con DBMS_CLOUD.EXPORT_DATA non possono essere importati utilizzando Oracle Data Pump impdp. A seconda del database, è possibile utilizzare i file indicati di seguito.

    • In un Autonomous Database, è possibile utilizzare i file di dump con le procedure DBMS_CLOUD che supportano il parametro format type con il valore 'datapump'. È possibile importare i file di dump utilizzando DBMS_CLOUD.COPY_DATA oppure chiamare DBMS_CLOUD.CREATE_EXTERNAL_TABLE per creare una tabella esterna.

    • In qualsiasi altro Oracle Database, ad esempio Oracle Database 19c in locale, è possibile importare i file di dump creati con la procedura DBMS_CLOUD.EXPORT_DATA utilizzando il driver di accesso ORACLE_DATAPUMP. Per ulteriori informazioni, vedere Scaricamento e caricamento dei dati con il driver di accesso ORACLE_DATAPUMP.