管理目錄

專用 Exadata 基礎架構上的自治式 AI 資料庫可讓您在資料庫中建立目錄,以儲存檔案,就像在作業系統檔案系統中一樣。此儲存檔案的功能在匯出和匯入資料時特別有用。

刪除目錄

使用資料庫 DROP DIRECTORY 命令來刪除目錄物件。

例如,下列命令會刪除資料庫目錄物件 staging:

DROP DIRECTORY staging;

DROP DIRECTORY 指令不會刪除目錄中的檔案。若要刪除目錄和目錄中的檔案,請先使用 DBMS_CLOUD.DELETE_FILE 程序來刪除檔案。請參閱 DELETE_FILE 程序以瞭解詳細資訊。

若要刪除目錄,您必須具有 DROP ANY DIRECTORY 系統權限。ADMIN 使用者被授予 DROP ANY DIRECTORY 系統權限。ADMIN 使用者可以將 DROP ANY DIRECTORY 系統權限授予其他使用者。

請參閱 Oracle Database 19c SQL Language Reference 中的 DROP DIRECTORY 或 Oracle Database 26ai SQL Language Reference ,瞭解詳細資訊。

注意:

CREATE OR REPLACE DIRECTORY ROOT_DIR AS '';

然後使用下列指令列出 ROOT_DIR 的內容:

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

若要以 ADMIN 以外的使用者執行 DBMS_CLOUD.LIST_FILES,您必須將目錄的讀取權限授與該使用者。請參閱 LIST_FILES 函數以瞭解詳細資訊。

列出目錄的內容

使用函數 DBMS_CLOUD.LIST_FILES 列出目錄的內容。

例如,若要列出 stage 目錄的內容,請執行下列查詢:

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

若要以 ADMIN 以外的使用者執行 DBMS_CLOUD.LIST_FILES,您必須將目錄的讀取權限授與該使用者。請參閱 LIST_FILES 函數以瞭解詳細資訊。

在雲端物件儲存和目錄之間複製檔案

使用 DBMS_CLOUD.PUT_OBJECT 程序將檔案從目錄複製到雲端物件儲存。請使用 DBMS_CLOUD.GET_OBJECT 程序將檔案從雲端物件儲存複製到目錄。

例如,若要將檔案從雲端物件儲存複製到 stage 目錄,請執行下列命令:

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

在此範例中,object_uri 是 Oracle Cloud Infrastructure Swift URI,指定 us-phoenix-1 區域中 mybucket 儲存桶的 cwallet.sso 檔案。(idthydc0kinr 是儲存桶所在的物件儲存命名空間。) 如需支援 URI 格式的相關資訊,請參閱雲端物件儲存 URI 格式。

若要以 ADMIN 以外的使用者執行 DBMS_CLOUD.GET_OBJECT,您必須將目錄的寫入權限授與該使用者。

若要以 ADMIN 以外的使用者執行 DBMS_CLOUD.PUT_OBJECT,您必須將目錄的讀取權限授與該使用者。

請參閱 GET_OBJECT 程序和 PUT_OBJECT 程序以瞭解詳細資訊。

相關主題