oracle小知識點14--xtts傳輸表空間
xtts(Cross Platform Transportable Tablespaces)可以說是tts的加強版,透過增量的概念用來減少停機時間.對於跨平臺不同位元組順序endian_format還是比較有用,當然相同平臺或者相同位元組順序也是可以使用.不足的地方是目標端只能是linux x86-64,而且目標端資料庫必須是11.2.0.4或者有裝11.2.0.4的軟體.
官方參考文件:11G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (文件 ID 1389592.1),文件的最下方是用於執行rman-xttconvert的指令碼下載,目前指令碼版本是2.0.
整個操作過程自動化程度很高,透過準備prepare,轉換convert,增量備份incremental,應用增量roll forward,匯入到目標庫transport.
以下是測試:
os:源端:centos 6.6 目標端:centos 6.6
db:源端:11.2.0.4 檔案系統 目標端:11.2.0.4 檔案系統
host:源端:ct6604 192.108.56.121 目標端:ct6604 192.108.56.120
源端例項:ct66 目標端例項:ctdb 目標端輔助例項:xtt
1.##ct6604
##在目標端新建輔助例項,並啟動到nomount.
#此處是為了通用使用了輔助例項,其實目標端資料庫本來就是11.2.0.4,可以不需要輔助例項,直接在目標端面例項上就可以.如果目標端資料庫不是11.2.0.4,新裝了一個11.2.0.4的軟體用以啟動,記得要指定11.2.0.4的環境變數.
[oracle@ct6604 dbs]$ cat > $ORACLE_HOME/dbs/initxtt.ora <<EOF
db_name=xtt
compatible=11.2.0.4.0
EOF
[oracle@ct6604 dbs]$ ORACLE_SID=xtt
[oracle@ct6604 dbs]$ sqlplus / as sysdba
SQL> startup nomount;
SQL> exit
2.##ct6604
##在目標端例項上建連線源端的dblink和用於存放資料檔案的目錄directory.
#此步驟是為了最近透過impdp dblink的方式匯入資料檔案到目標端,如果準備採用本地匯入則不需要建dblink.
[oracle@ct6604 ~]$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin/
[oracle@ct6604 admin]$ vi tnsnames.ora
CT66 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.108.56.121)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ct66)
)
)
[oracle@ct6604 dbs]$ ORACLE_SID=ctdb
[oracle@ct6604 ~]$ sqlplus / as sysdba
SQL> create directory dump_oradata as '/u02/oradata/ctdb';
SQL> create public database link lnk_ct66 connect to system identified by system using 'ct66';
SQL> select * from dual@lnk_ct66;
/*
DUMMY
X
*/
SQL> exit
2.##ct6604
##在目標端配置nfs服務.
#整個xtts的過程源端產生的資料檔案,增量備份,執行指令碼都是要傳到目標端.透過測試發現,使用nfs的方式將傳輸直接在生成檔案的時候就完成了,方便操作,又減少錯誤.如果不使用nfs,手動去傳也是可以.
[oracle@ct6604 ~]$ mkdir /home/oracle/xtts
[oracle@ct6604 ~]$ su -
[root@ct6604 oracle]# service nfs status
[root@ct6604 ~]# cat /etc/exports
/home/oracle/xtts *(rw,sync,no_root_squash,insecure,anonuid=500,anongid=500)
[root@ct6604 oracle]# service nfs start
4.##ct6605
##在源端建立測試用的使用者,表空間,表,許可權.
#此處的許可權和表用於遷移之後的驗證
[oracle@ct6605 ~]$ ORACLE_SID=ct66
[oracle@ct6605 ~]$ sqlplus / as sysdba
SQL> create tablespace tbs01 datafile '/u02/oradata/ct66/tbs01.dbf' size 10m autoextend on next 2m maxsize 4g;
SQL> create tablespace tbs02 datafile '/u02/oradata/ct66/tbs02.dbf' size 10m autoextend on next 2m maxsize 4g;
SQL> create user test01 identified by test01 default tablespace tbs01;
SQL> create user test02 identified by test02 default tablespace tbs02;
SQL> grant connect,resource to test01;
SQL> grant connect,resource to test02;
SQL> grant execute on dbms_crypto to test02;
SQL> create table test01.tb01 as select * from dba_objects;
SQL> create table test02.tb01 as select * from dba_objects;
SQL> grant select on test01.tb01 to test02;
SQL> exit
5.##ct6605
##在源端連線目標端的nfs,mount到/home/oracle/xtts下.
[oracle@ct6605 ~]$ mkdir /home/oracle/xtts
[oracle@ct6605 ~]$ su -
[root@ct6605 ~]# showmount -e 192.108.56.120
Export list for 192.108.56.120:
/home/oracle/xtts *
[root@ct6605 ~]# mount -t nfs 192.108.56.120:/home/oracle/xtts /home/oracle/xtts
6.##ct6605
##在源端解壓rman-xttconvert指令碼,配置xtts的引數檔案.
#此處的操作都是在/home/oracle/xtts下,它也目標端nfs是的一個目錄,所以目標端就不需要再配置這些.
#配置檔案引數說明:tablespaces要傳輸的表空間
platformid源端平臺ID,透過V$DATABASE.PLATFORM_ID檢視
srcdir,dstdir,srclink是用於透過dbms_file_transfer傳輸的引數,本測試透過rman,不使用
dfcopydir源端生成資料檔案的目錄
backupformat源端生成增量備份的目錄
stageondest目標端存放源資料檔案和增量備份的目錄
storageondest目錄端存放目標資料檔案的目錄
backupondest目標端使用ASM時轉換增量備份的目錄,目標端使用資料檔案建議和stageondest設的一樣
parallel,rollparallel,getfileparallel並行度,此處用的預設
此測試沒使用的引數:cnvinst_home,cnvinst_sid目標端輔助例項的oracle_home,sid,如果目標端是單獨又裝的11.2.04的軟體,需要指定
asm_home,asm_sid目標端使用ASM時,用於指定asm例項的oracle_home,sid.
#將dfcopydir,backupformat設的一樣,然後對應到目標端stageondest的路徑,這樣使用nfs方式就不用去管檔案的位置
#/home/oracle/xtts/script是用於存放執行過程中生成的各種指令碼
[root@ct6605 xtts]# su - oracle
[oracle@ct6605 ~]# cd /home/oracle/xtts
[oracle@ct6605 xtts]$ mkdir backup script
[oracle@ct6605 xtts]$ cp /home/oracle/rman-xttconvert_2.0.zip /home/oracle/xtts/
[oracle@ct6605 xtts]$ unzip rman-xttconvert_2.0.zip
[oracle@ct6605 xtts]$ mv xtt.properties xtt.properties.bak
[oracle@ct6605 xtts]$ cat xtt.properties.bak|grep -v ^#|grep -v ^$ >xtt.properties
[oracle@ct6605 xtts]$ vi xtt.properties
[oracle@ct6605 xtts]$ cat xtt.properties
tablespaces=TBS01,TBS02
platformid=13
#srcdir=SOURCEDIR1,SOURCEDIR2
#dstdir=DESTDIR1,DESTDIR2
#srclink=TTSLINK
dfcopydir=/home/oracle/xtts/backup
backupformat=/home/oracle/xtts/backup
stageondest=/home/oracle/xtts/backup
storageondest=/u02/oradata/ctdb
backupondest=/home/oracle/xtts/backup
parallel=3
rollparallel=2
getfileparallel=4
7.##ct6605
##在源端執行準備prepare操作
#此處生成資料檔案和轉換指令碼
[oracle@ct6605 xtts]$ ORACLE_SID=ct66
[oracle@ct6605 xtts]$ TMPDIR=/home/oracle/xtts/script
[oracle@ct6605 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -p
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Starting prepare phase
--------------------------------------------------------------------
Prepare source for Tablespaces:
'TBS01' /home/oracle/xtts/backup
xttpreparesrc.sql for 'TBS01' started at Fri Jan 15 12:31:45 2016
xttpreparesrc.sql for ended at Fri Jan 15 12:31:45 2016
Prepare source for Tablespaces:
'TBS02' /home/oracle/xtts/backup
xttpreparesrc.sql for 'TBS02' started at Fri Jan 15 12:31:50 2016
xttpreparesrc.sql for ended at Fri Jan 15 12:31:50 2016
Prepare source for Tablespaces:
'' /home/oracle/xtts/backup
xttpreparesrc.sql for '' started at Fri Jan 15 12:31:53 2016
xttpreparesrc.sql for ended at Fri Jan 15 12:31:53 2016
--------------------------------------------------------------------
Done with prepare phase
--------------------------------------------------------------------
8.##ct6604
##在目標端執行行轉換convert操作
#因為使用nfs,所以轉換之前源端產生的檔案就無需傳過來,直接執行就可以
[root@ct6604 ~]# su - oracle
[oracle@ct6604 ~]$ cd /home/oracle/xtts
[oracle@ct6604 xtts]$ ORACLE_SID=xtt
[oracle@ct6604 xtts]$ TMPDIR=/home/oracle/xtts/script
[oracle@ct6604 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -c
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Performing convert
--------------------------------------------------------------------
--------------------------------------------------------------------
Converted datafiles listed in: /home/oracle/xtts/script/xttnewdatafiles.txt
--------------------------------------------------------------------
9.##ct6605
##在源端模擬生成新增資料
[oracle@ct6605 xtts]$ ORACLE_SID=ct66
[oracle@ct6605 xtts]$ sqlplus / as sysdba
SQL> insert into test01.tb01 select * from test01.tb01;
SQL> insert into test02.tb01 select * from test02.tb01;
SQL> commit;
SQL> exit
10.##ct6605
##在源端執行增量備份incremental
[oracle@ct6605 xtts]$ ORACLE_SID=ct66
[oracle@ct6605 xtts]$ TMPDIR=/home/oracle/xtts/script
[oracle@ct6605 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -i
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Backup incremental
--------------------------------------------------------------------
Prepare newscn for Tablespaces: 'TBS01'
Prepare newscn for Tablespaces: 'TBS02'
Prepare newscn for Tablespaces: ''
rman target / cmdfile /home/oracle/xtts/script/rmanincr.cmd
Recovery Manager: Release 11.2.0.4.0 - Production on Fri Jan 15 12:41:14 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: CT66 (DBID=665652355)
RMAN> set nocfau;
2> host 'echo ts::TBS01';
3> backup incremental from scn 1407706
4> tag tts_incr_update tablespace 'TBS01' format
5> '/home/oracle/xtts/backup/%U';
6> set nocfau;
7> host 'echo ts::TBS02';
8> backup incremental from scn 1407981
9> tag tts_incr_update tablespace 'TBS02' format
10> '/home/oracle/xtts/backup/%U';
11>
executing command: SET NOCFAU
using target database control file instead of recovery catalog
ts::TBS01
host command complete
Starting backup at 15-JAN-16
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=17 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=/u02/oradata/ct66/tbs01.dbf
channel ORA_DISK_1: starting piece 1 at 15-JAN-16
channel ORA_DISK_1: finished piece 1 at 15-JAN-16
piece handle=/home/oracle/xtts/backup/2oqrebra_1_1 tag=TTS_INCR_UPDATE comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 15-JAN-16
executing command: SET NOCFAU
ts::TBS02
host command complete
Starting backup at 15-JAN-16
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00007 name=/u02/oradata/ct66/tbs02.dbf
channel ORA_DISK_1: starting piece 1 at 15-JAN-16
channel ORA_DISK_1: finished piece 1 at 15-JAN-16
piece handle=/home/oracle/xtts/backup/2pqrebre_1_1 tag=TTS_INCR_UPDATE comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 15-JAN-16
Recovery Manager complete.
--------------------------------------------------------------------
Done backing up incrementals
--------------------------------------------------------------------
11.##ct6604
##在目標端應用增量roll forward
#因為使用nfs,所以轉換之前源端產生的檔案就無需傳過來,直接執行就可以
#應用增量roll forward是應用到轉換後的資料檔案上
[oracle@ct6604 xtts]$ ORACLE_SID=xtt
[oracle@ct6604 xtts]$ TMPDIR=/home/oracle/xtts/script
[oracle@ct6604 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -r
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Start rollforward
--------------------------------------------------------------------
--------------------------------------------------------------------
End of rollforward phase
--------------------------------------------------------------------
12.##ct6605
##在源端模擬生成新增資料,並將要傳輸的表空間設定只讀
#此時才算開始計算停機時間
[oracle@ct6605 xtts]$ ORACLE_SID=ct66
[oracle@ct6605 xtts]$ sqlplus / as sysdba
SQL> insert into test01.tb01 select * from test01.tb01;
SQL> insert into test02.tb01 select * from test02.tb01;
SQL> commit;
SQL> alter tablespace tbs01 read only;
SQL> alter tablespace tbs02 read only;
SQL> exit
13.##ct6605
##在源端執行最後一次增量備份incremental
[oracle@ct6605 xtts]$ ORACLE_SID=ct66
[oracle@ct6605 xtts]$ TMPDIR=/home/oracle/xtts/script
[oracle@ct6605 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -i
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Backup incremental
--------------------------------------------------------------------
Prepare newscn for Tablespaces: 'TBS01'
Prepare newscn for Tablespaces: 'TBS02'
Prepare newscn for Tablespaces: ''
rman target / cmdfile /home/oracle/xtts/script/rmanincr.cmd
Recovery Manager: Release 11.2.0.4.0 - Production on Fri Jan 15 12:50:58 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: CT66 (DBID=665652355)
RMAN> set nocfau;
2> host 'echo ts::TBS01';
3> backup incremental from scn 1407706
4> tag tts_incr_update tablespace 'TBS01' format
5> '/home/oracle/xtts/backup/%U';
6> set nocfau;
7> host 'echo ts::TBS02';
8> backup incremental from scn 1407981
9> tag tts_incr_update tablespace 'TBS02' format
10> '/home/oracle/xtts/backup/%U';
11>
executing command: SET NOCFAU
using target database control file instead of recovery catalog
ts::TBS01
host command complete
Starting backup at 15-JAN-16
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=38 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=/u02/oradata/ct66/tbs01.dbf
channel ORA_DISK_1: starting piece 1 at 15-JAN-16
channel ORA_DISK_1: finished piece 1 at 15-JAN-16
piece handle=/home/oracle/xtts/backup/2qqrecdj_1_1 tag=TTS_INCR_UPDATE comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 15-JAN-16
executing command: SET NOCFAU
ts::TBS02
host command complete
Starting backup at 15-JAN-16
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00007 name=/u02/oradata/ct66/tbs02.dbf
channel ORA_DISK_1: starting piece 1 at 15-JAN-16
channel ORA_DISK_1: finished piece 1 at 15-JAN-16
piece handle=/home/oracle/xtts/backup/2rqrecdl_1_1 tag=TTS_INCR_UPDATE comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 15-JAN-16
Recovery Manager complete.
--------------------------------------------------------------------
Done backing up incrementals
--------------------------------------------------------------------
14.##ct6604
##在目標端應用最後一次增量roll forward
#因為使用nfs,所以轉換之前源端產生的檔案就無需傳過來,直接執行就可以
[oracle@ct6604 ~]$ cd /home/oracle/xtts
[oracle@ct6604 xtts]$ ORACLE_SID=xtt
[oracle@ct6604 xtts]$ TMPDIR=/home/oracle/xtts/script
[oracle@ct6604 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -r
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Start rollforward
--------------------------------------------------------------------
--------------------------------------------------------------------
End of rollforward phase
--------------------------------------------------------------------
15.##ct6604
##在目標端產生執行匯入的指令碼
#因為之前沒有設定dstdir,srclink引數,所以此處產生的匯入指令碼需要手動加上dblink和directory的名稱
[oracle@ct6604 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -e
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Generating plugin
--------------------------------------------------------------------
--------------------------------------------------------------------
Done generating plugin file /home/oracle/xtts/script/xttplugin.txt
--------------------------------------------------------------------
16.##ct6604
##在目標端新建使用者,匯入傳輸表空間
[oracle@ct6604 ~]$ ORACLE_SID=ctdb
[oracle@ct6604 xtts]$ sqlplus / as sysdba
SQL> create user test01 identified by test01 ;
SQL> create user test02 identified by test02 ;
SQL> grant connect,resource to test01;
SQL> grant connect,resource to test02;
SQL> exit
[oracle@ct6604 ~]$ ORACLE_SID=ctdb
/home/oracle/xtts/script/xttplugin.txt
[oracle@ct6604 ~]$ impdp directory=dump_oradata logfile=tts_imp_tbs01_tbs02.log network_link=lnk_ct66 transport_full_check=no transport_tablespaces=TBS01,TBS02 transport_datafiles='/u02/oradata/ctdb/TBS01_6.xtf','/u02/oradata/ctdb/TBS02_7.xtf'
Import: Release 11.2.0.4.0 - Production on Fri Jan 15 13:12:58 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Username: system
Password:
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_oradata logfile=tts_imp_tbs01_tbs02.log network_link=lnk_ct66 transport_full_check=no transport_tablespaces=TBS01,TBS02 transport_datafiles=/u02/oradata/ctdb/TBS01_6.xtf,/u02/oradata/ctdb/TBS02_7.xtf
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Fri Jan 15 13:13:30 2016 elapsed 0 00:00:27
17.##ct6604
##在目標端驗證匯入的資料和許可權和源端是否一致
#此處發現源端給test02使用者的execute on dbms_crypto許可權沒有匯入,這是impdp原本的問題.所以在做xtts之前就要確定好這些許可權的問題,以減少停機時間.
[oracle@ct6604 xtts]$ sqlplus / as sysdba
SQL> alter user test01 default tablespace tbs01;
SQL> alter user test02 default tablespace tbs02;
SQL> select count(1) from test01.tb01;
/*
COUNT(1)
345732
*/
SQL> select * from dba_tab_privs where grantee='TEST02';
/*
GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTABLE HIERARCHY
TEST02 TEST01 TB01 TEST01 SELECT NO NO
*/
#select * from dba_tab_privs where owner ='SYS' and grantee='TEST02';
SQL> grant execute on dbms_crypto to test02;
SQL> exit
18.##ct6604
##xtts完成,在目標端關閉輔助例項,以及關閉nfs略.
[oracle@ct6604 xtts]$ ORACLE_SID=xtt
[oracle@ct6604 xtts]$ sqlplus / as sysdba
SQL> shutdown abort;
SQL> exit
測試中的一些小問題:
1.報Cant find xttplan.txt, TMPDIR undefined at xttdriver.pl line 1185.
要注意設定環境變數TMPDIR=/home/oracle/xtts/script
2.Unable to fetch platform name
執行xttdriver.pl之前沒有指定ORACLE_SID
3.Some failure occurred. Check /home/oracle/xtts/script/FAILED for more details
If you have fixed the issue, please delete /home/oracle/xtts/script/FAILED and run it
again OR run xttdriver.pl with -L option
執行xttdriver.pl報錯後,下次執行要刪除FAILED檔案.
4.Can't locate strict.pm in @INC
使用$ORACLE_HOME/perl/bin/perl而不是使用perl
備註:
測試完成,比較簡單吧.做好準備工作,透過在源端和目標端執行幾次$ORACLE_HOME/perl/bin/perl xttdriver.pl,再執行impdp就完成.此測試中使用nfs可以省去檔案的傳輸,使用整個操作方便清晰許多.
減少遷移停機時間的goldengate也是不錯.另外整庫遷移如果平臺不同或相同,但位元組順序相同,可先考慮dataguard,Data Guard Support for Heterogeneous Primary and Physical Standbys in Same Data Guard Configuration (文件 ID 413484.1).
官方參考文件:11G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (文件 ID 1389592.1),文件的最下方是用於執行rman-xttconvert的指令碼下載,目前指令碼版本是2.0.
整個操作過程自動化程度很高,透過準備prepare,轉換convert,增量備份incremental,應用增量roll forward,匯入到目標庫transport.
以下是測試:
os:源端:centos 6.6 目標端:centos 6.6
db:源端:11.2.0.4 檔案系統 目標端:11.2.0.4 檔案系統
host:源端:ct6604 192.108.56.121 目標端:ct6604 192.108.56.120
源端例項:ct66 目標端例項:ctdb 目標端輔助例項:xtt
1.##ct6604
##在目標端新建輔助例項,並啟動到nomount.
#此處是為了通用使用了輔助例項,其實目標端資料庫本來就是11.2.0.4,可以不需要輔助例項,直接在目標端面例項上就可以.如果目標端資料庫不是11.2.0.4,新裝了一個11.2.0.4的軟體用以啟動,記得要指定11.2.0.4的環境變數.
[oracle@ct6604 dbs]$ cat > $ORACLE_HOME/dbs/initxtt.ora <<EOF
db_name=xtt
compatible=11.2.0.4.0
EOF
[oracle@ct6604 dbs]$ ORACLE_SID=xtt
[oracle@ct6604 dbs]$ sqlplus / as sysdba
SQL> startup nomount;
SQL> exit
2.##ct6604
##在目標端例項上建連線源端的dblink和用於存放資料檔案的目錄directory.
#此步驟是為了最近透過impdp dblink的方式匯入資料檔案到目標端,如果準備採用本地匯入則不需要建dblink.
[oracle@ct6604 ~]$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin/
[oracle@ct6604 admin]$ vi tnsnames.ora
CT66 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.108.56.121)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ct66)
)
)
[oracle@ct6604 dbs]$ ORACLE_SID=ctdb
[oracle@ct6604 ~]$ sqlplus / as sysdba
SQL> create directory dump_oradata as '/u02/oradata/ctdb';
SQL> create public database link lnk_ct66 connect to system identified by system using 'ct66';
SQL> select * from dual@lnk_ct66;
/*
DUMMY
X
*/
SQL> exit
2.##ct6604
##在目標端配置nfs服務.
#整個xtts的過程源端產生的資料檔案,增量備份,執行指令碼都是要傳到目標端.透過測試發現,使用nfs的方式將傳輸直接在生成檔案的時候就完成了,方便操作,又減少錯誤.如果不使用nfs,手動去傳也是可以.
[oracle@ct6604 ~]$ mkdir /home/oracle/xtts
[oracle@ct6604 ~]$ su -
[root@ct6604 oracle]# service nfs status
[root@ct6604 ~]# cat /etc/exports
/home/oracle/xtts *(rw,sync,no_root_squash,insecure,anonuid=500,anongid=500)
[root@ct6604 oracle]# service nfs start
4.##ct6605
##在源端建立測試用的使用者,表空間,表,許可權.
#此處的許可權和表用於遷移之後的驗證
[oracle@ct6605 ~]$ ORACLE_SID=ct66
[oracle@ct6605 ~]$ sqlplus / as sysdba
SQL> create tablespace tbs01 datafile '/u02/oradata/ct66/tbs01.dbf' size 10m autoextend on next 2m maxsize 4g;
SQL> create tablespace tbs02 datafile '/u02/oradata/ct66/tbs02.dbf' size 10m autoextend on next 2m maxsize 4g;
SQL> create user test01 identified by test01 default tablespace tbs01;
SQL> create user test02 identified by test02 default tablespace tbs02;
SQL> grant connect,resource to test01;
SQL> grant connect,resource to test02;
SQL> grant execute on dbms_crypto to test02;
SQL> create table test01.tb01 as select * from dba_objects;
SQL> create table test02.tb01 as select * from dba_objects;
SQL> grant select on test01.tb01 to test02;
SQL> exit
5.##ct6605
##在源端連線目標端的nfs,mount到/home/oracle/xtts下.
[oracle@ct6605 ~]$ mkdir /home/oracle/xtts
[oracle@ct6605 ~]$ su -
[root@ct6605 ~]# showmount -e 192.108.56.120
Export list for 192.108.56.120:
/home/oracle/xtts *
[root@ct6605 ~]# mount -t nfs 192.108.56.120:/home/oracle/xtts /home/oracle/xtts
6.##ct6605
##在源端解壓rman-xttconvert指令碼,配置xtts的引數檔案.
#此處的操作都是在/home/oracle/xtts下,它也目標端nfs是的一個目錄,所以目標端就不需要再配置這些.
#配置檔案引數說明:tablespaces要傳輸的表空間
platformid源端平臺ID,透過V$DATABASE.PLATFORM_ID檢視
srcdir,dstdir,srclink是用於透過dbms_file_transfer傳輸的引數,本測試透過rman,不使用
dfcopydir源端生成資料檔案的目錄
backupformat源端生成增量備份的目錄
stageondest目標端存放源資料檔案和增量備份的目錄
storageondest目錄端存放目標資料檔案的目錄
backupondest目標端使用ASM時轉換增量備份的目錄,目標端使用資料檔案建議和stageondest設的一樣
parallel,rollparallel,getfileparallel並行度,此處用的預設
此測試沒使用的引數:cnvinst_home,cnvinst_sid目標端輔助例項的oracle_home,sid,如果目標端是單獨又裝的11.2.04的軟體,需要指定
asm_home,asm_sid目標端使用ASM時,用於指定asm例項的oracle_home,sid.
#將dfcopydir,backupformat設的一樣,然後對應到目標端stageondest的路徑,這樣使用nfs方式就不用去管檔案的位置
#/home/oracle/xtts/script是用於存放執行過程中生成的各種指令碼
[root@ct6605 xtts]# su - oracle
[oracle@ct6605 ~]# cd /home/oracle/xtts
[oracle@ct6605 xtts]$ mkdir backup script
[oracle@ct6605 xtts]$ cp /home/oracle/rman-xttconvert_2.0.zip /home/oracle/xtts/
[oracle@ct6605 xtts]$ unzip rman-xttconvert_2.0.zip
[oracle@ct6605 xtts]$ mv xtt.properties xtt.properties.bak
[oracle@ct6605 xtts]$ cat xtt.properties.bak|grep -v ^#|grep -v ^$ >xtt.properties
[oracle@ct6605 xtts]$ vi xtt.properties
[oracle@ct6605 xtts]$ cat xtt.properties
tablespaces=TBS01,TBS02
platformid=13
#srcdir=SOURCEDIR1,SOURCEDIR2
#dstdir=DESTDIR1,DESTDIR2
#srclink=TTSLINK
dfcopydir=/home/oracle/xtts/backup
backupformat=/home/oracle/xtts/backup
stageondest=/home/oracle/xtts/backup
storageondest=/u02/oradata/ctdb
backupondest=/home/oracle/xtts/backup
parallel=3
rollparallel=2
getfileparallel=4
7.##ct6605
##在源端執行準備prepare操作
#此處生成資料檔案和轉換指令碼
[oracle@ct6605 xtts]$ ORACLE_SID=ct66
[oracle@ct6605 xtts]$ TMPDIR=/home/oracle/xtts/script
[oracle@ct6605 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -p
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Starting prepare phase
--------------------------------------------------------------------
Prepare source for Tablespaces:
'TBS01' /home/oracle/xtts/backup
xttpreparesrc.sql for 'TBS01' started at Fri Jan 15 12:31:45 2016
xttpreparesrc.sql for ended at Fri Jan 15 12:31:45 2016
Prepare source for Tablespaces:
'TBS02' /home/oracle/xtts/backup
xttpreparesrc.sql for 'TBS02' started at Fri Jan 15 12:31:50 2016
xttpreparesrc.sql for ended at Fri Jan 15 12:31:50 2016
Prepare source for Tablespaces:
'' /home/oracle/xtts/backup
xttpreparesrc.sql for '' started at Fri Jan 15 12:31:53 2016
xttpreparesrc.sql for ended at Fri Jan 15 12:31:53 2016
--------------------------------------------------------------------
Done with prepare phase
--------------------------------------------------------------------
8.##ct6604
##在目標端執行行轉換convert操作
#因為使用nfs,所以轉換之前源端產生的檔案就無需傳過來,直接執行就可以
[root@ct6604 ~]# su - oracle
[oracle@ct6604 ~]$ cd /home/oracle/xtts
[oracle@ct6604 xtts]$ ORACLE_SID=xtt
[oracle@ct6604 xtts]$ TMPDIR=/home/oracle/xtts/script
[oracle@ct6604 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -c
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Performing convert
--------------------------------------------------------------------
--------------------------------------------------------------------
Converted datafiles listed in: /home/oracle/xtts/script/xttnewdatafiles.txt
--------------------------------------------------------------------
9.##ct6605
##在源端模擬生成新增資料
[oracle@ct6605 xtts]$ ORACLE_SID=ct66
[oracle@ct6605 xtts]$ sqlplus / as sysdba
SQL> insert into test01.tb01 select * from test01.tb01;
SQL> insert into test02.tb01 select * from test02.tb01;
SQL> commit;
SQL> exit
10.##ct6605
##在源端執行增量備份incremental
[oracle@ct6605 xtts]$ ORACLE_SID=ct66
[oracle@ct6605 xtts]$ TMPDIR=/home/oracle/xtts/script
[oracle@ct6605 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -i
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Backup incremental
--------------------------------------------------------------------
Prepare newscn for Tablespaces: 'TBS01'
Prepare newscn for Tablespaces: 'TBS02'
Prepare newscn for Tablespaces: ''
rman target / cmdfile /home/oracle/xtts/script/rmanincr.cmd
Recovery Manager: Release 11.2.0.4.0 - Production on Fri Jan 15 12:41:14 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: CT66 (DBID=665652355)
RMAN> set nocfau;
2> host 'echo ts::TBS01';
3> backup incremental from scn 1407706
4> tag tts_incr_update tablespace 'TBS01' format
5> '/home/oracle/xtts/backup/%U';
6> set nocfau;
7> host 'echo ts::TBS02';
8> backup incremental from scn 1407981
9> tag tts_incr_update tablespace 'TBS02' format
10> '/home/oracle/xtts/backup/%U';
11>
executing command: SET NOCFAU
using target database control file instead of recovery catalog
ts::TBS01
host command complete
Starting backup at 15-JAN-16
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=17 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=/u02/oradata/ct66/tbs01.dbf
channel ORA_DISK_1: starting piece 1 at 15-JAN-16
channel ORA_DISK_1: finished piece 1 at 15-JAN-16
piece handle=/home/oracle/xtts/backup/2oqrebra_1_1 tag=TTS_INCR_UPDATE comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 15-JAN-16
executing command: SET NOCFAU
ts::TBS02
host command complete
Starting backup at 15-JAN-16
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00007 name=/u02/oradata/ct66/tbs02.dbf
channel ORA_DISK_1: starting piece 1 at 15-JAN-16
channel ORA_DISK_1: finished piece 1 at 15-JAN-16
piece handle=/home/oracle/xtts/backup/2pqrebre_1_1 tag=TTS_INCR_UPDATE comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 15-JAN-16
Recovery Manager complete.
--------------------------------------------------------------------
Done backing up incrementals
--------------------------------------------------------------------
11.##ct6604
##在目標端應用增量roll forward
#因為使用nfs,所以轉換之前源端產生的檔案就無需傳過來,直接執行就可以
#應用增量roll forward是應用到轉換後的資料檔案上
[oracle@ct6604 xtts]$ ORACLE_SID=xtt
[oracle@ct6604 xtts]$ TMPDIR=/home/oracle/xtts/script
[oracle@ct6604 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -r
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Start rollforward
--------------------------------------------------------------------
--------------------------------------------------------------------
End of rollforward phase
--------------------------------------------------------------------
12.##ct6605
##在源端模擬生成新增資料,並將要傳輸的表空間設定只讀
#此時才算開始計算停機時間
[oracle@ct6605 xtts]$ ORACLE_SID=ct66
[oracle@ct6605 xtts]$ sqlplus / as sysdba
SQL> insert into test01.tb01 select * from test01.tb01;
SQL> insert into test02.tb01 select * from test02.tb01;
SQL> commit;
SQL> alter tablespace tbs01 read only;
SQL> alter tablespace tbs02 read only;
SQL> exit
13.##ct6605
##在源端執行最後一次增量備份incremental
[oracle@ct6605 xtts]$ ORACLE_SID=ct66
[oracle@ct6605 xtts]$ TMPDIR=/home/oracle/xtts/script
[oracle@ct6605 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -i
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Backup incremental
--------------------------------------------------------------------
Prepare newscn for Tablespaces: 'TBS01'
Prepare newscn for Tablespaces: 'TBS02'
Prepare newscn for Tablespaces: ''
rman target / cmdfile /home/oracle/xtts/script/rmanincr.cmd
Recovery Manager: Release 11.2.0.4.0 - Production on Fri Jan 15 12:50:58 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: CT66 (DBID=665652355)
RMAN> set nocfau;
2> host 'echo ts::TBS01';
3> backup incremental from scn 1407706
4> tag tts_incr_update tablespace 'TBS01' format
5> '/home/oracle/xtts/backup/%U';
6> set nocfau;
7> host 'echo ts::TBS02';
8> backup incremental from scn 1407981
9> tag tts_incr_update tablespace 'TBS02' format
10> '/home/oracle/xtts/backup/%U';
11>
executing command: SET NOCFAU
using target database control file instead of recovery catalog
ts::TBS01
host command complete
Starting backup at 15-JAN-16
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=38 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=/u02/oradata/ct66/tbs01.dbf
channel ORA_DISK_1: starting piece 1 at 15-JAN-16
channel ORA_DISK_1: finished piece 1 at 15-JAN-16
piece handle=/home/oracle/xtts/backup/2qqrecdj_1_1 tag=TTS_INCR_UPDATE comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 15-JAN-16
executing command: SET NOCFAU
ts::TBS02
host command complete
Starting backup at 15-JAN-16
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00007 name=/u02/oradata/ct66/tbs02.dbf
channel ORA_DISK_1: starting piece 1 at 15-JAN-16
channel ORA_DISK_1: finished piece 1 at 15-JAN-16
piece handle=/home/oracle/xtts/backup/2rqrecdl_1_1 tag=TTS_INCR_UPDATE comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 15-JAN-16
Recovery Manager complete.
--------------------------------------------------------------------
Done backing up incrementals
--------------------------------------------------------------------
14.##ct6604
##在目標端應用最後一次增量roll forward
#因為使用nfs,所以轉換之前源端產生的檔案就無需傳過來,直接執行就可以
[oracle@ct6604 ~]$ cd /home/oracle/xtts
[oracle@ct6604 xtts]$ ORACLE_SID=xtt
[oracle@ct6604 xtts]$ TMPDIR=/home/oracle/xtts/script
[oracle@ct6604 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -r
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Start rollforward
--------------------------------------------------------------------
--------------------------------------------------------------------
End of rollforward phase
--------------------------------------------------------------------
15.##ct6604
##在目標端產生執行匯入的指令碼
#因為之前沒有設定dstdir,srclink引數,所以此處產生的匯入指令碼需要手動加上dblink和directory的名稱
[oracle@ct6604 xtts]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -e
--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
--------------------------------------------------------------------
Generating plugin
--------------------------------------------------------------------
--------------------------------------------------------------------
Done generating plugin file /home/oracle/xtts/script/xttplugin.txt
--------------------------------------------------------------------
16.##ct6604
##在目標端新建使用者,匯入傳輸表空間
[oracle@ct6604 ~]$ ORACLE_SID=ctdb
[oracle@ct6604 xtts]$ sqlplus / as sysdba
SQL> create user test01 identified by test01 ;
SQL> create user test02 identified by test02 ;
SQL> grant connect,resource to test01;
SQL> grant connect,resource to test02;
SQL> exit
[oracle@ct6604 ~]$ ORACLE_SID=ctdb
/home/oracle/xtts/script/xttplugin.txt
[oracle@ct6604 ~]$ impdp directory=dump_oradata logfile=tts_imp_tbs01_tbs02.log network_link=lnk_ct66 transport_full_check=no transport_tablespaces=TBS01,TBS02 transport_datafiles='/u02/oradata/ctdb/TBS01_6.xtf','/u02/oradata/ctdb/TBS02_7.xtf'
Import: Release 11.2.0.4.0 - Production on Fri Jan 15 13:12:58 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Username: system
Password:
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_oradata logfile=tts_imp_tbs01_tbs02.log network_link=lnk_ct66 transport_full_check=no transport_tablespaces=TBS01,TBS02 transport_datafiles=/u02/oradata/ctdb/TBS01_6.xtf,/u02/oradata/ctdb/TBS02_7.xtf
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Fri Jan 15 13:13:30 2016 elapsed 0 00:00:27
17.##ct6604
##在目標端驗證匯入的資料和許可權和源端是否一致
#此處發現源端給test02使用者的execute on dbms_crypto許可權沒有匯入,這是impdp原本的問題.所以在做xtts之前就要確定好這些許可權的問題,以減少停機時間.
[oracle@ct6604 xtts]$ sqlplus / as sysdba
SQL> alter user test01 default tablespace tbs01;
SQL> alter user test02 default tablespace tbs02;
SQL> select count(1) from test01.tb01;
/*
COUNT(1)
345732
*/
SQL> select * from dba_tab_privs where grantee='TEST02';
/*
GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTABLE HIERARCHY
TEST02 TEST01 TB01 TEST01 SELECT NO NO
*/
#select * from dba_tab_privs where owner ='SYS' and grantee='TEST02';
SQL> grant execute on dbms_crypto to test02;
SQL> exit
18.##ct6604
##xtts完成,在目標端關閉輔助例項,以及關閉nfs略.
[oracle@ct6604 xtts]$ ORACLE_SID=xtt
[oracle@ct6604 xtts]$ sqlplus / as sysdba
SQL> shutdown abort;
SQL> exit
測試中的一些小問題:
1.報Cant find xttplan.txt, TMPDIR undefined at xttdriver.pl line 1185.
要注意設定環境變數TMPDIR=/home/oracle/xtts/script
2.Unable to fetch platform name
執行xttdriver.pl之前沒有指定ORACLE_SID
3.Some failure occurred. Check /home/oracle/xtts/script/FAILED for more details
If you have fixed the issue, please delete /home/oracle/xtts/script/FAILED and run it
again OR run xttdriver.pl with -L option
執行xttdriver.pl報錯後,下次執行要刪除FAILED檔案.
4.Can't locate strict.pm in @INC
使用$ORACLE_HOME/perl/bin/perl而不是使用perl
備註:
測試完成,比較簡單吧.做好準備工作,透過在源端和目標端執行幾次$ORACLE_HOME/perl/bin/perl xttdriver.pl,再執行impdp就完成.此測試中使用nfs可以省去檔案的傳輸,使用整個操作方便清晰許多.
減少遷移停機時間的goldengate也是不錯.另外整庫遷移如果平臺不同或相同,但位元組順序相同,可先考慮dataguard,Data Guard Support for Heterogeneous Primary and Physical Standbys in Same Data Guard Configuration (文件 ID 413484.1).
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28211342/viewspace-2128935/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle小知識點12--傳輸表空間通過rmanOracle
- oracle小知識點11--傳輸表空間通過impdp/expdpOracle
- Oracle表空間小知識Oracle
- oracle可傳輸表空間TTS小結OracleTTS
- Oracle 表空間傳輸Oracle
- oracle表空間傳輸Oracle
- Oracle傳輸表空間Oracle
- oracle小知識點10--表空間時間點恢復(TSPITR)Oracle
- 傳輸表空間操作-OracleOracle
- Oracle傳輸表空間(TTS)OracleTTS
- Oracle 傳輸表空間-RmanOracle
- Oracle傳輸表空間學習Oracle
- Oracle 傳輸表空間-EXPDP/IMPDPOracle
- Oracle 傳輸表空間-EXP/IMPOracle
- Oracle表空間傳輸詳解Oracle
- oracle 傳輸表空間一例Oracle
- Oracle可傳輸表空間測試Oracle
- MySQL 傳輸表空間MySql
- MySQL表空間傳輸MySql
- 【XTTS】Oracle傳輸表空間xtts增量方式TTSOracle
- oracle表空間傳輸的限制條件Oracle
- oracle小知識點13--rman convert轉換表空間位元組順序Oracle
- mysql之 表空間傳輸MySql
- 總結-表空間傳輸
- 聊聊Oracle可傳輸表空間(Transportable Tablespace)(上)Oracle
- 聊聊Oracle可傳輸表空間(Transportable Tablespace)(中)Oracle
- 聊聊Oracle可傳輸表空間(Transportable Tablespace)(下)Oracle
- Oracle TTS ORA-39322: 表空間傳輸OracleTTS
- 跨平臺表空間遷移(傳輸表空間)
- 使用Oracle可傳輸表空間的特性複製資料(7)實戰RMAN備份傳輸表空間Oracle
- 【傳輸表空間】使用 EXPDP/IMPDP工具的傳輸表空間完成資料遷移
- 基於可傳輸表空間的表空間遷移
- 關於oracle可傳輸表空間的總結Oracle
- oracle 10g 傳輸表空間的測試Oracle 10g
- Oracle 10g的可傳輸表空間操作Oracle 10g
- 傳輸表空間自包含理解
- 【傳輸表空間】使用 EXPDP/IMPDP工具的傳輸表空間完成資料遷移[轉]
- oracle跨版本與平臺執行傳輸表空間Oracle