本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
階段 1 – 準備階段 (來源資料庫保持線上狀態)
在此階段中,將要傳輸之資料表空間的資料檔案備份在來源系統上。備份副本會傳輸到目的地系統,並透過執行xttdriver.pl指令碼來還原。
步驟 1:在來源系統上取得完整 (level=0) 資料表空間備份
若要縮短備份持續時間,請將 xtt.properties和 xttdriver.pl 檔案複製到多個目錄。在每個目錄下的每個xtt.properties檔案中,在 tablespaces 參數中輸入資料表空間的名稱。然後,在每個目錄下,xttdriver.pl使用 --backup選項執行 。除了在安裝目標資料庫期間建立的 SYSTEM、UNDO、 SYSAUX和 之外TEMP,此命令會傳輸所有資料表空間。
例如,每個xtt01~xtt04目錄都有 xtt.properties 檔案中 tablespaces= 參數具有不同值的所有xtt指令碼 (xtt.properties 和 xttdriver.pl)。編輯每個xtt.properties檔案中的 tablespaces 參數時,請考慮分割資料表空間群組,讓每個資料表空間群組中的資料檔案總大小相似。
在本指南中,範例假設有四個資料表空間群組。如果來源資料庫是 Oracle 單一執行個體,您可以建立所有xtt01~04目錄。如果來源資料庫是 Oracle RAC,您可以在每個 Oracle RAC 伺服器中建立每個xtt目錄。
[oracle@erp expimp]$ ls out xtt01 xtt02 xtt03 xtt04 [oracle@erp out]$ ls out01 out02 out03 out04
下表顯示 xtt.properties 檔案中 tablespaces= 參數的範例。
|
|
|
|
|
|
|
|
|
|
|
|
若要防止在平行xttdriver.pl執行時刪除任何現有的資料檔案備份複本,請在 中註解下行xttdriver.pl。
if (@present) { ## Try deleting any existing copied datafiles ##Comment out it for executing rman command in parallel by AWS ## system("\\rm -f $dfcopydir/*.tf"); sleep 5; }
使用 xttdriver.pl進行來源系統的 RMAN 備份。
如果來源系統是 Oracle RAC,則可以同時在每個 Oracle RAC 執行個體上執行。
xttdriver.pl 的輸出會儲存在 TMPDIR 環境變數中。使用 --backup選項執行每個xttdriver.pl命令,並使用 --debug選項開啟偵錯模式。
cd /u01/oracle/expimp/xtt<nn> export TMPDIR=/u01/oracle/expimp/out/out<nn> $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup --debug 3
在此範例中,<nn> 代表資料表空間群組。如果有四個資料表空間群組,<nn> 會變成 01、03、 02和 04。
步驟 2:將完整備份複本傳輸至目的地系統
使用下列兩個選項之一,將備份複本傳輸至目的地系統。
選項 1 – 使用 AWS Snowball Edge
路徑:來源資料庫 -> 來源階段 AWS Snowball Edge -> Amazon S3 -> FSx for Lustre
注意
AWS Snowball Edge 不再提供給新客戶。新客戶應探索AWS DataSync
下圖顯示使用 Snowball Edge 傳輸完整備份。
Snowball Edge 是堅固耐用的實體儲存和運算裝置,可用來將大規模資料移至其中 AWS。Snowball Edge 有助於克服大規模資料傳輸可能遇到的挑戰,包括長時間傳輸、缺乏可用頻寬和安全問題。
整個資料檔案備份副本會透過 Snowball Edge 傳輸到 Amazon S3。如果來源系統大小超過 100 TB,您必須使用多個 Snowball Edge 裝置來縮短傳輸持續時間。
Amazon FSx for Lustre 與 Amazon S3 深度整合。您可以在幾分鐘內建立連結至 S3 儲存貯體的 FSx for Lustre 檔案系統。連結至 Amazon S3 資料儲存庫時,FSx for Lustre 檔案系統會透明地將 Amazon S3 物件呈現為檔案。在實際環境中,FSx for Lustre 的效能取決於其儲存容量、每個檔案的大小,以及檔案分發到檔案系統的程度。當 FSx for Lustre 用作目標階段儲存時,您不需要將資料表空間備份複本從 Amazon S3 還原至 Amazon Elastic Block Store (Amazon EBS) 或 Amazon Elastic File System。
-
將 S3 儲存貯體匯入 FSx for Lustre。
使用 Snowball Edge 將來源階段區域 (例如
src_backups) 傳輸並存放至 S3 儲存貯體 (例如s3-src-backups)。建立 FSx for Lustre 檔案系統 (例如
dest_backups) 做為資料檔案備份複本的目的地階段區域。在目的地系統 (Amazon EC2) 上安裝開放原始碼 Lustre 用戶端。如需詳細資訊,請參閱《Amazon FSx for Lustre 使用者指南》。
安裝 Lustre 用戶端後,將 FSx for Lustre 檔案系統掛載到目的地系統 (Amazon EC2)。
-
res.txt在來源$TMPDIR上從 傳輸到目的地$TMPDIR上的 。
選項 2 – 使用 AWS Direct Connect
路徑:來源資料庫 -> 來源階段 AWS Direct Connect -> FSx for Lustre
下圖顯示使用 傳輸完整備份 AWS Direct Connect。
Direct Connect 可讓您在資料中心、辦公室或主機代管環境與 之間建立私有網路連線 AWS。這些私有網路連線可降低網路成本、增加輸送量,並提供一致的體驗。
您可以將資料檔案備份副本直接從來源系統傳輸到掛載 Amazon FSx for Lustre 檔案系統的目的地系統 (Amazon EC2)。如果您可以容納 的高頻寬,此選項會比 Snowball Edge 選項更快 Direct Connect。
在 Snowball Edge 或 傳輸資料檔案備份複本之後 Direct Connect,您可以在目標階段區域的 FSx for Lustre 檔案系統中看到它們。
步驟 3:還原完整備份複本並轉換資料檔案
還原完整備份複本,並將資料檔案轉換為目的地系統最終格式。若要減少還原和轉換持續時間,請針對每個資料表空間群組使用 --restore選項執行 xttdriver.pl命令。
cd /u01/oracle/expimp/xtt<nn> export TMPDIR=/u01/oracle/expimp/out/out<nn> $ORACLE_HOME/perl/bin/perl xttdriver.pl --restore --debug 3
步驟完成後,資料檔案會放置在目的地系統xtt.properties檔案中定義的 dest_datafile_location 中。