Gestisci directory

Autonomous AI Database on Dedicated Exadata Infrastructure ti offre la possibilità di creare directory nel tuo database in cui puoi memorizzare i file, come puoi fare in un file system del sistema operativo. Questa capacità di memorizzare i file è particolarmente utile quando si esportano e si importano i dati.

Elimina una directory

Utilizzare il comando DROP DIRECTORY del database per eliminare un oggetto directory.

Ad esempio, il comando seguente elimina l'oggetto directory del database staging:

DROP DIRECTORY staging;

Il comando DROP DIRECTORY non elimina i file presenti nella directory. Se si desidera eliminare la directory e i file nella directory, utilizzare prima la procedura DBMS_CLOUD.DELETE_FILE per eliminare i file. Per ulteriori informazioni, vedere Procedura ELETE_FILE.

Per eliminare una directory, è necessario disporre del privilegio di sistema DROP ANY DIRECTORY. All'utente ADMIN viene concesso il privilegio di sistema DROP ANY DIRECTORY. L'utente ADMIN può concedere ad altri utenti il privilegio di sistema DROP ANY DIRECTORY.

Per ulteriori informazioni, vedere DROP DIRECTORY in Oracle Database 19c SQL Language Reference o Oracle Database 26ai SQL Language Reference.

Nota:

CREATE OR REPLACE DIRECTORY ROOT_DIR AS '';

Quindi elencare il contenuto di ROOT_DIR con il comando seguente:

 SELECT * FROM DBMS_CLOUD.LIST_FILES('ROOT_DIR');

Per eseguire DBMS_CLOUD.LIST_FILES con un utente diverso da ADMIN, è necessario concedere privilegi di lettura sulla directory a tale utente. Per ulteriori informazioni, vedere FunzioneLIST_FILES.

Elenca i contenuti di una directory

Utilizzare la funzione DBMS_CLOUD.LIST_FILES per elencare il contenuto di una directory.

Ad esempio, per elencare il contenuto della directory stage, eseguire la seguente query:

SELECT * FROM DBMS_CLOUD.LIST_FILES('STAGE');

Per eseguire DBMS_CLOUD.LIST_FILES con un utente diverso da ADMIN, è necessario concedere privilegi di lettura sulla directory a tale utente. Per ulteriori informazioni, vedere FunzioneLIST_FILES.

Copia file tra storage degli oggetti cloud e directory

Utilizzare la procedura DBMS_CLOUD.PUT_OBJECT per copiare un file da una directory allo storage degli oggetti cloud. Utilizzare la procedura DBMS_CLOUD.GET_OBJECT per copiare un file dallo storage degli oggetti cloud a una directory.

Ad esempio, per copiare un file dallo storage degli oggetti cloud alla directory stage, eseguire il comando seguente:

BEGIN
   DBMS_CLOUD.GET_OBJECT(
   credential_name => 'DEF_CRED_NAME',
   object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/cwallet.sso',
   directory_name => 'STAGE');
END;
/

In questo esempio, object_uri è un URI Swift di Oracle Cloud Infrastructure che specifica il file cwallet.sso nel bucket mybucket nell'area us-phoenix-1. (idthydc0kinr è lo spazio di nomi dello storage degli oggetti in cui risiede il bucket). Per informazioni sui formati URI supportati, vedere Formati URI dello storage degli oggetti cloud.

Per eseguire DBMS_CLOUD.GET_OBJECT con un utente diverso da ADMIN, è necessario concedere privilegi di scrittura sulla directory a tale utente.

Per eseguire DBMS_CLOUD.PUT_OBJECT con un utente diverso da ADMIN, è necessario concedere privilegi di lettura sulla directory a tale utente.

Per ulteriori informazioni, vedere la procedura GET_OBJECT e la procedura PUT_OBJECT.

Argomenti correlati