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.
Argomenti correlati
Eliminare 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 nella directory. Per eliminare la directory e i file nella directory, usare la procedura DBMS_CLOUD.DELETE_FILE
per eliminare i file. Per ulteriori informazioni, vedere DELETE_FILE Procedura.
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 il privilegio di sistema DROP ANY DIRECTORY
ad altri utenti.
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 rimuovere i file nella directory, dopo aver eliminato la directory è possibile visualizzare tutti i file nel file system, compresi i file che si trovavano nella directory eliminata, come indicato di seguito.
CREATE OR REPLACE DIRECTORY ROOT_DIR AS '';
Elencare quindi 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 LIST_FILES Funzione. -
Il comando
DROP DIRECTORY
non rimuove la directory del file system di base. Il database AI autonomo gestisce la directory del file system di base; gli utenti non rimuovono la directory del file system.
Elenca il contenuto di una directory
Utilizzare la funzione DBMS_CLOUD.LIST_FILES
per elencare i contenuti di una directory.
Ad esempio, per elencare i contenuti della directory stage
, eseguire la query seguente:
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 LIST_FILES Funzione.
Copia i file tra lo storage degli oggetti cloud e una 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 in 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 di 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 GET_OBJECT Procedura e Procedura PUT_OBJECT.