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:
- Se si desidera solo eliminare la directory e non si rimuovono i file nella directory, dopo aver eliminato la directory è possibile visualizzare tutti i file nel file system, inclusi tutti i file presenti nella directory eliminata, come indicato di seguito.
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.
- Il comando
DROP DIRECTORYnon rimuove la directory del file system di base. Autonomous AI Database gestisce la directory del file system sottostante; gli utenti non rimuovono la directory del file system.
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