您好,登錄后才能下訂單哦!
使用跨平臺傳輸表空間來遷移數據所需要的停機時間與被遷移的數據量成正比。然而,當使用增量備份跨平臺遷移可以顯著減小遷移數據所需要的停機時間。
傳統跨平臺傳輸表空間的主要步驟:
1.將源數據庫中所被轉輸的表空間設置為read only
2.將所被傳輸表空間所相關的數據文件傳輸到目標主機上
3.將數據文件轉換為目標主機所使用的字節序
4.使用data pump從源數據庫導出所被傳輸表空間所存儲對象的元數據
5.在目標數據庫中使用data pump導入所被傳輸表空間所存儲對象的元數據
6.使用目標數據庫中的被傳輸表空間設置為read write
因為數據傳輸時表空間必須為read only,應用程序所擁有的數據在傳輸時不能被用戶使用。因為操作是串行操作,所以停機時間依賴于數據量的大小。如果數據量大,數據文件傳輸與轉換的時間將會很長,所以停機時間也就會很長。
使用跨平臺增量備份來減少停機時間
為了減少停機時間需要使用XTTS,Oracle為跨平臺傳輸增強了RMAN的能力來使用增量備份前滾數據文件副本。通過使用一些列的增量備份,每一份增量備份都比上一次的小,在需要停機之前,目標系統中的數據幾乎可以從源系統中獲得。數據文件傳輸與轉換所需要的停機時間就由源系統中在最后一次增量備份之后被改變的數據量所決定。
跨平臺增量備份不會影響XTTS所執行其它操作所花費的時間,比如元數據的導出與導入。因此,當數據庫有大量的元數據時將會看到使用跨平臺增量備份執行遷移的好處會受到影響,因為遷移所需時間通常是由元數據操作所決定的,而不是由數據文件傳輸與轉換操作所決定的。
只有物理存儲被遷移數據庫對象的表空間需要被傳輸到目標系統。如果需要被遷移的其它對象,存儲在不同表空間(比如,pl/sql對象,序列,等等,存儲在system表空間中),可以使用data pump來復制這些對象到目標系統。
使用跨平臺增量備份傳輸表空間的主要步驟如下:
1.準備階段(源數據保持為online狀態)
.傳輸被遷移表空間所相關的數據文件到目標系統
.如果需要,將數據文件轉換成目標系統所使用的字節序
2.前滾階段(源數據保持為online狀態-可以根據需要重復達個階段多次來使用目標數據文件匹配上源數據庫文件)
.在源系統中創建增量備份
.傳輸增量備份到目標系統
.將增量備份轉換為目標系統所使用的字節序并將備份應用到目標數據文件副本
注意,對于版本號為3的腳本,如果一個數據文件被增加到表空間或者一個新的表空間名被增加到xtt.properties文件中,一個告警信息與額外的指令需要被執行。
3.傳輸階段(源數據為read only)
.將源數據庫中需要被傳輸的表空間設置為read only
.最后一次執行前滾階段的操作,這步操作可以確保目標數據文件副本與源數據庫中的數據文件處于一致狀態。這步操作所花費的時間要比傳統XTTS方法所需要的時間短,因為使用增量備份。
.使用data pump從源數據庫中志出相關表空間中所存儲對象的元數據
.在目標系統中使用data pump導出表空間所存儲對象的元數據
.將目標數據庫中的相關表空間設置為read write
這篇文章提供了一個例子來介紹如何使用跨平臺增量備份來減少傳輸表空間的停機時間。
源系統可以是先決條件所引用的和平臺與數據庫所滿足的列表中所列出任何平臺。如果從一種小字節序平臺遷移到Oracle Linux,那么最應該考慮的方法是使用Data Guard,可以參考Note 413484.1關于在當前小字節序平臺與Oracle Linux之間Data Guard所支持的異構平臺。對于Oracle 12c來說,請使用Note 2005729.1 12C - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup.或者NOTE: Neither method supports 12c multitenant databases. Enhancement bug 22570430 addresses this limitation.
這里將介紹如何從Redhat Linux 平臺上將表空間cdzj,ldjc使用跨平臺增量備份的傳輸表空間方法來遷移到Aix平臺。在執行完初始化階段后執行以下三個階段來執行數據的遷移操作:
準備階段
在準備階段,要傳輸的表空間的數據文件會被傳輸到目標系統并被轉換為目標系統所使用的字節序。在準備階段應用程序是完全可以訪問源數據的。準備階段使用RMAN備份或dbms_file_transfer,后面將會詳細介紹如何選擇準備階段所要使用的方法。
前滾階段
在前滾階段,在準備階段被轉換后的數據文件將會使用來自源數據庫的增量備份來進行前滾操作。通過多次執行該階段的操作,每次成功的增量備份將會更小與更快的應用到數據文件副本,允許目標系統中的數據都是來自源系統中。在執行前滾階段時應用程序可以完全訪問源數據。
傳輸階段
在傳輸階段,在源數據庫中將要被傳輸的表空間設置為read only狀態,并且在源平臺上執行最后一次增量備份并且將它傳輸到目標平臺上并應用到數據文件副本,使用目標系統中的數據文件副本與源數據庫中的數據文件保護一致。一旦數據文件狀態一致,從源數據庫中導出所傳輸表空間所存儲對象的元數據,并且在目標平臺導入這些元數據。最后在目標數據庫中將傳輸過來的表空間設置為read write狀態。在傳輸階段應用程序是不能更新源數據的。
跨平臺增量備份所支持的腳本
跨平臺增量備份的核心功能是基于Oracle 11.2.0.4與之后的版本。請查看條件與建議部分了解詳細信息。另外有一組支持腳本存儲在rman-xttconvert_2.0.zip。其中有兩個主要支持的腳本:
.Perl腳本xttdriver.pl 這個腳本用來執行跨平臺增量備份傳輸表空間的主要步驟。
.參數文件xtt.properties 這個文件包含自已平臺特定配置
執行跨平臺增量備份傳輸表空間的條件與建議
執行跨平臺增量備份傳輸表空間的條件
在執行跨平臺增量備份傳輸表空間之前需要檢查是否滿足以下條件:
.傳輸表空間的限制
.其它必須滿足的條件
當前版本不支持windows
源數據庫的compatible參數必須設置為10.2.0或更高版本
源數據庫的compatible參數必須不能比目標數據庫的compatible參數的值大
源數據庫必須啟用了archivelog模式
盡管首選目標系統是Linux操作系統(可以是64位的Oracle Linux或者是已經認證的Redhat Linux),但這個過程也可以在其它Unix操作系統中執行。然而,對于任何non-Linux操作系統來說數據庫的版本必須是11.2.0.4
源數據庫的版本必須小于或等于目標數據庫的版本
RMAN的缺省設備類型應該被配置為DISK
源數據庫的RMAN不能對DEVICE TYPE DISK使用COMPRESSED配置。如果使用COMPRESSED配置,執行操作時可能會返回:ORA-19994: cross-platform backup of compressed backups different endianess.
源數據庫中將要被遷移的表空間必須是online,并且不能包含脫機數據文件。表空間必須為read write狀態。表空間為read only那么可以使用正常的XTTS方法進行遷移。
.所有步驟中執行操作的用戶必須是Oracle用戶并且它是OSDBA組的成員。操作系統審計被用來連接源數據庫與目標數據庫。
.如果準備階段方法選擇dbms_file_transfer,那么目標數據庫版本必須至少為11.2.0.4。
.如果準備階段方法選擇RMAN,那么在源系統與目標系統中都要創建預備區域
.對于備庫或快照備庫是不支持這種操作的
.如果目標數據庫版本是11.2.0.3或更低的版本,那么在目標系統中需要有一個11.2.0.4的數據庫home目錄來運行11.2.0.4的實例來執行增量備份的轉換操作。如果目標數據庫版本是11.2.0.3或更低版本,那么需要一個版本為11.2.0.4的單獨的增量轉換Home目錄與實例。如果ASM使用11.2.0.4的轉換Home,那么ASM的版本也必須是11.2.0.4,否則會觸發ORA-15295(ORA-15295: ASM instance software version 11.2.0.3.0 less than client version 11.2.0.4.0)。
整個數據庫遷移
如果跨平臺增量備份傳輸表空間被用來減少整個數據庫的遷移時間,那么請參考MAA提供的XTTS指南Platform Migration UsingTransportable Tablespaces(maa-wp-11g-platformmigrationtts-129269.pdf),這種遷移方法也可以用于Oracle 12c,然而對于12c有一種替代的方法可參考Note 2005729.1 12C - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup.
選擇準備階段方法
在準備階段,要被傳輸的表空間的數據文件會被傳輸到目標系統并且通過執行xttdriver.pl腳本進行轉換。這里有兩種可用的方法:
1.使用dbms_file_transfer(DFT)傳輸(使用xttdriver.pl -S與-G選項)
2.使用RMAN備份(使用xttdriver.pl -p與-c選項)
dbms_file_transfer方法使用dbms_file_transfer.get_file()過程來通過dblink從源系統中將數據文件傳輸到目標系統。dbms_file_transfer方法相比RMAN方法有以下優點:
1.不需要在源系統或目標系統中創建預備目錄
2.在傳輸數據文件時會自動執行數據文件的轉換--這里不需要再執行轉換操作。
dbms_file_transfer方法要滿足以下條件才能使用:
.目標數據庫必須是11.2.0.4的版本。注意增量轉換Home目錄或實例不參與dbms_file_transfer的文件傳輸操作。
.在源數據庫中有一個數據庫目錄對象它指向要被復制的數據文件
.原目標數據庫中有一個數據庫目錄對象它指向要被存放的數據文件
.在目標數據庫中有一個dblink連接到源數據庫
RMAN備份方法在源系統中執行RMAN來對要被傳輸的數據文件生成備份。生成的備份文件必須手動跨網絡傳輸到目標系統。在目標系統中通過執行RMAN對數據文件進行轉換,如果需要,RMAN轉換操作會將輸出的數據文件存放在目標數據庫最終存儲數據文件的目錄中。在原版本的xttdriver.pl中,只支持這種方法。RMAN備份方法要滿足以下條件:
.在源系統與目標系統中需要為RMAN所創建的數據文件副本創建預備目錄。預備目錄在xtt.properties文件中分別指向參數dfcopydir與stageondest。被轉換后的數據文件最終存放目錄在xtt.properties文件中指向參數storageondest。
關于這些方法被提供的指令的詳細信息后面會介紹,建議使用dbms_file_transfer方法。
目標數據庫版本為11.2.0.3或更低版本需要安裝一個單獨的增量轉換home與實例跨平臺增量備份的核心功能(例如,增量備份轉換)是基于Oracle 11.2.0.4及以后版本的。如果目標數據庫版本為11.2.0.4及以后版本,那么目標數據庫可以執行這種功能。然而,如果目標數據庫版本為11.2.0.3或更低版本,那么為了執行增量備份轉換,需要安裝一個單獨的11.2.0.4的軟件home目錄,叫作增量轉換home目錄,并創建一個增量轉換實例,并且該實例必須啟動到時nomount狀態。增量轉換home目錄與增量轉換實例是臨時使用,并且只在遷移操作期間使用。
因為dbms_file_transfer準備階段方法要求目標數據庫的版本為11.2.0.4,它可以被用來執行增量備份轉換功能(如上所述),增量轉換home目錄與增量轉換實例通常只有當使用RMAN備份方法來才會使用。對于如何設置一個臨時增量轉換實例參考階段1。
診斷
為了啟用診斷模式,可以使用-d參數來執行xttdriver.pl腳本,或者在執行xttdriver.pl腳本之前設置環境變量XTTDEBUG=1。Debug模式會啟用額外的屏幕輸出并且造成所有RMAN操作使用debug命令行選項。
已知問題
1.如果源數據庫包含使用鍵壓縮的嵌套的IOTs表,那么在目標數據庫home中必須安裝修復Bug 14835322的補丁
2.如果想在創建增量備份時對源數據庫使用塊改變跟蹤功能,那么需要在源數據庫home中安裝修復Bug 16850197的補丁
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
使用跨平臺增量備份傳輸表空間來減少停機時間
跨平臺增量備份傳輸表空間主要有以下四個階段:
1.初始化設置階段
2.準備階段
3.前滾階段
4.傳輸階段
源系統為Redhat Linux,Oracle為11.2.0.4,目標系統為AIX,Oracle為11.2.0.4
1.初始化設置階段
為了使用跨平臺增量備份傳輸表空間執行以下操作來完成操作環境的配置:
1.1 安裝目標數據庫軟件并創建目標數據庫
在目標系統上安裝所需要的數據庫軟件版本來運行目標數據庫。強烈建議使用Oracle 11.2.0.4或之后的版本。注意dbms_file_transfer方法要求目標數據庫為11.2.0.4。在目標系統中識別或創建一個數據庫并創建需要傳輸的表空間及用戶方案。我這里目標數據庫為11.2.0.4,要被傳輸的用戶方案為cdzj,ldjc,表空間為cdzj,ldjc。
1.2 如果需要,配置增量轉換home與實例
如果目標數據庫是11.2.0.3或之前版本,需要安裝一個單獨的增量轉換home與實例。如果目標數據庫是11.2.0.4或之后的版本,可以跳過這一步。注意dbms_file_transfer方法要求目標數據庫的版本為11.2.0.4。如果目標數據庫是11.2.0.3或之前版本,那么必須通過執行以下操作來配置一個單獨的增量轉換實例:
.在目標系統中安裝一個新的11.2.0.4的數據庫home。這就是增量轉換home
.使用增量轉換home啟動一個實例到nomount狀態,這個實例就是增量轉換實例。對于增量轉換實例不需要創建相應的數據庫,只需要運行一個增量轉換實例。
下面操作可以用來創建一個名叫xtt的增量轉換實例,增量轉換home為/oracle11/app/oracle/product/11.2.0/db:
IBMP740-2:/oracle11/app/oracle/product/11.2.0/db/dbs$export ORACLE_HOME=/oracle11/app/oracle/product/11.2.0/db IBMP740-2:/oracle11/app/oracle/product/11.2.0/db/dbs$export ORACLE_SID=xtt IBMP740-2:/oracle11/app/oracle/product/11.2.0/db/dbs$cat < < EOF > $ORACLE_HOME/dbs/init$ORACLE_SID.ora > db_name=xtt > compatible=11.2.0.4.0 > EOF IBMP740-2:/oracle11/app/oracle/product/11.2.0/db/dbs$sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 16 10:47:59 2017 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SQL> startup nomount ORACLE instance started. Total System Global Area 797712384 bytes Fixed Size 2250200 bytes Variable Size 490736168 bytes Database Buffers 268435456 bytes Redo Buffers 36290560 bytes
如果ASM被用于存儲xtt.properties文件中的參數backupondest,那么實例的compatible參數的值必須等于或大于ASM磁盤組所使用的rdbms.compatible的值。
1.3 識別要被傳輸的表空間
識別源數據庫中將要被傳輸的表空間。我這里要被傳輸的表空間為cdzj,ldjc。
1.4 如果使用dbms_file_transfer方法,那么配置目錄對象與dblink
注意dbms_file_transfer方法要求目標數據庫的版本為11.2.0.4,如果使用dbms_file_transfer訪求,那么必須創建以下三個數據庫對象:
.在源數據庫中創建一個數據庫目錄對象,它指向要被復制的數據文件所存放的目錄
.在目標數據庫中創建一個數據庫目錄對象,它指向將要存放數據文件的目錄
.在目標數據庫中創建一個dblink連接到源數據庫
源數據庫目錄對象引用源數據庫中當前存放數據文件的目錄。例如,下面創建目錄對象指向,數據文件存放目錄/home/app/oracle/product/11.2.0/dbs/,連接到源數據庫房執行以下命令:
[oracle@sjjh ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 15 17:10:58 2017 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select a.NAME,b.NAME from v$tablespace a,v$datafile b where a.TS#=b.TS# and a.NAME in('CDZJ','LDJC'); NAME NAME ------------------------------ -------------------------------------------------------------------------------- LDJC /home/app/oracle/product/11.2.0/dbs/ldjc01 CDZJ /home/app/oracle/product/11.2.0/dbs/cdzj01 SQL> create directory sourcedir as '/home/app/oracle/product/11.2.0/dbs'; Directory created.
目標數據庫目錄對象引用目標數據庫中將要存儲數據文件的目錄。這個目錄是最終目標數據庫將要存放數據文件的目錄/oracle11/oradata/jycs/jycs/,連接到目標數據庫執行以下命令
IBMP740-2:/oracle11$sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 16 11:23:03 2017 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /oracle11/oradata/jycs/jycs/system01.dbf /oracle11/oradata/jycs/jycs/sysaux01.dbf /oracle11/oradata/jycs/jycs/undotbs01.dbf /oracle11/oradata/jycs/jycs/users01.dbf /oracle11/oradata/jycs/jycs/example01.dbf SQL> create directory destdir as '/oracle11/oradata/jycs/jycs'; Directory created.
在目標數據庫中創建一個dblink連接到源數據庫。例如創建一個名叫ttslink的dblink,執行以下命令:
SQL> create public database link ttslink 2 connect to system identified by "xxzx7817600" 3 using '(DESCRIPTION = 4 (ADDRESS_LIST = 5 (ADDRESS = (PROTOCOL = TCP)(HOST =10.138.130.101)(PORT = 1521)) 6 ) 7 (CONNECT_DATA = 8 (SERVER = DEDICATED) 9 (SERVICE_NAME =sjjh) 10 ) 11 )'; Database link created.
創建dblink后驗證是否可以能過dblink訪問源數據庫
SQL> select * from dual@ttslink; D - X
1.5 創建預備目錄
在源系統與目標系統中創建預備目錄,它們將被設置為xtt.properties文件中的backupformat(源系統中存放增量備份文件的目錄),backupondest(目標系統中存放轉換后的增量備份文件的目錄)參數的值。如果使用RMAN備份方法,在源系統與目標系統中還需要為xtt.properties文件中的dfcopydir(源系統中存放數據文件副本的目錄,只有使用rman備份才使用),stageondest(目標系統中存放從源系統傳輸過來的數據文件副本與增量備份的目錄,只有使用rman備份才使用)。
在源系統中執行下面的命令分別創建backupformat目錄(/home/backup),dfcopydir目錄(/home/dfcopydir)
[oracle@sjjh home]$ mkdir backup [oracle@sjjh home]$ mkdir dfcopydir
在目標系統中執行下面的命令分別創建backupondest目錄(/oracle11/backup),stagenodest目錄(/oracle11/xtts)
IBMP740-2:/oracle11$mkdir backup IBMP740-2:/oracle11$mkdir xtts
1.6在源系統中安裝xttconver腳本
在源系統中,使用Oracle軟件用戶,下裁與解壓腳本
[oracle@sjjh xtts_script]$ unzip rman_xttconvert_v3.zip Archive: rman_xttconvert_v3.zip inflating: xtt.properties inflating: xttcnvrtbkupdest.sql inflating: xttdbopen.sql inflating: xttdriver.pl inflating: xttprep.tmpl extracting: xttstartupnomount.sql [oracle@sjjh xtts_script]$ ls -lrt total 208 -rw-r--r-- 1 oracle oinstall 1390 May 24 16:57 xttcnvrtbkupdest.sql -rw-r--r-- 1 oracle oinstall 52 May 24 16:57 xttstartupnomount.sql -rw-r--r-- 1 oracle oinstall 11710 May 24 16:57 xttprep.tmpl -rw-r--r-- 1 oracle oinstall 139331 May 24 16:57 xttdriver.pl -rw-r--r-- 1 oracle oinstall 71 May 24 16:57 xttdbopen.sql -rw-r--r-- 1 oracle oinstall 7969 Jun 5 08:47 xtt.properties -rw-r--r-- 1 oracle oinstall 33949 Aug 14 17:25 rman_xttconvert_v3.zip
1.7 在源系統中配置xtt.properties文件
[oracle@sjjh xtts_script]$ vi .xtt.properties tablespaces=CDZJ,LDJC --源數據庫中要被傳輸的表空間名 platformid=13 --源數據庫的platform_id dfcopydir=/home/dfcopydir --源系統中存放數據文件副本的目錄 backupformat=/home/backup --源系統中存儲增量備份的目錄 stageondest=/oracle11/xtts --目標系統中存儲數據文件副本與增量備份的目錄 backupondest=/oracle11/backup --目標系統中存儲轉換后的增量備份目錄,只在使用RMAN備份方法才使用 storageondest=/oracle11/oradata/jycs/jycs --目標系統中最終存儲轉換后數據文件的目錄 cnvinst_home=/oracle11/app/oracle/product/11.2.0/db --轉換Home目錄 cnvinst_sid=xtt --轉換實例SID
1.8 將源系統中的轉換腳本與xtt.properties文件復制到目標系統中
IBMP740-2:/oracle11/xtts_script$ftp 10.138.130.101 Connected to 10.138.130.101. 220 (vsFTPd 2.2.2) Name (10.138.130.101:root): oracle 331 Please specify the password. Password: 230 Login successful. ftp> cd /home/xtts_script 250 Directory successfully changed. ftp> ls -lrt 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r--r-- 1 501 501 1390 May 24 08:57 xttcnvrtbkupdest.sql -rw-r--r-- 1 501 501 11710 May 24 08:57 xttprep.tmpl -rw-r--r-- 1 501 501 52 May 24 08:57 xttstartupnomount.sql -rw-r--r-- 1 501 501 71 May 24 08:57 xttdbopen.sql -rw-r--r-- 1 501 501 139331 May 24 08:57 xttdriver.pl -rw-r--r-- 1 501 501 7969 Jun 05 00:47 xtt.properties.bak -rw-r--r-- 1 501 501 33949 Aug 14 09:25 rman_xttconvert_v3.zip -rw-r--r-- 1 501 501 255 Aug 16 06:58 xtt.properties 226 Directory send OK. ftp> lcd /oracle11/xtts_script Local directory now /oracle11/xtts_script ftp> bin 200 Switching to Binary mode. ftp> get xttcnvrtbkupdest.sql 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for xttcnvrtbkupdest.sql (1390 bytes). 226 Transfer complete. 1390 bytes received in 7.6e-05 seconds (1.786e+04 Kbytes/s) local: xttcnvrtbkupdest.sql remote: xttcnvrtbkupdest.sql ftp> get xttprep.tmpl 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for xttprep.tmpl (11710 bytes). 226 Transfer complete. 11710 bytes received in 0.000196 seconds (5.834e+04 Kbytes/s) local: xttprep.tmpl remote: xttprep.tmpl ftp> get xttstartupnomount.sql 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for xttstartupnomount.sql (52 bytes). 226 Transfer complete. 52 bytes received in 0.000103 seconds (493 Kbytes/s) local: xttstartupnomount.sql remote: xttstartupnomount.sql ftp> get xttdbopen.sql 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for xttdbopen.sql (71 bytes). 226 Transfer complete. 71 bytes received in 0.000106 seconds (654.1 Kbytes/s) local: xttdbopen.sql remote: xttdbopen.sql ftp> get xttdriver.pl 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for xttdriver.pl (139331 bytes). 226 Transfer complete. 139331 bytes received in 0.001805 seconds (7.538e+04 Kbytes/s) local: xttdriver.pl remote: xttdriver.pl ftp> get xtt.properties 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for xtt.properties (255 bytes). 226 Transfer complete. 255 bytes received in 0.00012 seconds (2075 Kbytes/s) local: xtt.properties remote: xtt.properties IBMP740-2:/oracle11/xtts_script$ls -lrt total 336 -rw-r--r-- 1 oracle11 oinstall 1390 Aug 16 15:44 xttcnvrtbkupdest.sql -rw-r--r-- 1 oracle11 oinstall 11710 Aug 16 15:45 xttprep.tmpl -rw-r--r-- 1 oracle11 oinstall 52 Aug 16 15:45 xttstartupnomount.sql -rw-r--r-- 1 oracle11 oinstall 71 Aug 16 15:45 xttdbopen.sql -rw-r--r-- 1 oracle11 oinstall 139331 Aug 16 15:45 xttdriver.pl -rw-r--r-- 1 oracle11 oinstall 255 Aug 16 15:46 xtt.properties
1.9 在源系統與目標系統中設置環境變TMPDIR,它指向轉換腳本所在的目錄。為了執行Perl腳本xttdriver.pl設置如下。如果TMPDIR沒有設置,那么腳本生成的輸出文件將會存放在/tmp目錄中
[oracle@sjjh ~]$ export TMPDIR=/home/xtts_script IBMP740-2:/oracle11$export TMPDIR=/oracle11/xtts_script
2.準備階段
在準備階段,被傳輸表空間的數據文件會被傳輸到目標系統并且通過執行xttdriver.pl腳本進行轉換。有以下兩種方法可以使用:
1. dbms_file_transfer方法
2. RMAN備份方法
對于大量數據文件使用dbms_file_transfer方法要比傳輸數據文件到目標系統更快。
2a.使用dbms_file_transfer方法
2a.1在源系統中執行準備操作
在源系統中,使用Oracle軟件用戶登錄并設置相關環境變量(ORACLE_HOME與ORACLE_SID)來指向源數據庫,執行以下命令:
[oracle@source]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -S
準備操作將在源系統中執行以下操作
.驗證表空間是否online,read write且不包含脫機數據文件
.將創建后面所要使用的以下文件:
xttnewdatafiles.txt
getfile.sql
要被傳輸的一組表空間必須是online,read write狀態且不包含脫機數據文件。如果在源數據庫中被傳輸表空間的一個或多個數據文件是脫機狀態或read only就會觸發錯誤。如果表空間在整個表空間傳輸過程中都保持read only狀態,那么就使用傳統的跨平臺傳輸表空間,不要使用跨平臺增量備份傳輸表空間。
2a.2 傳輸數據文件到目標系統中
在目標系統中,使用Oracle軟件用戶登錄并設置相關環境變量(ORACLE_HOME與ORACLE_SID)來指向目標數據庫,并復制上一步生成的xttnewdatafiles.txt與getfile.sql文件到目標系統并執行操作來獲取數據文件
[oracle@dest]$ scp oracle@source:/home/oracle/xtt/xttnewdatafiles.txt /home/oracle/xtt [oracle@dest]$ scp oracle@source:/home/oracle/xtt/getfile.sql /home/oracle/xtt # MUST set environment to destination database [oracle@dest]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -G
當這步操作完成后,要被傳輸的數據文件會存放在目標系統最終存放數據文件的目錄中。轉換操作會自動執行。
2b.使用RMAN備份方法
在這個階段表空間的數據文件副本將被傳輸到目標系統中,并執行轉換操作,且將轉換后的數據文件存放在目標數據庫最終存放數據文件的目錄中。這個階段的操作只會執行一次。在執行這個階段的操作時被傳輸的數據在源數據庫中完全可以被訪問。
2b.1在源系統中執行準備操作
在源系統中,以Oracle軟件用戶登錄并設置環境變量(ORACLE_HOME與ORACLE_SID)來指向源數據庫,執行以下命令
[oracle@sjjh ~]$ cd /home/xtts_script [oracle@sjjh xtts_script]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -p ============================================================ trace file is /home/xtts_script/prepare_Aug16_Wed_15_50_19_497//Aug16_Wed_15_50_19_497_.log ============================================================= -------------------------------------------------------------------- Parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Checking properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done checking properties -------------------------------------------------------------------- -------------------------------------------------------------------- Starting prepare phase -------------------------------------------------------------------- Prepare source for Tablespaces: 'CDZJ' /oracle11/xtts xttpreparesrc.sql for 'CDZJ' started at Wed Aug 16 15:50:19 2017 xttpreparesrc.sql for ended at Wed Aug 16 15:50:19 2017 Prepare source for Tablespaces: 'LDJC' /oracle11/xtts xttpreparesrc.sql for 'LDJC' started at Wed Aug 16 15:51:08 2017 xttpreparesrc.sql for ended at Wed Aug 16 15:51:08 2017 Prepare source for Tablespaces: '''' /oracle11/xtts xttpreparesrc.sql for '''' started at Wed Aug 16 15:52:05 2017 xttpreparesrc.sql for ended at Wed Aug 16 15:52:05 2017 Prepare source for Tablespaces: '''' /oracle11/xtts xttpreparesrc.sql for '''' started at Wed Aug 16 15:52:06 2017 xttpreparesrc.sql for ended at Wed Aug 16 15:52:06 2017 Prepare source for Tablespaces: '''' /oracle11/xtts xttpreparesrc.sql for '''' started at Wed Aug 16 15:52:07 2017 xttpreparesrc.sql for ended at Wed Aug 16 15:52:07 2017 -------------------------------------------------------------------- Done with prepare phase -------------------------------------------------------------------- -------------------------------------------------------------------- Find list of datafiles in system -------------------------------------------------------------------- -------------------------------------------------------------------- Done finding list of datafiles in system --------------------------------------------------------------------
這個準備操作在源系統中執行以下操作:
.創建要被傳輸表空間的數據文件副本并且將它們存儲在xtt.properties文件中dfcopydir所指定的目錄中
[root@sjjh dfcopydir]# ls -lrt total 7340056 -rw-r----- 1 oracle oinstall 2147491840 Aug 16 15:50 CDZJ_7.tf -rw-r----- 1 oracle oinstall 5368717312 Aug 16 15:52 LDJC_6.tf
.驗證表空間是否為online,read write狀態,并且不包含脫機數據文件
.創建后面所需要用到的以下文件
xttplan.txt rmanconvert.cmd
xttplan.txt文件的內容如下:
[root@sjjh xtts_script]# cat xttplan.txt CDZJ::::14690156586805 7 LDJC::::14690156586805 6
該文件中的數值,數據庫的SCN。如果后面再次運行腳本進行增量操作時,該值會發現改變。
rmanconvert.cmd的內容如下:
[root@sjjh xtts_script]# cat rmanconvert.cmd host 'echo ts::CDZJ'; convert from platform 'Linux x86 64-bit' datafile '/oracle11/xtts/CDZJ_7.tf' format '/oracle11/oradata/jycs/jycs/%N_%f.dbf' parallelism 8; host 'echo ts::LDJC'; convert from platform 'Linux x86 64-bit' datafile '/oracle11/xtts/LDJC_6.tf' format '/oracle11/oradata/jycs/jycs/%N_%f.dbf' parallelism 8;
上述腳本是perl腳本產生的rman convert腳本,需要將該腳本傳遞到目標端主機。注意,上述腳本文件格式需要注意,同時并行度是默認的,可以進行調整。
要被傳輸的一組表空間必須是online,read write狀態且不包含脫機數據文件。如果在源數據庫中被傳輸表空間的一個或多個數據文件是脫機狀態或read only就會觸發錯誤。如果表空間在整個表空間傳輸過程中都保持read only狀態,那么就使用傳統的跨平臺傳輸表空間,不要使用跨平臺增量備份傳輸表空間。
2b.2 將數據文件副本傳輸到目標系統中
在目標系統中以Oracle軟件用戶登錄,從源系統中將上一步生成的數據文件副本傳輸到目標系統中。源系統中數據文件副本存儲在xtt.properties文件中dfcopydir參數所指定的目錄(home/dfcopydir)中。在目標系統中數據文件副本必須存放xtt.properties文件中stageondest目錄(/oracle11/xtts)中。
IBMP740-2:/oracle11/xtts$ftp 10.138.130.101 Connected to 10.138.130.101. 220 (vsFTPd 2.2.2) Name (10.138.130.101:root): oracle 331 Please specify the password. Password: 230 Login successful. ftp> cd /home/dfcopydir 250 Directory successfully changed. ftp> ls -lrt 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r----- 1 501 501 2147491840 Aug 16 07:50 CDZJ_7.tf -rw-r----- 1 501 501 5368717312 Aug 16 07:52 LDJC_6.tf 226 Directory send OK. ftp> lcd /oracle11/xtts Local directory now /oracle11/xtts ftp> bin 200 Switching to Binary mode. ftp> get LDJC_6.tf 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for LDJC_6.tf (5368717312 bytes). 226 Transfer complete. 5368717312 bytes received in 45.68 seconds (1.148e+05 Kbytes/s) local: LDJC_6.tf remote: LDJC_6.tf ftp> get CDZJ_7.tf 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for CDZJ_7.tf (2147491840 bytes). 226 Transfer complete. 2147491840 bytes received in 18.52 seconds (1.132e+05 Kbytes/s) local: CDZJ_7.tf remote: CDZJ_7.tf IBMP740-2:/oracle11/xtts$ls -lrt total 14680112 -rw-r--r-- 1 oracle11 oinstall 5368717312 Aug 16 16:53 LDJC_6.tf -rw-r--r-- 1 oracle11 oinstall 2147491840 Aug 16 16:54 CDZJ_7.tf
2b.3 在目標系統中轉換數據文件副本
在目標系統中以Oracle軟件用戶登錄并設置環境變量(ORACLE_HOME與ORACLE_SID)來指向目標數據庫,將步驟2b.1中生成的腳本文件復制到目標系統中,然后執行以下命令來轉換數據文件:
IBMP740-2:/oracle11/xtts$ftp 10.138.130.101 Connected to 10.138.130.101. 220 (vsFTPd 2.2.2) Name (10.138.130.101:root): oracle 331 Please specify the password. Password: 230 Login successful. ftp> cd /home/xtts_script 250 Directory successfully changed. ftp> lcd /oracle11/xtts_script Local directory now /oracle11/xtts_script ftp> bin 200 Switching to Binary mode. ftp> ls -lrt 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r--r-- 1 501 501 1390 May 24 08:57 xttcnvrtbkupdest.sql -rw-r--r-- 1 501 501 11710 May 24 08:57 xttprep.tmpl -rw-r--r-- 1 501 501 52 May 24 08:57 xttstartupnomount.sql -rw-r--r-- 1 501 501 71 May 24 08:57 xttdbopen.sql -rw-r--r-- 1 501 501 139331 May 24 08:57 xttdriver.pl -rw-r--r-- 1 501 501 7969 Jun 05 00:47 xtt.properties.bak -rw-r--r-- 1 501 501 33949 Aug 14 09:25 rman_xttconvert_v3.zip -rw-r--r-- 1 501 501 255 Aug 16 06:58 xtt.properties -rw-r--r-- 1 501 501 50 Aug 16 07:51 xttplan.txt -rw-r--r-- 1 501 501 354 Aug 16 07:51 rmanconvert.cmd -rw-r--r-- 1 501 501 96 Aug 16 07:52 xttnewdatafiles.txt drwxr-xr-x 2 501 501 4096 Aug 16 07:52 prepare_Aug16_Wed_15_50_19_497 226 Directory send OK. ftp> get xttplan.txt 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for xttplan.txt (50 bytes). 226 Transfer complete. 50 bytes received in 5e-05 seconds (976.6 Kbytes/s) local: xttplan.txt remote: xttplan.txt ftp> get rmanconvert.cmd 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for rmanconvert.cmd (354 bytes). 226 Transfer complete. 354 bytes received in 5.9e-05 seconds (5859 Kbytes/s) local: rmanconvert.cmd remote: rmanconvert.cmd ftp> get xttnewdatafiles.txt 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for xttnewdatafiles.txt (96 bytes). 226 Transfer complete. 96 bytes received in 5.5e-05 seconds (1705 Kbytes/s) local: xttnewdatafiles.txt remote: xttnewdatafiles.txt IBMP740-2:/oracle11$export TMPDIR=/oracle11/xtts_script IBMP740-2:/oracle11$cd /oracle11/xtts_script IBMP740-2:/oracle11/xtts_script$$ORACLE_HOME/perl/bin/perl xttdriver.pl -c ============================================================ trace file is /oracle11/xtts_script/convert_Aug16_Wed_17_02_24_689//Aug16_Wed_17_02_24_689_.log ============================================================= -------------------------------------------------------------------- Parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Checking properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done checking properties -------------------------------------------------------------------- -------------------------------------------------------------------- Performing convert -------------------------------------------------------------------- IBMP740-2:/oracle11/oradata/jycs/jycs$ls -lrt -rw-r----- 1 oracle11 oinstall 2147491840 Aug 16 17:02 CDZJ_7.dbf -rw-r----- 1 oracle11 oinstall 5368717312 Aug 16 17:03 LDJC_6.dbf
轉換操作會將存儲在目標系統xtt.properties文件中stageondest參數所指定目錄(/oracle11/xtts)中的數據文件副本的字節序轉換為目標系統所使用的字節序。轉后的數據文件副本會被存儲在xtt.properties文件中storageondest參數所指定目錄
(/oracle11/oradata/jycs/jycs)目錄中。這個目錄是目標數據庫最終存儲數據文件的目錄。當這個步驟完成后,在目標系統中xtt.properties文件中stageondest參數所指定目錄(/oracle11/xtts)中的數據文件副本不再需要可以刪除。
3.前滾階段
下面在源數據庫中創建增量數據
SQL> create table ldjc.jy_test(user_id number(20)); Table created SQL> insert into ldjc.jy_test values(1); 1 row inserted SQL> commit; Commit complete SQL> select * from ldjc.jy_test; USER_ID --------------------- 1 SQL> create table cdzj.jy_test(user_id number(20)); Table created SQL> insert into cdzj.jy_test values(1); 1 row inserted SQL> commit; Commit complete SQL> select * from cdzj.jy_test; USER_ID --------------------- 1
在這個階段,會在源系統中對源數據庫創建增量備份,然后將生成的增量備份傳輸到目標系統中,并將增量備份轉換為目標系統所使用的字節序,然后將轉換后的增量備份應用到轉換后的數據文件進行前滾操作。這個階段的操作可以執行多次,每一次成功的增量備份應該比之前的增量備份花費更少的時間,并且讓目標系統中的數據文件的內容更加接近源數據庫的內容。在這個階段源數據庫中被傳輸的數據完全可以被訪問。
3.1 在源系統中對被傳輸的表空間LDJC,CDZJ創建增量備份
在源系統中,以Oracle軟件用戶登錄并設置環境變量(ORACLE_HOME與ORACLE_SID)來指向源數據庫,并執行以下命令來創建增量備份:
[oracle@sjjh xtts_script]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -i ============================================================ trace file is /home/xtts_script/incremental_Aug16_Wed_16_39_56_791//Aug16_Wed_16_39_56_791_.log ============================================================= -------------------------------------------------------------------- Parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Checking properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done checking properties -------------------------------------------------------------------- -------------------------------------------------------------------- Backup incremental -------------------------------------------------------------------- ============================================================ No new datafiles added ============================================================= Prepare newscn for Tablespaces: 'CDZJ' Prepare newscn for Tablespaces: 'LDJC' Prepare newscn for Tablespaces: '''' Prepare newscn for Tablespaces: '''' Prepare newscn for Tablespaces: '''' -------------------------------------------------------------------- Starting incremental backup -------------------------------------------------------------------- -------------------------------------------------------------------- Done backing up incrementals --------------------------------------------------------------------
上面的操作會執行RMAN命令對xtt.properties文件中所指定的所有表空間生成增量備份文件。并且還將創建以下文件供后面的操作使用:
.tsbkupmap.txt
.incrbackups.txt
tsbkupmap.txt的內容如下:
[root@sjjh xtts_script]# cat tsbkupmap.txt CDZJ::7:::1=30sc2f2u_1_1 LDJC::6:::1=31sc2f31_1_1
文件中的內容記錄了表空間與增量備份的關聯關系
incrbackups.txt的內容如下:
[root@sjjh xtts_script]# cat incrbackups.txt /home/backup/30sc2f2u_1_1 /home/backup/31sc2f31_1_1
文件中的內容顯示了生成的增量備份文件信息
[oracle@sjjh backup]$ ls -lrt total 888 -rw-r----- 1 oracle oinstall 122880 Aug 16 16:39 30sc2f2u_1_1 -rw-r----- 1 oracle oinstall 786432 Aug 16 16:40 31sc2f31_1_1
3.2 將增量備份傳輸到目標系統中
將上一步生成的增量備份傳輸到目標系統中由xtt.properties文件中的stageondest目錄(/oracle11/xtts)中。
IBMP740-2:/oracle11/xtts$ftp 10.138.130.101 Connected to 10.138.130.101. 220 (vsFTPd 2.2.2) Name (10.138.130.101:root): oracle 331 Please specify the password. Password: 230 Login successful. ftp> cd /home/backup 250 Directory successfully changed. ftp> ls -lrt 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r----- 1 501 501 122880 Aug 16 08:39 30sc2f2u_1_1 -rw-r----- 1 501 501 786432 Aug 16 08:40 31sc2f31_1_1 226 Directory send OK. ftp> lcd /oracle11/xtts Local directory now /oracle11/xtts ftp> bin 200 Switching to Binary mode. ftp> get 30sc2f2u_1_1 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for 30sc2f2u_1_1 (122880 bytes). 226 Transfer complete. 122880 bytes received in 0.001414 seconds (8.487e+04 Kbytes/s) local: 30sc2f2u_1_1 remote: 30sc2f2u_1_1 ftp> get 31sc2f31_1_1 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for 31sc2f31_1_1 (786432 bytes). 226 Transfer complete. 786432 bytes received in 0.007007 seconds (1.096e+05 Kbytes/s) local: 31sc2f31_1_1 remote: 31sc2f31_1_1 IBMP740-2:/oracle11/xtts$ls -lrt total 1776 -rw-r--r-- 1 oracle11 oinstall 122880 Aug 16 17:37 30sc2f2u_1_1 -rw-r--r-- 1 oracle11 oinstall 786432 Aug 16 17:37 31sc2f31_1_1
3.3 在目標系統中轉換增量備份并應用到數據文件副本
在目標系統中以Oracle軟件用戶登錄并設置環境變量(ORACLE_HOME與ORACLE_SID)來指向目標數據庫,并從源系統中將上一步生成的xttplan.txt與tsbkupmap.txt文件。
IBMP740-2:/oracle11/xtts$ftp 10.138.130.101 Connected to 10.138.130.101. 220 (vsFTPd 2.2.2) Name (10.138.130.101:root): oracle 331 Please specify the password. Password: 230 Login successful. ftp> cd /home/xtts_script 250 Directory successfully changed. ftp> ls -lrt 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r--r-- 1 501 501 1390 May 24 08:57 xttcnvrtbkupdest.sql -rw-r--r-- 1 501 501 11710 May 24 08:57 xttprep.tmpl -rw-r--r-- 1 501 501 52 May 24 08:57 xttstartupnomount.sql -rw-r--r-- 1 501 501 71 May 24 08:57 xttdbopen.sql -rw-r--r-- 1 501 501 139331 May 24 08:57 xttdriver.pl -rw-r--r-- 1 501 501 7969 Jun 05 00:47 xtt.properties.bak -rw-r--r-- 1 501 501 33949 Aug 14 09:25 rman_xttconvert_v3.zip -rw-r--r-- 1 501 501 255 Aug 16 06:58 xtt.properties -rw-r--r-- 1 501 501 50 Aug 16 07:51 xttplan.txt -rw-r--r-- 1 501 501 354 Aug 16 07:51 rmanconvert.cmd -rw-r--r-- 1 501 501 96 Aug 16 07:52 xttnewdatafiles.txt drwxr-xr-x 2 501 501 4096 Aug 16 07:52 prepare_Aug16_Wed_15_50_19_497 -rw-r--r-- 1 501 501 54 Aug 16 08:39 xttplan.txt.new -rw-r--r-- 1 501 501 50 Aug 16 08:40 tsbkupmap.txt -rw-r--r-- 1 501 501 52 Aug 16 08:40 incrbackups.txt drwxr-xr-x 2 501 501 4096 Aug 16 08:40 incremental_Aug16_Wed_16_39_56_791 226 Directory send OK. ftp> lcd /oracle11/xtts_script Local directory now /oracle11/xtts_script ftp> bin 200 Switching to Binary mode. ftp> get xttplan.txt 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for xttplan.txt (50 bytes). 226 Transfer complete. 50 bytes received in 7.9e-05 seconds (618.1 Kbytes/s) local: xttplan.txt remote: xttplan.txt ftp> get tsbkupmap.txt 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for tsbkupmap.txt (50 bytes). 226 Transfer complete. 50 bytes received in 0.00011 seconds (443.9 Kbytes/s) local: tsbkupmap.txt remote: tsbkupmap.txt IBMP740-2:/oracle11/xtts_script$cat xttplan.txt CDZJ::::14690156586805 7 LDJC::::14690156586805 6 IBMP740-2:/oracle11/xtts_script$cat tsbkupmap.txt CDZJ::7:::1=30sc2f2u_1_1 LDJC::6:::1=31sc2f31_1_1 IBMP740-2:/home/oracle11$export TMPDIR=/oracle11/xtts_script IBMP740-2:/home/oracle11$cd /oracle11/xtts_script IBMP740-2:/oracle11/xtts_script$export ORACLE_SID=jycs IBMP740-2:/oracle11/xtts_script$export XTTDEBUG=1 IBMP740-2:/oracle11/xtts_script$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -r ============================================================ trace file is /oracle11/xtts_script/rollforward_Aug16_Wed_18_19_46_764//Aug16_Wed_18_19_46_764_.log ============================================================= -------------------------------------------------------------------- Parsing properties -------------------------------------------------------------------- Key: backupondest Values: /oracle11/backup Key: platformid Values: 13 Key: backupformat Values: /home/backup Key: storageondest Values: /oracle11/oradata/jycs/jycs Key: dfcopydir Values: /home/dfcopydir Key: cnvinst_home Values: /oracle11/app/oracle/product/11.2.0/db Key: cnvinst_sid Values: xtt Key: stageondest Values: /oracle11/xtts Key: tablespaces Values: CDZJ,LDJC -------------------------------------------------------------------- Done parsing properties -------------------------------------------------------------------- ORACLE_SID : jycs ORACLE_HOME : /oracle11/app/oracle/product/11.2.0/db -------------------------------------------------------------------- Checking properties -------------------------------------------------------------------- ARGUMENT tablespaces ARGUMENT platformid ARGUMENT backupformat ARGUMENT stageondest ARGUMENT backupondest -------------------------------------------------------------------- Done checking properties -------------------------------------------------------------------- ORACLE_SID : xtt ORACLE_HOME : /oracle11/app/oracle/product/11.2.0/db -------------------------------------------------------------------- Start rollforward -------------------------------------------------------------------- convert instance: /oracle11/app/oracle/product/11.2.0/db convert instance: xtt ORACLE instance started. Total System Global Area 797712384 bytes Fixed Size 2250200 bytes Variable Size 490736168 bytes Database Buffers 268435456 bytes Redo Buffers 36290560 bytes rdfno 7 BEFORE ROLLPLAN datafile number : 7 datafile name : /oracle11/oradata/jycs/jycs/CDZJ_7.dbf AFTER ROLLPLAN CONVERTED BACKUP PIECE/oracle11/backup/xib_30sc2f2u_1_1_7 PL/SQL procedure successfully completed. Entering RollForward After applySetDataFile Done: applyDataFileTo Done: applyDataFileTo Done: RestoreSetPiece Done: RestoreBackupPiece PL/SQL procedure successfully completed. rdfno 6 BEFORE ROLLPLAN datafile number : 6 datafile name : /oracle11/oradata/jycs/jycs/LDJC_6.dbf AFTER ROLLPLAN CONVERTED BACKUP PIECE/oracle11/backup/xib_31sc2f31_1_1_6 PL/SQL procedure successfully completed. Entering RollForward After applySetDataFile Done: applyDataFileTo Done: applyDataFileTo Done: RestoreSetPiece Done: RestoreBackupPiece PL/SQL procedure successfully completed. -------------------------------------------------------------------- End of rollforward phase --------------------------------------------------------------------
這步前滾數據文件的操作,會以sys用戶連接到增量轉換實例,轉換完增量備份后,然后連接到目標數據庫并將增量備份應用到每個表空間注意:對于每一次增量備份都需要將xttplan.txt與tsbkupmap.txt文件復制一次,不要對腳本所生成的xttplan.txt.new文件進行修改,復制或者其它任何改變。執行這步操作時目標實例會進行重啟操作。
3.4 為下一次增量備份判斷from_scn
再次生成增量數據
SQL> insert into ldjc.jy_test values(2); 1 row inserted SQL> insert into cdzj.jy_test values(2); 1 row inserted SQL> commit; Commit complete SQL> select * from ldjc.jy_test; USER_ID --------------------- 1 2 SQL> select * from cdzj.jy_test; USER_ID --------------------- 1 2
在源系統中,以Oracle軟件用戶登錄并設置環境變量(ORACLE_HOME與ORACLE_SID)來指向源數據庫,執行以下命令來判斷from_scn:
[oracle@sjjh xtts_script]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -s ============================================================ trace file is /home/xtts_script/determinescn_Aug16_Wed_17_52_34_308//Aug16_Wed_17_52_34_308_.log ============================================================= -------------------------------------------------------------------- Parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Checking properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done checking properties -------------------------------------------------------------------- Prepare newscn for Tablespaces: 'CDZJ' Prepare newscn for Tablespaces: 'LDJC' Prepare newscn for Tablespaces: '''' Prepare newscn for Tablespaces: '''' Prepare newscn for Tablespaces: '''' New /home/xtts_script/xttplan.txt with FROM SCN's generated
這步操作會計算下一個from_scn,并記錄在xttplan.txt文件中,當下次創建增量備份時會使用這個scn
[root@sjjh xtts_script]# cat xttplan.txt CDZJ::::14690180717851 7 LDJC::::14690180727235 6
3.5 再次重復前滾階段或執行傳輸階段
這里有兩種選擇:
1.如果如果將目標數據庫中的數據文件與源數據庫中的數據文件進行最接近的同步,那么就重復執行前滾操作。
2.如果目標數據庫中的數據文件與源數據庫中的數據文件已經達到所期望的接近,那么執行傳輸階段的操作。
注意:如果從上一次增量備份后增加了一個新的表空間或者一個新的表空間名增加到xtt.properties文件中,那么將會出現以下錯誤:
Error: ------ The incremental backup was not taken as a datafile has been added to the tablespace: Please Do the following: -------------------------- 1. Copy fixnewdf.txt from source to destination temp dir 2. Copy backups: from to the in destination 3. On Destination, run $ORACLE_HOME/perl/bin/perl xttdriver.pl --fixnewdf 4. Re-execute the incremental backup in source: $ORACLE_HOME/perl/bin/perl xttdriver.pl --bkpincr NOTE: Before running incremental backup, delete FAILED in source temp dir or run xttdriver.pl with -L option: $ORACLE_HOME/perl/bin/perl xttdriver.pl -L --bkpincr These instructions must be followed exactly as listed. The next incremental backup will include the new datafile.
我這里再次執行前滾操作
在源系統中,以Oracle軟件用戶登錄并設置環境變量(ORACLE_HOME與ORACLE_SID)來指向源數據庫,并執行以下命令來創建增量備份:
[oracle@sjjh xtts_script]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -i ============================================================ trace file is /home/xtts_script/incremental_Aug16_Wed_18_04_22_221//Aug16_Wed_18_04_22_221_.log ============================================================= -------------------------------------------------------------------- Parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Checking properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done checking properties -------------------------------------------------------------------- -------------------------------------------------------------------- Backup incremental -------------------------------------------------------------------- ============================================================ No new datafiles added ============================================================= Prepare newscn for Tablespaces: 'CDZJ' Prepare newscn for Tablespaces: 'LDJC' Prepare newscn for Tablespaces: '''' Prepare newscn for Tablespaces: '''' Prepare newscn for Tablespaces: '''' -------------------------------------------------------------------- Starting incremental backup -------------------------------------------------------------------- -------------------------------------------------------------------- Done backing up incrementals --------------------------------------------------------------------
上面的操作會執行RMAN命令對xtt.properties文件中所指定的所有表空間生成增量備份文件。并且還將創建以下文件供后面的操作使用:
.tsbkupmap.txt
.incrbackups.txt
tsbkupmap.txt的內容如下:
[root@sjjh xtts_script]# cat tsbkupmap.txt LDJC::6:::1=33sc2k1b_1_1 CDZJ::7:::1=32sc2k18_1_1
文件中的內容記錄了表空間與增量備份的關聯關系
incrbackups.txt的內容如下:
[root@sjjh xtts_script]# cat incrbackups.txt /home/backup/33sc2k1b_1_1 /home/backup/32sc2k18_1_1
文件中的內容顯示了生成的增量備份文件信息
[oracle@sjjh backup]$ ls -lrt -rw-r----- 1 oracle oinstall 122880 Aug 16 18:04 32sc2k18_1_1 -rw-r----- 1 oracle oinstall 729088 Aug 16 18:04 33sc2k1b_1_1
將增量備份傳輸到目標系統中
將上一步生成的增量備份傳輸到目標系統中由xtt.properties文件中的stageondest目錄(/oracle11/xtts)中。
IBMP740-2:/oracle11/xtts$ftp 10.138.130.101 Connected to 10.138.130.101. 220 (vsFTPd 2.2.2) Name (10.138.130.101:root): oracle 331 Please specify the password. Password: 230 Login successful. ftp> cd /home/backup 250 Directory successfully changed. ftp> lcd /oracle11/xtts Local directory now /oracle11/xtts ftp> bin 200 Switching to Binary mode. ftp> get 32sc2k18_1_1 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for 32sc2k18_1_1 (122880 bytes). 226 Transfer complete. 122880 bytes received in 0.001608 seconds (7.463e+04 Kbytes/s) local: 32sc2k18_1_1 remote: 32sc2k18_1_1 ftp> get 33sc2k1b_1_1 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for 33sc2k1b_1_1 (729088 bytes). 226 Transfer complete. 729088 bytes received in 0.006469 seconds (1.101e+05 Kbytes/s) local: 33sc2k1b_1_1 remote: 33sc2k1b_1_1 IBMP740-2:/oracle11/xtts$ls -lrt -rw-r--r-- 1 oracle11 oinstall 122880 Aug 16 18:52 32sc2k18_1_1 -rw-r--r-- 1 oracle11 oinstall 729088 Aug 16 18:52 33sc2k1b_1_1
在目標系統中轉換增量備份并應用到數據文件副本
在目標系統中以Oracle軟件用戶登錄并設置環境變量(ORACLE_HOME與ORACLE_SID)來指向目標數據庫,并從源系統中將上一步生成的xttplan.txt與tsbkupmap.txt文件。
IBMP740-2:/oracle11/xtts$ftp 10.138.130.101 Connected to 10.138.130.101. 220 (vsFTPd 2.2.2) Name (10.138.130.101:root): oracle 331 Please specify the password. Password: 230 Login successful. ftp> lcd /oracle11/xtts_script Local directory now /oracle11/xtts_script ftp> bin 200 Switching to Binary mode. ftp> cd /home/xtts_script 250 Directory successfully changed. ftp> get xttplan.txt 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for xttplan.txt (54 bytes). 226 Transfer complete. 54 bytes received in 9.4e-05 seconds (561 Kbytes/s) local: xttplan.txt remote: xttplan.txt ftp> get tsbkupmap.txt 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for tsbkupmap.txt (50 bytes). 226 Transfer complete. 50 bytes received in 0.000107 seconds (456.3 Kbytes/s) local: tsbkupmap.txt remote: tsbkupmap.txt IBMP740-2:/oracle11/xtts_script$cat xttplan.txt CDZJ::::14690180717851 7 LDJC::::14690180727235 6 IBMP740-2:/oracle11/xtts_script$cat tsbkupmap.txt LDJC::6:::1=33sc2k1b_1_1 CDZJ::7:::1=32sc2k18_1_1 IBMP740-2:/oracle11/xtts_script$export TMPDIR=/oracle11/xtts_script IBMP740-2:/oracle11/xtts_script$cd /oracle11/xtts_script IBMP740-2:/oracle11/xtts_script$export ORACLE_SID=jycs IBMP740-2:/oracle11/xtts_script$export XTTDEBUG=1 IBMP740-2:/oracle11/xtts_script$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -r ============================================================ trace file is /oracle11/xtts_script/rollforward_Aug16_Wed_19_02_23_450//Aug16_Wed_19_02_23_450_.log ============================================================= -------------------------------------------------------------------- Parsing properties -------------------------------------------------------------------- Key: backupondest Values: /oracle11/backup Key: platformid Values: 13 Key: backupformat Values: /home/backup Key: storageondest Values: /oracle11/oradata/jycs/jycs Key: dfcopydir Values: /home/dfcopydir Key: cnvinst_home Values: /oracle11/app/oracle/product/11.2.0/db Key: cnvinst_sid Values: xtt Key: stageondest Values: /oracle11/xtts Key: tablespaces Values: CDZJ,LDJC -------------------------------------------------------------------- Done parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Checking properties -------------------------------------------------------------------- ARGUMENT tablespaces ARGUMENT platformid ARGUMENT backupformat ARGUMENT stageondest ARGUMENT backupondest -------------------------------------------------------------------- Done checking properties -------------------------------------------------------------------- ORACLE_SID : jycs ORACLE_HOME : /oracle11/app/oracle/product/11.2.0/db -------------------------------------------------------------------- Start rollforward -------------------------------------------------------------------- convert instance: /oracle11/app/oracle/product/11.2.0/db convert instance: xtt ORACLE instance started. Total System Global Area 4275781632 bytes Fixed Size 2253216 bytes Variable Size 922750560 bytes Database Buffers 3305111552 bytes Redo Buffers 45666304 bytes rdfno 7 BEFORE ROLLPLAN datafile number : 7 datafile name : /oracle11/oradata/jycs/jycs/CDZJ_7.dbf AFTER ROLLPLAN CONVERTED BACKUP PIECE/oracle11/backup/xib_32sc2k18_1_1_7 PL/SQL procedure successfully completed. Entering RollForward After applySetDataFile Done: applyDataFileTo Done: applyDataFileTo Done: RestoreSetPiece Done: RestoreBackupPiece PL/SQL procedure successfully completed. rdfno 6 BEFORE ROLLPLAN datafile number : 6 datafile name : /oracle11/oradata/jycs/jycs/LDJC_6.dbf AFTER ROLLPLAN CONVERTED BACKUP PIECE/oracle11/backup/xib_33sc2k1b_1_1_6 PL/SQL procedure successfully completed. Entering RollForward After applySetDataFile Done: applyDataFileTo Done: applyDataFileTo Done: RestoreSetPiece Done: RestoreBackupPiece PL/SQL procedure successfully completed. -------------------------------------------------------------------- End of rollforward phase --------------------------------------------------------------------
這步前滾數據文件的操作,會以sys用戶連接到增量轉換實例,轉換完增量備份后,然后連接到目標數據庫并將增量備份應用到每個表空間注意:對于每一次增量備份都需要將xttplan.txt與tsbkupmap.txt文件復制一次,不要對腳本所生成的xttplan.txt.new文件進行修改,復制或者其它任何改變。執行這步操作時目標實例會進行重啟操作。
為下一次增量備份判斷from_scn
再次生成增量數據
SQL> insert into ldjc.jy_test values(3); 1 row inserted SQL> insert into cdzj.jy_test values(3); 1 row inserted SQL> commit; Commit complete SQL> select * from ldjc.jy_test; USER_ID --------------------- 1 2 3 SQL> select * from cdzj.jy_test; USER_ID --------------------- 1 2 3
在源系統中,以Oracle軟件用戶登錄并設置環境變量(ORACLE_HOME與ORACLE_SID)來指向源數據庫,執行以下命令來判斷from_scn:
[oracle@sjjh xtts_script]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -s ============================================================ trace file is /home/xtts_script/determinescn_Aug16_Wed_18_25_13_253//Aug16_Wed_18_25_13_253_.log ============================================================= -------------------------------------------------------------------- Parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Checking properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done checking properties -------------------------------------------------------------------- Prepare newscn for Tablespaces: 'CDZJ' Prepare newscn for Tablespaces: 'LDJC' Prepare newscn for Tablespaces: '''' Prepare newscn for Tablespaces: '''' Prepare newscn for Tablespaces: '''' New /home/xtts_script/xttplan.txt with FROM SCN's generated [root@sjjh xtts_script]# cat xttplan.txt CDZJ::::14690185295398 7 LDJC::::14690185295430 6
4.傳輸階段
在執行傳輸階段操作時,源數據庫中被傳輸表空間要設置為read only狀態,并且通過創建與應用最后一次的增量備份使用目標數據庫中的數據文件與源數據庫中的數據文件內容保持一致。在目標數據庫數據文件與源數據庫數據文件內容達成一致后,在源系統中執行正常的傳輸表空間操作來導出元數據,然后將元數據導入到目標數據庫中。直到傳輸階段操作完成之前,被傳輸的數據只能以read only模式被訪問。
4.1 將源數據庫中被傳輸表空間設置為read only狀態
在源系統中,以Oracle軟件用戶登錄并設置環境變量(ORACLE_HOME與ORACLE_SID)來指向源數據庫,并執行以下命令將表空間設置為read only:
SQL> alter tablespace ldjc read only; Tablespace altered. SQL> alter tablespace cdzj read only; Tablespace altered.
4.2 最后一次創建增量備份,并傳輸到目標系統且執行轉換并應用到目標數據文件
在源系統中,以Oracle軟件用戶登錄并設置環境變量(ORACLE_HOME與ORACLE_SID)來指向源數據庫,并執行以下命令來創建增量備份:
[oracle@sjjh xtts_script]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -i ============================================================ trace file is /home/xtts_script/incremental_Aug16_Wed_18_33_49_991//Aug16_Wed_18_33_49_991_.log ============================================================= -------------------------------------------------------------------- Parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Checking properties -------------------------------------------------------------------- -------------------------------------------------------------------- Done checking properties -------------------------------------------------------------------- -------------------------------------------------------------------- Backup incremental -------------------------------------------------------------------- ============================================================ No new datafiles added ============================================================= Prepare newscn for Tablespaces: 'CDZJ' Prepare newscn for Tablespaces: 'LDJC' Prepare newscn for Tablespaces: '''' Prepare newscn for Tablespaces: '''' Prepare newscn for Tablespaces: '''' -------------------------------------------------------------------- Starting incremental backup -------------------------------------------------------------------- -------------------------------------------------------------------- Done backing up incrementals --------------------------------------------------------------------
上面的操作會執行RMAN命令對xtt.properties文件中所指定的所有表空間生成增量備份文件。并且還將創建以下文件供后面的操作使用:
.tsbkupmap.txt
.incrbackups.txt
tsbkupmap.txt的內容如下:
[root@sjjh xtts_script]# cat tsbkupmap.txt CDZJ::7:::1=34sc2lof_1_1 LDJC::6:::1=35sc2loi_1_1
文件中的內容記錄了表空間與增量備份的關聯關系
incrbackups.txt的內容如下:
[root@sjjh xtts_script]# cat incrbackups.txt /home/backup/34sc2lof_1_1 /home/backup/35sc2loi_1_1
文件中的內容顯示了生成的增量備份文件信息
[oracle@sjjh backup]$ ls -lrt -rw-r----- 1 oracle oinstall 49152 Aug 16 18:33 34sc2lof_1_1 -rw-r----- 1 oracle oinstall 450560 Aug 16 18:33 35sc2loi_1_1
將增量備份傳輸到目標系統中
將上一步生成的增量備份傳輸到目標系統中由xtt.properties文件中的stageondest目錄(/oracle11/xtts)中。
IBMP740-2:/oracle11/xtts$ftp 10.138.130.101 Connected to 10.138.130.101. 220 (vsFTPd 2.2.2) Name (10.138.130.101:root): oracle 331 Please specify the password. Password: 230 Login successful. ftp> cd /home/backup 250 Directory successfully changed. ftp> lcd /oracle11/xtts Local directory now /oracle11/xtts ftp> bin 200 Switching to Binary mode. ftp> get 34sc2lof_1_1 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for 34sc2lof_1_1 (49152 bytes). 226 Transfer complete. 49152 bytes received in 0.000707 seconds (6.789e+04 Kbytes/s) local: 34sc2lof_1_1 remote: 34sc2lof_1_1 ftp> get 35sc2loi_1_1 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for 35sc2loi_1_1 (450560 bytes). 226 Transfer complete. 450560 bytes received in 0.004065 seconds (1.082e+05 Kbytes/s) local: 35sc2loi_1_1 remote: 35sc2loi_1_1 IBMP740-2:/oracle11/xtts$ls -lrt -rw-r--r-- 1 oracle11 oinstall 49152 Aug 16 19:19 34sc2lof_1_1 -rw-r--r-- 1 oracle11 oinstall 450560 Aug 16 19:20 35sc2loi_1_1
在目標系統中轉換增量備份并應用到數據文件副本
在目標系統中以Oracle軟件用戶登錄并設置環境變量(ORACLE_HOME與ORACLE_SID)來指向目標數據庫,并從源系統中將上一步生成的xttplan.txt與tsbkupmap.txt文件。
ftp> cd /home/xtts_script 250 Directory successfully changed. ftp> lcd /oracle11/xtts_script Local directory now /oracle11/xtts_script ftp> bin 200 Switching to Binary mode. ftp> get xttplan.txt 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for xttplan.txt (54 bytes). 226 Transfer complete. 54 bytes received in 5.4e-05 seconds (976.6 Kbytes/s) local: xttplan.txt remote: xttplan.txt ftp> get tsbkupmap.txt 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for tsbkupmap.txt (50 bytes). 226 Transfer complete. 50 bytes received in 5.1e-05 seconds (957.4 Kbytes/s) local: tsbkupmap.txt remote: tsbkupmap.txt IBMP740-2:/oracle11/xtts_script$cat xttplan.txt CDZJ::::14690185295398 7 LDJC::::14690185295430 6 IBMP740-2:/oracle11/xtts_script$cat tsbkupmap.txt CDZJ::7:::1=34sc2lof_1_1 LDJC::6:::1=35sc2loi_1_1 IBMP740-2:/oracle11/xtts_script$$ORACLE_HOME/perl/bin/perl xttdriver.pl -r ============================================================ trace file is /oracle11/xtts_script/rollforward_Aug16_Wed_19_24_53_790//Aug16_Wed_19_24_53_790_.log ============================================================= -------------------------------------------------------------------- Parsing properties -------------------------------------------------------------------- Key: backupondest Values: /oracle11/backup Key: platformid Values: 13 Key: backupformat Values: /home/backup Key: storageondest Values: /oracle11/oradata/jycs/jycs Key: dfcopydir Values: /home/dfcopydir Key: cnvinst_home Values: /oracle11/app/oracle/product/11.2.0/db Key: cnvinst_sid Values: xtt Key: stageondest Values: /oracle11/xtts Key: tablespaces Values: CDZJ,LDJC -------------------------------------------------------------------- Done parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Checking properties -------------------------------------------------------------------- ARGUMENT tablespaces ARGUMENT platformid ARGUMENT backupformat ARGUMENT stageondest ARGUMENT backupondest -------------------------------------------------------------------- Done checking properties -------------------------------------------------------------------- ORACLE_SID : jycs ORACLE_HOME : /oracle11/app/oracle/product/11.2.0/db -------------------------------------------------------------------- Start rollforward -------------------------------------------------------------------- convert instance: /oracle11/app/oracle/product/11.2.0/db convert instance: xtt ORACLE instance started. Total System Global Area 4275781632 bytes Fixed Size 2253216 bytes Variable Size 922750560 bytes Database Buffers 3305111552 bytes Redo Buffers 45666304 bytes rdfno 7 BEFORE ROLLPLAN datafile number : 7 datafile name : /oracle11/oradata/jycs/jycs/CDZJ_7.dbf AFTER ROLLPLAN CONVERTED BACKUP PIECE/oracle11/backup/xib_34sc2lof_1_1_7 PL/SQL procedure successfully completed. Entering RollForward After applySetDataFile Done: applyDataFileTo Done: applyDataFileTo Done: RestoreSetPiece Done: RestoreBackupPiece PL/SQL procedure successfully completed. rdfno 6 BEFORE ROLLPLAN datafile number : 6 datafile name : /oracle11/oradata/jycs/jycs/LDJC_6.dbf AFTER ROLLPLAN CONVERTED BACKUP PIECE/oracle11/backup/xib_35sc2loi_1_1_6 PL/SQL procedure successfully completed. Entering RollForward After applySetDataFile Done: applyDataFileTo Done: applyDataFileTo Done: RestoreSetPiece Done: RestoreBackupPiece PL/SQL procedure successfully completed. -------------------------------------------------------------------- End of rollforward phase --------------------------------------------------------------------
4.3 在目標數據庫中導入元數據
在目標系統中以Oracle軟件用戶登錄并設置環境變量(ORACLE_HOME與ORACLE_SID)來指向目標數據庫,執行以下命令來生成Data Pump TTS命令:
IBMP740-2:/oracle11/xtts_script$$ORACLE_HOME/perl/bin/perl xttdriver.pl -e ============================================================ trace file is /oracle11/xtts_script/generate_Aug16_Wed_19_27_43_910//Aug16_Wed_19_27_43_910_.log ============================================================= -------------------------------------------------------------------- Parsing properties -------------------------------------------------------------------- Key: backupondest Values: /oracle11/backup Key: platformid Values: 13 Key: backupformat Values: /home/backup Key: storageondest Values: /oracle11/oradata/jycs/jycs Key: dfcopydir Values: /home/dfcopydir Key: cnvinst_home Values: /oracle11/app/oracle/product/11.2.0/db Key: cnvinst_sid Values: xtt Key: stageondest Values: /oracle11/xtts Key: tablespaces Values: CDZJ,LDJC -------------------------------------------------------------------- Done parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Checking properties -------------------------------------------------------------------- ARGUMENT tablespaces ARGUMENT platformid ARGUMENT backupformat ARGUMENT stageondest -------------------------------------------------------------------- Done checking properties -------------------------------------------------------------------- ORACLE_SID : jycs ORACLE_HOME : /oracle11/app/oracle/product/11.2.0/db -------------------------------------------------------------------- Generating plugin -------------------------------------------------------------------- -------------------------------------------------------------------- Done generating plugin file /oracle11/xtts_script/xttplugin.txt -------------------------------------------------------------------- IBMP740-2:/oracle11/xtts_script$cat /oracle11/xtts_script/xttplugin.txt impdp directory= logfile= \ network_link= transport_full_check=no \ transport_tablespaces=CDZJ,LDJC \ transport_datafiles='/oracle11/oradata/jycs/jycs/CDZJ_7.dbf','/oracle11/oradata/jycs/jycs/LDJC_6.dbf'
上面的命令會生成一個名叫xttplugin.txt的文件,文件創建了一個使用network_link參數執行傳輸表空間導入元數據的命令。命令中的transport_tablespaces與transport_datafiles參數已經設置正確。注意network_link模式指示導入通過使用dblink來完成,就不需要執行導出或使用dump文件。如果選擇執行這個命令來完成表空間的傳輸就需要修改directory,logfile與network_link參數
SQL> create directory dump_dir as '/oracle11/xtts_script'; Directory created. SQL> grant read,write on directory dump_dir to public; Grant succeeded.
在目標數據庫中創建一個dblink連接到源數據庫。例如創建一個名叫ttslink的dblink,執行以下命令:
SQL> create public database link ttslink 2 connect to system identified by "xxzx7817600" 3 using '(DESCRIPTION = 4 (ADDRESS_LIST = 5 (ADDRESS = (PROTOCOL = TCP)(HOST =10.138.130.101)(PORT = 1521)) 6 ) 7 (CONNECT_DATA = 8 (SERVER = DEDICATED) 9 (SERVICE_NAME =sjjh) 10 ) 11 )'; Database link created.
創建dblink后驗證是否可以能過dblink訪問源數據庫
SQL> select * from dual@ttslink; D - X
在目標數據庫中創建用戶方案LDJC,CDZJ
SQL> create user ldjc identified by "ldjc"; User created. SQL> grant dba,connect,resource to ldjc; Grant succeeded. SQL> create user cdzj identified by "cdzj"; User created. SQL> grant dba,connect,resource to cdzj; Grant succeeded. IBMP740-2:/oracle11/xtts_script$impdp system/abcd directory=dump_dir logfile=tts_imp.log network_link=ttslink transport_full_check=no transport_tablespaces=CDZJ,LDJC transport_datafiles='/oracle11/oradata/jycs/jycs/CDZJ_7.dbf','/oracle11/oradata/jycs/jycs/LDJC_6.dbf' Import: Release 11.2.0.4.0 - Production on Wed Aug 16 19:49:01 2017 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01": system/******** directory=dump_dir logfile=tts_imp.log network_link=ttslink transport_full_check=no transport_tablespaces=CDZJ,LDJC transport_datafiles=/oracle11/oradata/jycs/jycs/CDZJ_7.dbf,/oracle11/oradata/jycs/jycs/LDJC_6.dbf Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK Processing object type TRANSPORTABLE_EXPORT/TABLE Processing object type TRANSPORTABLE_EXPORT/INDEX/INDEX Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT Processing object type TRANSPORTABLE_EXPORT/INDEX_STATISTICS Processing object type TRANSPORTABLE_EXPORT/COMMENT Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/REF_CONSTRAINT Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Wed Aug 16 19:50:19 2017 elapsed 0 00:01:17 IBMP740-2:/home/oracle11$impdp system/abcd directory=dump_dir logfile=ysj.log schemas=ldjc,cdzj content=metadata_only exclude=table,index network_link=ttslink Import: Release 11.2.0.4.0 - Production on Fri Aug 18 08:40:01 2017 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Starting "SYSTEM"."SYS_IMPORT_SCHEMA_01": system/******** directory=dump_dir logfile=ysj.log schemas=ldjc,cdzj content=metadata_only exclude=table,index network_link=ttslink Processing object type SCHEMA_EXPORT/USER ORA-31684: Object type USER:"LDJC" already exists ORA-31684: Object type USER:"CDZJ" already exists Processing object type SCHEMA_EXPORT/SYSTEM_GRANT Processing object type SCHEMA_EXPORT/ROLE_GRANT Processing object type SCHEMA_EXPORT/DEFAULT_ROLE Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA Processing object type SCHEMA_EXPORT/SYNONYM/SYNONYM Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC Processing object type SCHEMA_EXPORT/DB_LINK Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE Processing object type SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC Processing object type SCHEMA_EXPORT/FUNCTION/FUNCTION Processing object type SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC Processing object type SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION Processing object type SCHEMA_EXPORT/VIEW/VIEW ORA-39082: Object type VIEW:"LDJC"."DB03" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."AA10" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."AA12" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."AB01" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."AB01H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."AB01_LOG" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."AB01_USER" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."AB01_WEB" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."AB01_WEB_NSLOG" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."AB02" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."AB02H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."AB02_WEB" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB01" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB01H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB01_WEB" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB02" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB02H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB02_WEB" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB03" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB03H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB03_WEB" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB04" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB04H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB04_WEB" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB05" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB05H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BB05_WEB" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BC02" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BC02H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BC02_LOG" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BD01_WEB" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BD02_WEB" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BD03_WEB" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BF01" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BF01H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ01" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ01H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ01_1" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ02" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ02H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ02_1" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ03" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ03H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ04" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ04H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ04_1" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ05" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ05H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ05_1" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ06" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ06H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ07" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ07H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ07_1" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ08" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ08H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ09" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ09H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ09_TEMP" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ10" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ10H" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ10_LOG" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."BZ11_WEB" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."OAE300_LOG" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."TEMP_AAB002" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."V_JCXT_AJGL_JABP" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."JCXT_AJGL_ZWNR" created with compilation warnings ORA-39082: Object type VIEW:"LDJC"."V_JCXT_AJGL_LABP" created with compilation warnings Processing object type SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY ORA-39082: Object type PACKAGE_BODY:"LDJC"."QUEST_SOO_PKG" created with compilation warnings ORA-39082: Object type PACKAGE_BODY:"LDJC"."QUEST_SOO_SQLTRACE" created with compilation warnings Processing object type SCHEMA_EXPORT/JOB Processing object type SCHEMA_EXPORT/POST_SCHEMA/PROCOBJ Job "SYSTEM"."SYS_IMPORT_SCHEMA_01" completed with 72 error(s) at Fri Aug 18 08:40:22 2017 elapsed 0 00:00:20 SQL> select * from ldjc.jy_test; USER_ID ---------- 1 2 3 SQL> select * from cdzj.jy_test; USER_ID ---------- 1 2 3
在元數據導入后,可以將源數據庫中的表空間ldjc,cdzj修改為read write狀態
SQL> alter tablespace ldjc read write; Tablespace altered. SQL> alter tablespace cdzj read write; Tablespace altered.
如果不使用network_link執行導入,那么可以執行傳輸表空間模式的data pump導出元數據,然后將元數據復制到目標數據庫,再執行導入。
4.4 將目標數據庫中的表空間ldjc,cdzj修改為read write狀態
SQL> select tablespace_name,status from dba_tablespaces; TABLESPACE_NAME STATUS ------------------------------ --------- SYSTEM ONLINE SYSAUX ONLINE UNDOTBS1 ONLINE TEMP ONLINE USERS ONLINE EXAMPLE ONLINE CDZJ READ ONLY LDJC READ ONLY SQL> alter tablespace ldjc read write; Tablespace altered. SQL> alter tablespace cdzj read write; Tablespace altered. SQL> select tablespace_name,status from dba_tablespaces; TABLESPACE_NAME STATUS ------------------------------ --------- SYSTEM ONLINE SYSAUX ONLINE UNDOTBS1 ONLINE TEMP ONLINE USERS ONLINE EXAMPLE ONLINE CDZJ ONLINE LDJC ONLINE
4.5 驗證傳輸的數據
在這一步,在目標數據庫中被傳輸過來的表空間設置為read only狀態,然后運行應用程序來進行驗證。也可以使用RMAN來檢查物理與邏輯塊損壞的情況。
IBMP740-2:/oracle11/xtts$export ORACLE_SID=jycs IBMP740-2:/oracle11/xtts$rman target/ RMAN> validate tablespace LDJC,CDZJ check logical; Starting validate at 2017-08-16 20:00:52 using channel ORA_DISK_1 channel ORA_DISK_1: starting validation of datafile channel ORA_DISK_1: specifying datafile(s) for validation input datafile file number=00007 name=/oracle11/oradata/jycs/jycs/LDJC_6.dbf input datafile file number=00006 name=/oracle11/oradata/jycs/jycs/CDZJ_7.dbf channel ORA_DISK_1: validation complete, elapsed time: 00:00:25 List of Datafiles ================= File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 6 OK 0 255625 262144 14690188839620 File Name: /oracle11/oradata/jycs/jycs/CDZJ_7.dbf Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 6239 Index 0 0 Other 0 280 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 7 OK 0 3818 655360 14690187700475 File Name: /oracle11/oradata/jycs/jycs/LDJC_6.dbf Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 361553 Index 0 286299 Other 0 3690 Finished validate at 2017-08-16 20:01:17
5.清除階段
如果為了遷移創建了單獨的轉換home與實例,那么在傳輸表空間操作完成之后可以關閉實例并刪除軟件。為了執行跨平臺增量備份傳輸表空間而創建的文件與目錄也可以刪除了,例如:
.源系統中的dfcopydir目錄
.源系統中的backupformat目錄
.目標系統中的stageondest目錄
.目標系統中的backupondest目錄
.源系統與目標系統中的$TMPDIR環境變量
Perl腳本xttdriver.pl選項
-S 準備傳輸源:-S選項只有當使用dbms_file_transfer方法傳輸數據文件時使用。這個準備操作在源系統中只對源數據庫執行一次。這步操作將創建xttnewdatafiles.txt與getfile.sql文件
-G 從源系統獲取數據文件:-G選項只有當使用dbms_file_transfer方法傳輸數據文件時使用。獲取數據文件操作在目標系統中對目標數據庫只執行一次。-S選項必須在它之前執行一次,并將生成的xttnewdatafiles.txt與getfile.sql文件傳輸到目標系統。-G選項會連接到目標數據庫并執行腳本getfile.sql。getfile.sql將調用dbms_file_transfer.get_file()過程通過使用dblink(srclink)來從源數據庫的目錄對象(srcdir)中獲取要被傳輸的數據文件到目標數據庫的目錄對象(dstdir)中。
-p 準備對源數據庫執行備份:-p選項只有當使用RMAN備份方法來生成數據文件副本時才使用。這步操作在源系統中對源數據庫只執行一次。這步操作會連接到源數據庫并對要被傳輸的每個表空間執行一次xttpreparesrc.sql腳本。xttpreparesrc.sql會執行以下操作:
1.驗證表空間是否處于online,read write模式與是否不包含脫機數據文件
2.標識第一次執行增量備份操作時所需要使用的SCN信息并將它們寫入$TMPDIR目錄中的xttplan.txt文件中
3.在源系統中會在xtt.properties文件的dfcopydir參數所指定的目錄中創建初始化數據文件副本。這些數據文件副本必須手動傳輸到目標每張
4.創建RMAN腳本$TMPDIR/rmanconvert.cmd,在目標系統中它將被用來將數據文件副本的字節序轉換為目標系統所使用的字節序
-c 轉換數據文件:-c選項只有當使用RMAN備份創建初始化數據文件副本時才使用。在目標系統中轉換數據文件副本只執行一次。這步操作將使用rmanconvert.cmd文件來將數據文件副本轉換為目標系統所使用的字節序。轉換后的數據文件副本會被存儲到xtt.properties文件的storageondest參數所指定的目錄中,也就是最終目標數據庫存儲數據文件的目錄。
-i 創建增量備份: 創建增量備份可以對源數據庫執行一次或多次。這個步驟會讀取$TMPDIR/xttplan.txt中所記錄的SCN并生成用于前滾目標系統上數據文件副本的增量備份文件。
-r 前滾數據文件:對于創建的每個增量備份都會對目標數據庫的數據文件進行前滾操作。這步操作會連接到cnvinst_home與cnvinst_sid所定義的增量轉換實例,轉換所創建的增量備份,那么連接到目標數據庫對數據文件應用增量備份進行前滾操作。
-s 判斷新的from_scn:對源數據庫判斷新的from_scn可以執行一次或多次。這步操作會計算下次增量備份所需要的from_scn,并將其記錄在xttplan.txt文件中,然后當下一次創建增量備份的就會使用它。
-e 生成Data Pump TTS命令:在目標系統中對目標數據庫只執行一次來生成Data Pump TTS命令。這步操作將創建一個使用dblink來導入元數據的Data Pump Import命令
-d debug:-d選項能以debug模式來執行xttdriver.pl與RMAN命令。要啟用debug模式需要設置環境變量XTTDEBUG=1
xtt.properties文件參數說明
tablespaces:用逗號來分隔從源數據庫要被傳輸到目標數據庫的表空間列表,例如tablespaces=TS1,TS2
platformid:從v$database.platform_id獲得的源數據庫的platform id,例如platformid=13
srcdir:源數據庫中的目錄對象,它指向源數據庫中存儲數據文件的目錄。多個目錄可以使用逗號進行分隔。srcdir與dstdir的映射可以是N:1或N:N。例如可以有多個源目錄且文件存儲到單個目標目錄或者文件來自一個特定源目錄將被存儲到一個特定的目標目錄。這個參數只有使用dbms_file_transfer來傳輸數據文件時才使用,例如srcdir=SOURCEDIR,srcdir=SRC1,SRC2
dstdir:目標數據庫中的目錄對象,它指向目標數據庫中存儲數據文件的目錄。如果使用了多個源目錄(srcdir),那么可以定義多個目標目錄以便將特定源目錄中的文件寫入特定的目標目錄中。這個參數只有使用dbms_file_transfer來傳輸數據文件時才使用,例如
dstdir=DESTDIR,dstdir=DST1,DST2
srclink:目標數據庫中連接到源數據庫的dblink。使用dbms_file_transfer傳輸數據文件時會使用這個dblink。這個參數只有使用dbms_file_transfer來傳輸數據文件時才使用,例如srclink=ttslink
dfcopydir:源系統中用來存儲xttdriver.pl -p操作所生成的數據文件副本目錄。這個目錄要有足夠的空間來存儲所有被傳輸表空間的數據文件副本。這個目錄可以是目標系統上通過NFS-mounted文件系統所掛載到源系統中的一個目錄,在這種情況下,目標系統中的stageondest參數也引用這個相同的NFS目錄。可以參考See Note 359515.1 for mount option guidelines。 這個參數只有使用RMAN備份生成數據文件副本時才使用,例如dfcopydir=/stage_source
backupformat:源系統中存儲增量備份文件的目錄。這個目錄必須要有足夠的空間來存儲所有創建的增量備份文件。這個目錄可以是目標系統上通過NFS-mounted文件系統所掛載到源系統中的一個目錄,在這種情況下,目標系統中的stageondest參數也引用這個相同的NFS目錄。例如,backupformat=/stage_source
stageondest:目標系統中存儲從源系統中手動傳輸過來的數據文件副本。這個目錄要有足夠的空間來存儲數據文件副本。這個目錄同時也是用來存儲從源系統傳輸過來的增量備份文件的目錄。在目標系統上執行xttdriver.pl -c轉換數據文件與執行xttdriver.pl -r前滾數據文件時會從這個目錄中讀取數據文件副本與增量備份文件。這個目標也可以是一個DBFS-mounted文件系統。個目錄可以是源系統上通過NFS-mounted文件系統所掛載到目標系統中的一個目錄,在這種情況下,源系統中的backupformat參數與dfcopydir參數就會引用這個相同的NFS目錄。可以參考See Note 359515.1 for mount option guidelines。例如stageondest=/stage_dest
storageondest:目標系統中用來存儲xttdriver.pl -c轉換操作后所生成的數據文件副本的目錄,也就是目標數據庫最終存儲數據文件的目錄。這個目錄要有足夠的空間來永久存儲數據文件。這個參數當使用RMAN備份來生成初始化數據文件副本時才使用,例如
storageondest=+DATA或者storageondest=/oradata/test
backupondest:目錄系統中用來存儲xttdriver.pl -r前滾操作所轉換后的增量備份文件的目錄。這個目錄要有足夠的空間來存儲轉換后的增量備份文件。注意,如果這個參數指向ASM磁盤目錄,那么需要在xtt.properties參數文件中定義asm_home與asm_sid參數。如果這個參數指向文件系統目錄,那么就從xtt.properties參數文件中刪除asm_home與asm_sid參數。例如,backupondest=+RECO
cnvinst_home:如果需要使用一個單獨的增量轉換home目錄時才使用。它是目標系統中運行增量轉換實例的ORACLE_HOME,例如cnvinst_home=/u01/app/oracle/product/11.2.0.4/xtt_home
cnvinst_sid:如果需要使用一個單獨的增量轉換home目錄時才使用。它是目標系統中運行增量轉換實例的ORACLE_SID,例如cnvinst_xtt
asm_home:目標系統中ASM實例的ORACLE_HOME。注意如果backupondest設置為文件系統目錄,那么就要刪除asm_home與asm_sid參數,例如asm_home=/u01/app/11.2.0.4/grid
asm_sid:目標系統中ASM實例的ORACLE_SID。例如asm_sid=+ASM1
parallel:定義rmanconvert.cmd命令文件中rman convert命令的并行度。如果不設置這個參數,那么xttdriver.pl將使用parallel=8的缺省并行度。例如,parallel=3
rollparallel:定義xttdriver.pl -r前滾操作的并行度,例如rollparallel=2
getfileparallel:定義xttdriver.pl -G獲取數據文件副本操作的并行度,缺省值是1,最大值為8,例如getfileparallel=4
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。