12c – 使用跨平臺增量備份來減少傳輸表空間的停機時間 (文件 ID 2102859.1)
文件內容
|
用途 |
|
適用範圍 |
|
詳細資訊 |
概述 |
跨平臺增量備份支援指令碼 |
前提條件 |
問題分析 |
已知問題 |
使用跨平臺增量備份及傳輸表空間技術來減少停機時間 |
文件約定 |
階段1 – 初始設定 |
步驟1.1 – 安裝目標資料庫軟體並且建立目標資料庫 |
步驟1.2 – 確定要進行傳輸的表空間 |
步驟1.3 – 在源庫上安裝 xttconvert 指令碼 |
步驟1.4 – 建立必要的目錄 |
步驟1.5 – 在源庫中配置 xtt.properties |
步驟1.6 – 複製 xttconvert 指令碼和 xtt.properties 檔案到目標系統 |
步驟1.7 – 這是 TMPDIR 環境變數 |
階段2 – 準備階段 |
步驟2.1 – 在源庫中做備份 |
步驟2.2 – 把下面的檔案傳送到目標系統 |
步驟2.3 – 在目標庫上還原資料檔案 |
階段3 – 前滾階段 |
步驟3.1 – 在源庫需要傳輸的表空間上做增量備份 |
步驟3.2 – 傳輸增量備份到目標系統 |
步驟3.3 – 應用增量備份到目標系統的資料檔案複製中 |
步驟3.4 - 為下次增量備份確定 from_scn |
步驟 3.5 – 或者重複執行前滾階段3 (3.1 – 3.4)或者直接執行階段4 – 最後一次增量備份 |
階段4 – 最後一次增量備份 |
步驟4.1 – 在源庫中把源表空間置為 READ ONLY 模式 |
步驟4.2 – 建立最後一次增量備份併傳送相關檔案到目標系統 |
步驟4.3 – 應用最後的增量備份到目標系統 |
階段5 – 傳輸階段:匯入物件後設資料至目標資料庫 |
步驟5A – 匯入已存在的 dump 檔案 |
步驟5A.1 – 建立資料泵目錄及賦予許可權 |
步驟5A.2 修改並執行 impdp 命令: |
步驟5B – 使用 dblink 匯入 |
步驟5B.1 – 為網路匯入生成新的 xttplugin.txt |
步驟5B.2 – 在目標系統上建立一個 dblink |
步驟5B.3 – 修改並執行 impdp 命令 |
階段6 -校驗資料 |
步驟6.1 – 檢查表空間是否發生 corruption |
步驟6.2 – 在目標系統上把相關的表空間設為 READ WRITE 模式 |
階段7 -收尾 |
附錄 |
Perl 指令碼 xttdriver.pl 命令選項的描述 |
配置檔案 xtt.properties 中的引數描述 |
更改歷史 |
|
參考 |
適用於:
Oracle Database - Enterprise Edition - 版本 12.1.0.2 和更高版本Linux x86-64
用途
本文件覆蓋了在 12c 及更高版本上,使用跨平臺傳輸表空間(XTTS)以及 RMAN 增量備份,以最小的應用停機時間,在不同 endian 格式的系統間遷移資料的步驟。
第一步是從源系統複製一份 full backup 到目標系統。之後,使用一系列的增量備份(每一份都比前一份要小),這樣在停機前可以做到目標系統的資料和源系統“幾乎”一致。需要停機的步驟只有最終的增量備份及後設資料匯出/匯入。
這個文件描述了在 12c 下使用跨平臺增量備份的步驟,關於 11g 下的步驟,請您參考 Note:1389592.1。
跨平臺增量備份的主要步驟有:
- 初始化設定
- 準備階段(源庫資料仍然線上)
- 備份要傳輸的表空間(0級備份)
- 把備份及其它必須的檔案傳送到目標系統
- 在目標系統恢復資料檔案至目標端的 endian 格式
- 前滾階段(源庫資料仍然線上 – 要重複這個階段足夠多次,使得目標資料檔案複製和源庫越相近越好)
- 在源庫建立增量備份
- 把增量備份及其它必須的檔案傳送到目標系統
- 把增量備份轉換成目標系統的 endian 格式並且把增量備份應用至目標資料檔案
- 為下次增量備份確定 next_scn
- 重複這些步驟直到已經準備好了操作傳輸表空間
- 傳輸階段(此時源庫資料需要置於 READ ONLY 模式)
- 在源庫端把表空間置為 READ ONLY
- 最後一次執行前滾階段的步驟
- 這個步驟會讓目標系統的資料檔案複製和源庫資料檔案完全一致並且產生必要匯出檔案。
- 在資料量非常大的情況下,這個步驟所花費的時間要顯著的少於傳統的 XTTS 方式,因為增量備份會很小。
適用範圍
源庫可以是下面列出的滿足前提條件的任何平臺。但是目標系統必須是 Linux,可以是64位 Oracle Linux 或者 RedHat
Linux,只要是認證的版本。一個典型的案例是遷移資料從大 endian 平臺比如 IBM AIX,HP-UX 或者 Solaris
SPARC,到64位 Oracle Linux 比如執行在 Oracle Linux 上的 Oracle Exadata 一體機。
如果要遷移小 endian 平臺到 Oracle Linux,那麼可以考慮的最好辦法是 Data Guard。關於使用異構平臺 Data Guard 遷移小 endian 平臺到 Oracle Linux 的更詳細資訊可以參考 Note 413484.1。
詳細資訊
概述
這個文件提供了一個測試案例,列出了使用 Oracle 跨平臺增量備份技術把 Oracle Solaris SPARC 系統的兩個表空間 TS1 和 TS2 傳輸至 Oracle Linux 並減少停機時間的詳細步驟。
在完成初始化步驟後,要執行下面的步驟來移動資料:
準備:
在準備階段,要在源庫上對錶空間的資料檔案做一個0級備份。備份需要傳送至目標系統,資料檔案被還原並轉換成目標系統的 endian 格式。
前滾:
在前滾階段,會對上個步驟還原的資料檔案使用從源庫上做的增量備份來做前滾。對這個步驟做多次,每個增量備份會變得越來越小並且應用這些增量備份所花的時間也會越來越小,並可以讓目標系統“幾乎”和源庫一致。而在這個過程中,應用程式不會受到任何影響。
傳輸:
在傳輸階段,源庫中要遷移的表空間需要置為 READ ONLY 模式,並且需要在源庫最後做一次增量備份。這個備份會被傳送至目標系統並且應用到目標系統的資料檔案上。此時,目標的資料檔案複製和源庫已經是一致的了;而要遷移的應用程式不能做任何更改操作。表空間會使用傳輸表空間技術匯入到目標資料庫。最終,目標系統上的表空間會被置於 READ WRITE 模式並且提供完全的訪問。
跨平臺增量備份支援指令碼
跨平臺增量備份的核心功能是在 Oracle 資料庫 11.2.0.4 及之後版本上提供的,而對於 11g 版本,需要按照 Note 1389592.1 裡提供的步驟來操作。本文提到的步驟適用於 Oracle 12c,12.1 或者更高版本,可以參照 Requirements and Recommendations 部分。另外,附件 rman_xttconvert_ver2.zip 中包含了一些在實施跨平臺增量備份及 XTTS 時用到的支援指令碼。
主要的支援指令碼包括下面的幾個:
- Perl 指令碼 xttdriver.pl 是用來執行 XTTS 和跨平臺增量備份的主要步驟的。
- 引數檔案 xtt.properties 儲存了一些站點相關的配置。
前提條件
在開始操作前,必須要先滿足下面的前提條件:
- 必須要考慮傳輸表空間的限制及注意事項,它們定義在下面的線上文件中:
- Oracle Database Administrator's Guid
- Oracle Database Utilities
-
除了傳輸表空間的限制及注意事項,還要注意下面的條件:
- 源庫的作業系統不能是 Windows。
- 源庫的 COMPATIBLE 引數必須設定為 12.1.0 或更高。
- 源庫的 COMPATIBLE 引數值不能大於目標庫的 COMPATIBLE 引數值。
- 源庫必須處於 ARCHIVELOG 模式。
- 源庫的 RMAN 配置裡 DEVICE TYPE DISK 不能設定為 COMPRESSED。
- 目標庫的 COMPATIBLE 引數必須設定為 12.1.0 或更高。
- 要遷移的表空間的資料檔案必須都是 online 或者不包含 offline 的資料檔案。表空間必須是 READ WRITE 模式。READ ONLY 的表空間可以用普通的 XTTS 方式遷移,沒有必要使用跨平臺增量備份的技術來遷移 READ ONLY 的表空間。
- 這些步驟都需要使用 OSDBA 組中的 oracle 使用者來執行。需要使用 OS 驗證的方式來連線源庫和目標庫。
- 這個方法不支援multitenant databases。Enhancement bug 22570430 描述了這個限制。
問題分析
Debug 模式可以列印更多的螢幕輸出,並且開啟 RMAN 的 debug 模式。要啟用 debug 模式,或者以 -d 引數執行 xttdriver.pl 或者在執行 xttdriver.pl 前設定環境變數 XTTDEBUG=1。這個引數接受3種級別,-d[1/2/3]級別3會顯示最多的資訊。
已知問題
- 如果前滾階段(xttdriver.pl -r)失敗了並顯示下面的錯誤,需要檢查 RMAN DEVICE TYPE DISK 是否被配置成了 COMPRESSED:
Entering RollForward
After applySetDataFile
Done: applyDataFileTo
Done: RestoreSetPiece
DECLARE
*
ERROR at line 1:
ORA-19624: operation failed, retry possible
ORA-19870: error while restoring backup piece
/dbfs_direct/FS1/xtts/incrementals/xtts_incr_backup
ORA-19608: /dbfs_direct/FS1/xtts/incrementals/xtts_incr_backup is not a backup
piece
ORA-19837: invalid blocksize 0 in backup piece header
ORA-06512: at "SYS.X$DBMS_BACKUP_RESTORE", line 2338
ORA-06512: at line 40
使用跨平臺增量備份及傳輸表空間技術來減少停機時間
XTTS 和跨平臺傳輸表空間被分成下面的階段:
- 階段 1 - 初始設定階段
- 階段 2 - 準備階段
- 階段 3 - 前滾階段
- 階段 4 - 最後的增量備份階段
- 階段 5 - 傳輸階段: 匯入後設資料
- 階段 6 - 校驗資料
- 階段 7 - 收尾
文件約定
- 所有的命令都是使用的bash的語法
- 如果命令前面的提示符是 [oracle@source]$ 代表是在源系統上以 oracle 使用者執行的。
- 如果命令前面的提示符是 [oracle@dest]$ 代表是在目標系統上以 oracle 使用者執行的。
階段1 – 初始設定
為了跨平臺增量備份,需要執行下面的步驟來配置環境:
步驟1.1 – 安裝目標資料庫軟體並且建立目標資料庫在目標系統上安裝 Oracle 資料庫軟體,它一定需要是 Oracle 12c 版本的。
在目標系統上確定(或者建立)一個資料庫用來匯入表空間,並且建立傳輸表空間需要的使用者。
在源庫上確定要進行遷移的表空間。在這個例子裡我們會使用表空間 TS1 和 TS2。就像之前提到的那樣,傳輸表空間的前提條件和注意事項都需要仔細驗證。
步驟1.3 – 在源庫上安裝 xttconvert 指令碼在源庫上,使用 oracle 軟體的使用者,下載並解壓縮這個文件的附件:支援指令碼 rman-xttconvert_2.0.zip:
/home/oracle/xtt
[oracle@source]$ unzip rman-xttconvert_2.0.zip
Archive: rman-xttconvert_2.0.zip
inflating: xttcnvrtbkupdest.sql
inflating: xttdbopen.sql
inflating: xttdriver.pl
inflating: xttprep.tmpl
inflating: xtt.properties
inflating: xttstartupnomount.sql
-
在源庫:
- 存放備份的目錄,在 xtt.properties 檔案中由 backupformat 引數定義。
-
在目標庫:
- 目標系統中暫存區,在 xtt.properties 檔案中由 stageondest 引數定義。
- 目標系統中資料檔案的位置,在 xtt.properties 檔案中由 storageondest 引數定義。
按照本系統配置編輯源庫 xtt.properties 檔案。關於這個檔案中引數的更多資訊,請參照本文件附錄中的“配置檔案 xtt.properties中 的引數描述”部分。只要下面的引數是本文件必需的,其它的都是可選項/或者和備份的相容有關的部分,可以忽略:
-
- tablespaces
- platformid
- backupformat
- stageondest
- storageondest
使用 oracle 軟體的使用者複製所有的 xttconvert 指令碼和修改後的 xtt.properties 檔案到目標系統:
在源庫和目標庫的 shell 環境裡設定環境變數 TMPDIR,指向支援指令碼所在的目錄。使用相同的 shell 來執行 Perl 指令碼 xttdriver.pl。如果 TMPDIR 沒有設定,那麼輸出檔案會被放在 /tmp 中;並且輸入檔案也應該放在 /tmp 下。
[oracle@dest]$ export TMPDIR=/home/oracle/xtt
階段2 – 準備階段
在準備階段,源庫中要對要遷移的表空間的所有資料檔案做備份;備份需要傳送到目標系統,並且使用 xttdriver.pl 指令碼還原。
11G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 1389592.1).
步驟2.1 – 在源庫中做備份
步驟2.2 – 把下面的檔案傳送到目標系統在源系統中,使用 oracle 使用者及環境變數(ORACLE_HOME 和 ORACLE_SID 環境變數)指向源庫,做備份如下:
[oracle@source]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup
- 建立在源系統 backupformat 目錄中的備份需要傳送至目標系統 stageondest 目錄
在下面的例子裡,使用 scp 命令來傳送從源系統中做的0級備份到目標系統中:
[oracle@dest]$ scp /backupformat/* oracle@dest:/stageondest
從源系統 $TMPDIR 到目標系統的 $TMPDIR,如下:
步驟2.3 – 在目標庫上還原資料檔案
- tsbkupmap.txt
- xttnewdatafiles.txt
在目標系統中,使用 oracle 使用者及環境變數(ORACLE_HOME 和 ORACLE_SID 環境變數)指向目標庫,還原資料檔案如下:
[oracle@dest]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --restore
資料檔案會被放在目標系統中由 storageondest 定義的目錄中
階段3 – 前滾階段
在這個階段,增量備份會在源庫建立,傳送到目標系統,轉換成目標系統的 endian 格式,應用到目標資料檔案複製上並進行前滾。這個階段可能需要執行很多次。每次增量備份都會比上次的增量備份花費更少的時間,並且把目標系統的資料檔案複製和源庫更貼近。在這個階段,源庫上的資料仍然可以被正常訪問。
步驟3.1 – 在源庫需要傳輸的表空間上做增量備份步驟3.2 – 傳輸增量備份到目標系統在源系統上,使用 oracle 使用者及環境變數(ORACLE_HOME 和 ORACLE_SID 環境變數)指向源庫,做增量備份如下:
[oracle@source]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --bkpinc
這個步驟可以對 xtt.properties 中列出的所有表空間生成增量備份。它同時生成的下面的檔案也必須和備份檔案一起傳送到目標系統中:
- xttplan.txt
- tsbkupmap.txt
- incrbackups.txt
步驟3.3 – 應用增量備份到目標系統的資料檔案複製中把上個步驟產生的增量備份檔案及其它需要的檔案傳輸到目標系統的 stageondest 處。下面列出了源庫中 incrbackups.txt 檔案中發現的需要複製的檔案列表:
[oracle@source]$ scp `cat incrbackups.txt` oracle@dest:/stageondest
[oracle@source]$ scp xttplan.txt oracle@dest:/stageondest
[oracle@source]$ scp tsbkupmap.txt oracle@dest:/stageondest
[oracle@source]$ scp incrbackups.txt oracle@dest:/stageondest
如果源系統的 backupformat 和目標系統的 stageondest 指向了同一個 NFS 儲存空間,那麼備份檔案時不需要再複製了,因為它們已經是放在了目標系統的期望目錄中。
但是其它的檔案(xttplan.txt, tsbkupmap.txt, incrbackups.txt)在每次增量備份中仍然需要複製,因為這些檔案的內容會在每次執行步驟3.4後發生改變。
步驟3.4 - 為下次增量備份確定 from_scn在目標系統中,使用 oracle 使用者及環境變數(ORACLE_HOME 和 ORACLE_SID環境變數)指向目標庫,前滾資料檔案如下:
[oracle@dest]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --recover前滾步驟會連線至目標系統並且把增量備份應用到要進行傳輸的表空間的資料檔案中。
注意:每次這個步驟在執行中,都需要複製 xttplan.txt 和 tsbkupmap.txt,因為它們的內容在每次執行時都會發生改變。
為了下次增量備份,在源系統中,使用oracle使用者及環境變數(ORACLE_HOME 和 ORACLE_SID環境變數)指向源庫,執行下面的操作來確定新的 FROM_SCN:步驟 3.5 – 或者重複執行前滾階段3 (3.1 – 3.4)或者直接執行階段4 – 最後一次增量備份
[oracle@source]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -s
這可以為下次 FROM_SCN 步驟計算出下個 from_scn,並記錄在 xttplan.txt 檔案中,然後再下次再做增量備份時就可以使用這個 SCN 了。
到現在為止,我們有兩種選擇
- 如果需要把目標資料庫的資料和生產庫同步更近一些,那麼重複前滾階段,從步驟3.1開始。
- 如果覺得目標系統已經和源庫足夠接近了,那麼執行傳輸階段。
階段4 – 最後一次增量備份
在這個階段,源資料會被置為只讀,而目標系統會和源庫資料透過最後一次增量備份完全同步。之後就可以透過普通的傳輸表空間技術來從源庫上匯出物件後設資料並匯入到目標資料庫。資料會一直處於 READ ONLY 模式,直到這個階段結束。
步驟4.1 – 在源庫中把源表空間置為 READ ONLY 模式在源系統上,使用 oracle 使用者及環境變數(ORACLE_HOME 和 ORACLE_SID環境變數)指向源庫,把要傳輸的表空間設為 READ ONLY。步驟4.2 – 建立最後一次增量備份併傳送相關檔案到目標系統
system@source/prod SQL> alter tablespace TS1 read only;
Tablespace altered.
system@source/prod SQL> alter tablespace TS2 read only;
Tablespace altered.
最後的增量備份是使用引數"--bkpexport"建立的,之後傳送這些檔案到目標系統:步驟4.3 – 應用最後的增量備份到目標系統
[oracle@source]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --bkpexport
[oracle@source]$ scp `cat incrbackups.txt` oracle@dest:/stageondest
[oracle@source]$ scp xttplan.txt oracle@dest:/stageondest
[oracle@source]$ scp tsbkupmap.txt oracle@dest:/stageondest
[oracle@source]$ scp incrbackups.txt oracle@dest:/stageondest
最後的增量備份必須使用"--resincrdmp"來應用到目標資料檔案
這一步會應用最後的增量備份到目標系統資料檔案,並且,它會為階段 5A 產生一個 dump 檔案及一個指令碼檔案 xttplugin.txt。
階段5 – 傳輸階段:匯入物件後設資料至目標資料庫
在這個階段,表空間會被插入到目標資料庫。這裡有兩個選項。第一個是使用步驟 4.3 建立的 dump 檔案匯入;第二個可以在兩個資料庫間使用 network link 來匯入。
步驟5A – 匯入已存在的 dump 檔案 步驟5A.1 – 建立資料泵目錄及賦予許可權資料泵會在特定的 directory 物件來查詢/生成 dump 檔案。或者複製’.dmp’檔案到一個已經存在的資料泵 directory 或者建立一個新的 directory 物件來指向’.dmp’檔案當前的目錄。
這個目錄的相關許可權必須賦予給要執行匯入的使用者:
要執行傳輸表空間,你必須修改匯入的命令檔案 xttplugin.txt (在執行步驟4.3時生成的)並且替換匯入引數 DIRECTORY 成當前環境裡的值。
下面是一個匯入的例子:
> logfile=tts_imp.log \
> dumpfile=impdp3925_641.dmp \
> transport_datafiles='/u01/oradata/DESTDB/o1_mf_ts1_bngv18vm_.dbf','/u01/oradata/DESTDB/o1_mf_ts2_bngv229g_.dbf'
如果你想的話,你可以使用 dblink 來匯入後設資料到目標庫。這可以透過下面的步驟來完成。
步驟5B.1 – 為網路匯入生成新的 xttplugin.txt在目標系統中,使用 oracle 使用者及環境變數(ORACLE_HOME 和 ORACLE_SID 環境變數)指向目標庫,執行下列命令來生成資料泵 TTS 命令:
這會生成一個使用資料泵 network_link 方式匯入的示例命令,並正確設定了 TRANSPORT_TABLESPACES 和 TRANSPORT_DATAFILES 引數。另外,一個資料泵匯出檔案也會被建立。
連線到目標資料庫,建立一個連線至源庫的 db link,如:
驗證這個 dblink 可以正確的連線至源庫:
這並不需要重新生成一份 dump 檔案。要執行傳輸表空間,你必須修改匯入的命令檔案 xttplugin.txt (在執行步驟 5B.1 時生成的)並且替換匯入引數 DIRECTORY,LOGFILE和NETWORK_LINK 成當前環境裡的值。
如下是一個使用網路模式執行匯入的示例命令:
transport_full_check=no \
transport_tablespaces=TS1,TS2 \
transport_datafiles='+DATA/prod/datafile/ts1.285.771686721', \
'+DATA/prod/datafile/ts2.286.771686723', \
'+DATA/prod/datafile/ts2.287.771686743'
資源:
階段6 -校驗資料
步驟6.1 – 檢查表空間是否發生 corruption在這個步驟裡,傳輸的資料在目標系統是 READ ONLY 的,可以使用應用程式來驗證這些資料是否正確。步驟6.2 – 在目標系統上把相關的表空間設為 READ WRITE 模式
另外,可以使用 RMAN 的 VALIDATE TABLESPACE 來檢查是否存在邏輯/物理損壞:
RMAN> validate tablespace TS1, TS2 check logical;
最後的步驟是在目標系統上把表空間設定為 READ WRITE 模式
system@dest/prod SQL> alter tablespace TS1 read write;
Tablespace altered.
system@dest/prod SQL> alter tablespace TS2 read write;
Tablespace altered.
階段7 -收尾
如果遷移過程中建立了一個額外的用來做增量備份轉換的臨時的例項,那麼這個例項就可以被關閉/刪除了。
在整個過程中一些不再需要的檔案都可以被刪除了,這包括:
- 源庫中 backupformat 所對應的目錄
- 目標系統中 stageondest 所對應的目錄
- 源庫和目標系統中 $TMPDIR 下對應的目錄(注意 /tmp 目錄不能被刪除)
附錄
Perl 指令碼 xttdriver.pl 命令選項的描述
下面的表格列出了只要的支援指令碼 xttdriver.pl 的選項。
選項 | 描述 |
---|---|
--backup |
對於選定的表空間所擁有的資料檔案做0級備份。這些備份會寫入配置檔案 xtt.properties 的引數“backupformat”所定義的目錄中。這些備份需要複製至目標系統中的配置檔案的引數“stageondest”所定義的目錄中。生成的另兩個檔案 tsbkupmap.txt 和 xttnewdatafiles.txt 也需要複製到目標系統上,TMPDIR 引數所對應的臨時目錄中。 |
--restore |
還原並轉換備份中的資料檔案到目標系統中 “stageondest” 對應的目錄中,還原後的檔案也會放在目標系統中 “stageondest” 對應的目錄中。 |
--bkpincr |
會生成一個增量備份,並把備份放在源庫的“ backupformat”引數定義的目錄中,同時會生成“incrbackups.txt”檔案,包含了建立的備份的列表。這個檔案和“tsbkupmap.txt”檔案一起都必須被複製至目標系統的“stageondest”所定義的目錄中。 |
--recover |
這個選項可以對在目標系統上已經建立了的資料檔案應用增量備份。 |
-s | 在源庫設定環境變數(ORACLE_HOME and ORACLE_SID) 並多次執行來確認新的 FROM_SCN。這個選項是用來確認下一個 FROM_SCN,並記錄到 xttplan.txt 檔案中。當下次按照步驟3.1建立增量備份時使用這個 SCN。它會把新的 FROM_SCN 對映到時鐘時間來顯示下個增量備份距當前有多久。 |
--bkpexport |
這個選項會生成最後一次增量備份,並建立匯入資料檔案所需要的 dump 檔案。增量備份會被放置在“backupformat”對應的目錄,並且可以從“incrbackups.txt”檔案得到這個路徑。另外也會建立檔案“tsbkupmap.txt”, 這些檔案都應該被複製到目標系統。 |
--resincrdmp |
這個選項會還原並應用最後一個增量備份,並且會把 dump 檔案還原至“TMPDIR”所對應的臨時目錄中(可以透過命令列指定,也可以設定成環境變數);這個 dump 檔案會在匯入時使用。 |
-e |
在目標系統(需設定環境變數 ORACLE_HOME 和 ORACLE_SID 到目標系統)執行一次來生成資料泵的命令。 這個步驟會建立資料泵命令使用的模板,這個模板將使用dblink來匯入表空間內物件的後設資料。 |
-d debug | 對 xttdriver.pl 指令碼和 RMAN 命令開啟除錯模式。除錯模式也可以透過設定環境變數 XTTDEBUG=1 來開啟。除錯模式支援3種級別: 1,2,3 ,如 xttdriver.pl -d 3。 |
配置檔案 xtt.properties 中的引數描述
下面表中列出的引數是在 12c 上操作必須在 xtt.properties 檔案中定義的引數;可能還會有其它為了向下相容而存在的引數:
引數 | 描述 | 例子 |
---|---|---|
tablespaces | 以逗號分割的的要傳輸的表空間的列表。必須寫在一行裡,寫在多行裡是不支援的。 | tablespaces=TS1,TS2 |
platformid | 源庫的平臺標識號,可以從 V$DATABASE.PLATFORM_ID 得到。 | platformid=2 |
storageondest |
目標系統中的 Directory 物件,定義了目標資料檔案建立在哪裡。 |
storageondest=DESTDIR |
backupformat | 源庫上備份放置的地方,這個目錄必須有足夠的空閒磁碟空間來放置0級備份及所有之後產生的增量備份。這個地址可以是和目標系統共享的 NFS 檔案系統,在這種情況下,目標系統的 stageondest 也應該指向相同的 NFS 目錄。 | backupformat=/stage_source |
stageondest | 目標系統上用來放置從源庫上傳輸過來的備份的位置。這個位置必須有足夠的空閒磁碟空間來放置0級備份及之後所有的增量備份。這個地址可以是 NFS 檔案系統。這個地址可以是和目標系統共享的 NFS 檔案系統,在這種情況下,目標系統的 stageondest 也應該指向相同的 NFS 目錄。對於 NFS 的掛載選項,請參考 Note 359515.1。 | stageondest=/stage_dest |
asm_home | 目標系統上 ASM 例項的 ORACLE_HOME,注意: 如果 backupondest 被指定到檔案系統目錄上(而不是 ASM 的話),那麼請註釋掉 m_home 和 asm_sid。 | asm_home=/u01/app/11.2.0.4/grid |
asm_sid | 目標系統上執行的 ASM 例項的 ORACLE_SID。 | asm_sid=+ASM1 |
parallel |
定義了在源庫上做備份時的並行度。 |
parallel=3 |
更改歷史
更改 | 日期 |
---|---|
rman-xttconvert_2.0.zip 被髮布 – 加入了對多個源及目標系統目錄的支援。 |
2015-May-20 |
參考
NOTE:359515.1 - Mount Options for Oracle files for RAC databases and Clusterware when used with NFS on NAS devicesNOTE:1389592.1 - 11G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup
NOTE:413484.1 - Data Guard Support for Heterogeneous Primary and Physical Standbys in Same Data Guard Configuration
NOTE:2013271.1 - 12c How Perform Cross-Platform Database Transport to different Endian Platform with RMAN Backup Sets
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2317695/viewspace-2152009/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 12c – 使用跨平臺增量備份來減少傳輸表空間的停機時間 (Doc ID 2102859.1)
- 【XTTS】Oracle11g 使用XTTS增量跨平臺傳輸減少停機時間TTSOracle
- Oraclc 12C使用不一致備份執行跨平臺傳輸表空間
- 用傳輸表空間跨平臺遷移資料
- 【資料遷移】XTTS跨平臺傳輸表空間v3(2.RMAN增量)TTS
- 【XTTS】Oracle傳輸表空間xtts增量方式TTSOracle
- 減少熱備方法遷移資料庫的停機時間資料庫
- 【資料遷移】XTTS跨平臺傳輸表空間v4TTS
- 【資料遷移】XTTS跨平臺傳輸表空間(1.傳統方式)TTS
- Oracle 12C RMAN備份佔用大量臨時表空間Oracle
- MySQL 傳輸表空間MySql
- 【MOS】如何利用RMAN可傳輸表空間遷移資料庫到不同位元組序的平臺(文件 ID 1983639.1)資料庫
- MySQL 減少InnoDB系統表空間的大小MySql
- 【資料遷移】XTTS跨平臺傳輸表空間v3(3.DFT方式)TTS
- mysql之 表空間傳輸MySql
- MySQL傳輸表空間的簡單使用方法MySql
- 12c跨平臺完成PDB的備份遷移
- MySQL 遷移表空間,備份單表MySql
- 如何使用時間機器備份您的MacMac
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- [20210527]rman與undo表空間備份.txt
- SYSTEM 表空間管理及備份恢復
- Oracle RMAN備份為什麼會大量使用temp表空間?Oracle
- tcp減少2msl的時間TCP
- 臨時表空間和回滾表空間使用率查詢
- JDK11垃圾回收暫停時間比Java8減少60%JDKJava
- 使用BatchNorm替代LayerNorm可以減少Vision Transformer訓練時間和推理時間BATORM
- MySQL實現當前資料表的所有時間都增加或減少指定的時間間隔(推薦)MySql
- 如何減少 Hyperf 框架的掃描時間框架
- 【RMAN】當表空間處於備份狀態時發生了什麼
- 深圳眾創空間,減少不必要成本
- 上雲遷移還怕傳輸慢、開機久、停機長?深信服SCMT遷移平臺這樣節省時間!
- 遷移Oracle資料庫時如何減小停機時間AAOracle資料庫
- 12C關於CDB、PDB 臨時temp表空間的總結
- oracle11g 查詢臨時表空間的使用率和正在使用臨時表空間的使用者Oracle
- 使用壓縮功能減少主機之間SCP時候的頻寬佔用
- 16、表空間 建立表空間
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle