使用 Oracle Data Pump 匯出資料
Oracle Data Pump 在 Autonomous AI Database 和其他 Oracle 資料庫之間提供非常快速的大量資料和描述資料移動。
Oracle 建議使用最新的 Oracle Data Pump 版本,將資料從 Autonomous AI Database 匯出至其他 Oracle 資料庫,因為其中包含增強功能和修正,以提供更好的體驗。下載最新版本的 Oracle Instant Client,並從 Oracle Instant Client 下載下載平台適用的工具套件 (包含 Oracle Data Pump)。如需下載 Oracle Instant Client 與 Tools 套件後所需的安裝步驟,請參閱平台安裝下載頁面上的安裝說明。
-
選項 1:將資料與資料汲取匯出移至 Autonomous AI Database 目錄
使用 Oracle Data Pump 將資料匯出至您資料庫中的目錄,然後將資料從目錄移至「雲端物件存放區」。當您要將資料從 Autonomous AI Database 移至多個目標資料庫時,此方法會很有幫助。您可以只建立一次傾印檔集,然後將它用於多個目標資料庫,而不將資料匯出至多個雲端物件存放區。
若要從 Autonomous AI Database 移動資料,請執行下列步驟:將資料匯出至資料庫上的目錄:- 將資料匯出至 Autonomous AI Database 上的目錄,然後將傾印檔集從目錄移至您的雲端物件存放區。請參閱在 Autonomous AI Database 上使用目錄匯出資料。
- 從雲端物件存放區下載傾印檔、將資料匯入目標資料庫,以及清除雲端物件存放區。請參閱下載傾印檔、執行資料汲取匯入以及清除物件存放區。
-
選項 2:使用資料汲取將資料匯出移至物件存放區
透過此匯出方法,您將 Oracle Data Pump 直接匯出資料至物件存放區。Oracle Cloud Infrastructure 物件儲存與 Oracle Cloud Infrastructure Object Storage Classic 支援此匯出方法。這可避免在 Autonomous AI Database 的目錄中建立傾印檔集,然後將傾印檔集移至「雲端物件存放區」的負荷。當您計劃將資料移至單一目標資料庫時,此方法可節省人力並加速匯出處理程序。
將資料直接匯出至物件存放區,執行下列步驟以從 Autonomous AI Database 移動資料:- 將資料從自治式 AI 資料庫直接匯出至雲端物件存放區。請參閱直接將資料從自治式 AI 資料庫匯出至物件存放區。
- 從雲端物件存放區下載傾印檔、將資料匯入目標資料庫,以及清除雲端物件存放區。請參閱下載傾印檔、執行資料汲取匯入以及清除物件存放區。
使用 Autonomous AI Database 上的目錄匯出資料
使用資料汲取在 Autonomous AI Database 上建立傾印檔集
-
建立一個目錄,用於儲存包含匯出資料的傾印檔。舉例而言:
CREATE DIRECTORY data_export_dir as 'data_export';
-
使用 dumpfile 參數集、 filesize 參數集小於 50G,以及 directory 參數集執行「資料汲取」匯出。例如,下列顯示如何在名為
ATPC1
且具有 64 個 ECPU 的 Autonomous AI Database 中匯出名為SALES
的綱要:expdp sales/password@ATPC1_high directory=data_export_dir dumpfile=exp%L.dmp parallel=16 encryption_pwd_prompt=yes filesize=1G logfile=export.log
「資料汲取」參數的注意事項:-
若為 ECPU,則
parallel
必須設為 ECPU 數目的 0.25 倍。因此,在上述具有 64 個 ECPU 的範例中,parallel
設為 0.25 x 64,亦即 16 與expdp
。 -
如果是 OCPU,則必須將
parallel
設為與 OCPU 數目相同的值。在上述 16 個 OCPU 的範例中,parallel
將設為 16,其中包含expdp
。 -
如果使用
expdp
進行匯出時使用encryption_pwd_prompt=yes
參數,您必須在匯入時使用encryption_pwd_prompt=yes
,並在impdp
提示輸入相同的密碼來解密傾印檔案 (請記住匯出時提供的密碼)。加密密碼的長度上限為 128 個位元組。 -
dumpfile
參數除了支援傳統%U
和%u
萬用字元之外,還支援%L
和%l
萬用字元。例如,dumpfile=export%L.dmp
。使用
%L
或%l
萬用字元從 Oracle Database 12.2 版和更新版本進行匯出。此萬用字元會將傾印檔檔案名稱展開為 3 位數的 10 位數,可變寬度遞增整數,從 100 開始,結束於 2147483646。
若要獲得最佳匯出效能,請使用匯出連線的
HIGH
資料庫服務,並將PARALLEL
參數設為資料庫中的 CPU 數目。如需連線至執行「資料汲取匯出」之資料庫服務名稱的相關資訊,請參閱 Autonomous AI Database 的預先定義資料庫服務名稱。匯出完成後,您可以執行如下的查詢來查看產生的傾印檔:SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_EXPORT_DIR');
例如,此查詢的輸出顯示產生的傾印檔與匯出日誌檔:OBJECT_NAME BYTES CHECKSUM CREATED LAST_MODIFIED ---------------------- ---------- ----–---- –------------------------–----- -------------------- exp01.dmp 12288 12-NOV-19 06.10.47.0 PM GMT 12-NOV-19... exp02.dmp 8192 12-NOV-19 06.10.48.0 PM GMT 12-NOV-19... exp03.dmp 1171456 12-NOV-19 06.10.48.0 PM GMT 12-NOV-19... exp04.dmp 348160 12-NOV-19 06.10.48.0 PM GMT 12-NOV-19... export.log 1663 12-NOV-19 06.10.50.0 PM GMT 12-NOV-19...
-
注意事項:
-
若要執行完整匯出或匯出其他使用者所擁有的物件,您需要
DATAPUMP_CLOUD_EXP
角色。 -
您用來將傾印檔移動至物件儲存的 API 支援的檔案大小上限為 50GB,因此請確定您指定的大小未高於 filesize 引數中的大小。
-
如需詳細資訊,請參閱 Oracle Database 19c Utilities 或 Oracle Database 26ai Utilities 中的 Oracle Data Pump Export 。
將傾印檔集從 Autonomous AI Database 移至您的雲端物件存放區
-
連線至您的自治式 AI 資料庫。
-
使用
DBMS_CREDENTIAL.CREATE_CREDENTIAL
程序儲存您的雲端物件儲存證明資料。舉例而言:BEGIN
DBMS_CREDENTIAL.CREATE_CREDENTIAL
( credential_name => 'DEF_CRED_NAME', username => 'adb_user@oracle.com', password => 'password' ); END; /您為username
和password
提供的值取決於您使用的雲端物件儲存服務:-
Oracle Cloud Infrastructure Object Storage :
username
是您的 Oracle Cloud Infrastructure 使用者名稱,而password
是您的 Oracle Cloud Infrastructure 認證權杖。請參閱使用認證權杖。 -
Oracle Cloud Infrastructure Object Storage Classic :
username
是您的 Oracle Cloud Infrastructure Classic 使用者名稱,而password
是您的 Oracle Cloud Infrastructure Classic 密碼。此作業會以加密格式將證明資料儲存在資料庫中。您可以使用任何證明資料名稱。請注意,除非您的物件儲存證明資料變更,否則此步驟僅需要一次。儲存證明資料之後,就可以在所有資料載入使用相同的證明資料名稱。
-
-
呼叫
DBMS_CLOUD.PUT_OBJECT
,將傾印檔從 Autonomous AI Database 移至您的 Cloud Object Store。舉例而言:BEGIN
DBMS_CLOUD.PUT_OBJECT
(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp01.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp01.dmp');DBMS_CLOUD.PUT_OBJECT
(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp02.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp02.dmp');DBMS_CLOUD.PUT_OBJECT
(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp03.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp03.dmp');DBMS_CLOUD.PUT_OBJECT
(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp04.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp04.dmp'); END; /如需
PUT_OBJECT
的相關資訊,請參閱 PUT_OBJECT 程序。
直接將資料從 Autonomous AI Database 匯出至物件存放區
顯示如何使用 Oracle Data Pump 將資料從 Autonomous AI Database 直接匯出至 Cloud Object Store。
下載傾印檔、執行資料汲取匯入,以及清除物件存放區
如有需要,請從「雲端物件存放區」下載傾印檔,然後使用「Oracle Data Pump 匯入」將傾印檔集匯入目標資料庫。然後執行任何必要的清除。
如需詳細資訊,請參閱 Oracle Database 19c Utilities 或 Oracle Database 26ai Utilities 中的 Parameters Available in Oracle Data Pump Import Command-Line Mode 。