RMAN複製資料庫(八)
使用RMAN DUPLICATE DATABASE From ASM to ASM
測試環境如下:
1.使用了恢復目錄資料庫jy
2.目標資料庫dupdb在主機jingyong1上,並且資料檔案是儲存在磁碟組+DG1中
3.將目標資料庫dupdb複製到遠端主機oracle11g上生成資料庫dupcp。
4.主機oracle11g上有ASM磁碟組+DISK1
5.將資料庫dupcp的資料檔案儲存在磁碟組+DISK1中
6.在磁碟組+DISK1中儲存兩份控制檔案
7.在主機jingyong1上建立的備份與歸檔重做日誌必須能被主機oracle11g訪問
執行步驟如下:
1.建立輔助例項的密碼檔案(這裡輔助例項名為dupcp)
[oracle@oracle11g dbs]$ orapwd file=/u01/app/oracle/10.2.0/db/dbs/orapwdupcp password=oracle entries=10 [oracle@oracle11g dbs]$ ls -lrt orapwdupcp -rw-r----- 1 oracle oinstall 2560 Mar 25 22:05 orapwdupcp
2.建立輔助例項網路連線,修改監聽檔案,使用靜態監聽來監聽輔助例項遠端主機oracle11g
[oracle@oracle11g admin]$ vi listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = dupcp) (ORACLE_HOME =/u01/app/oracle/10.2.0/db) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.2)(PORT = 1521)) ) )
給輔助例項增加網路服務名
[oracle@oracle11g admin]$ vi tnsnames.ora dupcp = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.56.2)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME =dupcp) (UR=A) ) )
在目標主機上給輔助例項增加網路服務名
[oracle@jingyong1 admin]$ vi tnsnames.ora dupcp = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.56.11)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME =dupcp) (UR=A) ) )
測試網路連線
遠端主機oracle11g
[oracle@oracle11g admin]$ export ORACLE_SID=dupcp [oracle@oracle11g admin]$ sqlplus /nolog SQL*Plus: Release 10.2.0.5.0 - Production on Wed Mar 25 22:14:49 2015 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. SQL> conn sys/oracle@dupcp as sysdba Connected to an idle instance.
目標主機jingyong1
[oracle@jingyong1 admin]$ sqlplus /nolog SQL*Plus: Release 10.2.0.5.0 - Production on Wed Mar 25 22:16:10 2015 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. SQL> conn sys/oracle@dupcp as sysdba Connected to an idle instance.
3.建立輔助例項的引數檔案
[oracle@oracle11g dbs]$ vi initdupcp.ora db_name=dupcp db_unique_name=dupcp control_files=('+DISK1/control01.ctl','+DISK1/control02.ctl') db_file_name_convert=('+DG1/','+DISK1/') log_file_name_convert=('+DG1/','+DISK1/') remote_login_passwordfile=exclusive compatible = 10.2.0.5.0 db_block_size=8192 sga_target=160M sga_max_size=160M pga_aggregate_target=16M [oracle@oracle11g dbs]$ export ORACLE_SID=dupcp [oracle@oracle11g dbs]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.5.0 - Production on Wed Mar 25 22:21:16 2015 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. Connected to an idle instance. SQL> create spfile from pfile='/u01/app/oracle/10.2.0/db/dbs/initdupcp.ora'; File created.
4.啟動輔助例項
[oracle@oracle11g dbs]$ export ORACLE_SID=dupcp [oracle@oracle11g dbs]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.5.0 - Production on Wed Mar 25 22:22:12 2015 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. Connected to an idle instance. SQL> startup nomount ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 1272624 bytes Variable Size 58721488 bytes Database Buffers 104857600 bytes Redo Buffers 2920448 bytes SQL> set long 300 SQL> set linesize 300 SQL> show parameter spfile NAME TYPE VALUE ------------------------------------ ---------------------- ------------------------------ spfile string /u01/app/oracle/10.2.0/db/dbs/ spfiledupcp.ora
斷開連線
SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options
這裡一定要斷開啟動輔助例項的會話否則在執行復制操作時會出現如下錯誤 :
executing Memory Script RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of Duplicate Db command at 03/24/2015 18:28:32 RMAN-03015: error occurred in stored script Memory Script RMAN-06136: ORACLE error from auxiliary database: ORA-01013: user requested cancel of current operation
5.載入或開啟目標資料庫
[oracle@jingyong1 u02]$ export ORACLE_SID=dupdb [oracle@jingyong1 u02]$ sqlplus /nolog SQL*Plus: Release 10.2.0.5.0 - Production on Tue Mar 24 21:13:44 2015 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. SQL> conn / as sysdba Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 1272600 bytes Variable Size 92275944 bytes Database Buffers 71303168 bytes Redo Buffers 2920448 bytes Database mounted. Database opened.
6.確保有需要的備份和歸檔重做日誌,對目標資料庫(被複制的資料庫)進行備份(包含資料檔案和歸檔重做日誌)
[oracle@jingyong1 dbs]$ rman target sys/oracle@dupdb catalog rman/rman@jy Recovery Manager: Release 10.2.0.5.0 - Production on Wed Mar 25 21:47:53 2015 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: DUPDB (DBID=600524259) connected to recovery catalog database RMAN> backup as backupset database plus archivelog; Starting backup at 25-MAR-15 current log archived using channel ORA_DISK_1 channel ORA_DISK_1: starting archive log backupset channel ORA_DISK_1: specifying archive log(s) in backup set input archive log thread=1 sequence=1 recid=1 stamp=875310741 input archive log thread=1 sequence=2 recid=2 stamp=875310860 input archive log thread=1 sequence=3 recid=3 stamp=875310962 input archive log thread=1 sequence=4 recid=4 stamp=875311041 input archive log thread=1 sequence=5 recid=5 stamp=875311330 input archive log thread=1 sequence=6 recid=6 stamp=875311560 input archive log thread=1 sequence=7 recid=7 stamp=875312933 channel ORA_DISK_1: starting piece 1 at 25-MAR-15 channel ORA_DISK_1: finished piece 1 at 25-MAR-15 piece handle=/u02/ora_dupdb875312935_131 tag=TAG20150325T222854 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:05 Finished backup at 25-MAR-15 Starting backup at 25-MAR-15 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00001 name=+DG1/system01.dbf input datafile fno=00003 name=+DG1/sysaux01.dbf input datafile fno=00005 name=+DG1/example01.dbf input datafile fno=00006 name=+DG1/tspitr01.dbf input datafile fno=00002 name=+DG1/undotbs01.dbf input datafile fno=00004 name=+DG1/users01.dbf channel ORA_DISK_1: starting piece 1 at 25-MAR-15 channel ORA_DISK_1: finished piece 1 at 25-MAR-15 piece handle=/u02/ora_dupdb875312941_141 tag=TAG20150325T222900 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:01:39 Finished backup at 25-MAR-15 Starting backup at 25-MAR-15 current log archived using channel ORA_DISK_1 channel ORA_DISK_1: starting archive log backupset channel ORA_DISK_1: specifying archive log(s) in backup set input archive log thread=1 sequence=8 recid=8 stamp=875313048 channel ORA_DISK_1: starting piece 1 at 25-MAR-15 channel ORA_DISK_1: finished piece 1 at 25-MAR-15 piece handle=/u02/ora_dupdb875313054_151 tag=TAG20150325T223053 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 Finished backup at 25-MAR-15 Starting Control File and SPFILE Autobackup at 25-MAR-15 piece handle=/u02/dupdb_c-600524259-20150325-02 comment=NONE Finished Control File and SPFILE Autobackup at 25-MAR-15 RMAN> list backup; List of Backup Sets =================== BS Key Size Device Type Elapsed Time Completion Time ------- ---------- ----------- ------------ --------------- 5648 18.11M DISK 00:00:04 25-MAR-15 BP Key: 5649 Status: AVAILABLE Compressed: NO Tag: TAG20150325T222854 Piece Name: /u02/ora_dupdb875312935_131 List of Archived Logs in backup set 5648 Thrd Seq Low SCN Low Time Next SCN Next Time ---- ------- ---------- --------- ---------- --------- 1 1 1093435 25-MAR-15 1094797 25-MAR-15 1 2 1094797 25-MAR-15 1094860 25-MAR-15 1 3 1094860 25-MAR-15 1094957 25-MAR-15 1 4 1094957 25-MAR-15 1095004 25-MAR-15 1 5 1095004 25-MAR-15 1095738 25-MAR-15 1 6 1095738 25-MAR-15 1098358 25-MAR-15 1 7 1098358 25-MAR-15 1103796 25-MAR-15 BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 5683 Full 633.66M DISK 00:01:31 25-MAR-15 BP Key: 5691 Status: AVAILABLE Compressed: NO Tag: TAG20150325T222900 Piece Name: /u02/ora_dupdb875312941_141 List of Datafiles in backup set 5683 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 1103818 25-MAR-15 +DG1/system01.dbf 2 Full 1103818 25-MAR-15 +DG1/undotbs01.dbf 3 Full 1103818 25-MAR-15 +DG1/sysaux01.dbf 4 Full 1103818 25-MAR-15 +DG1/users01.dbf 5 Full 1103818 25-MAR-15 +DG1/example01.dbf 6 Full 1103818 25-MAR-15 +DG1/tspitr01.dbf BS Key Size Device Type Elapsed Time Completion Time ------- ---------- ----------- ------------ --------------- 5723 2.50K DISK 00:00:01 25-MAR-15 BP Key: 5730 Status: AVAILABLE Compressed: NO Tag: TAG20150325T223053 Piece Name: /u02/ora_dupdb875313054_151 List of Archived Logs in backup set 5723 Thrd Seq Low SCN Low Time Next SCN Next Time ---- ------- ---------- --------- ---------- --------- 1 8 1103796 25-MAR-15 1103855 25-MAR-15 BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 5757 Full 7.11M DISK 00:00:05 25-MAR-15 BP Key: 5759 Status: AVAILABLE Compressed: NO Tag: TAG20150325T223057 Piece Name: /u02/dupdb_c-600524259-20150325-02 Control File Included: Ckp SCN: 1103879 Ckp time: 25-MAR-15 SPFILE Included: Modification time: 25-MAR-15
將上面的備份傳輸到遠端主機的相同目錄中:
[oracle@oracle11g u02]$ scp -r oracle@192.168.56.11:/u02/ora_dupdb875312935_131 /u02 The authenticity of host '192.168.56.11 (192.168.56.11)' can't be established. RSA key fingerprint is 8b:38:ef:bf:d4:1e:9e:2a:cb:31:67:6c:3b:83:3f:62. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.56.11' (RSA) to the list of known hosts. oracle@192.168.56.11's password: ora_dupdb875312935_131 100% 18MB 3.6MB/s 00:05 [oracle@oracle11g u02]$ scp -r oracle@192.168.56.11:/u02/ora_dupdb875312941_141 /u02 oracle@192.168.56.11's password: ora_dupdb875312941_141 100% 634MB 6.7MB/s 01:35 [oracle@oracle11g u02]$ scp -r oracle@192.168.56.11:/u02/ora_dupdb875313054_151 /u02 oracle@192.168.56.11's password: ora_dupdb875313054_151 100% 3072 3.0KB/s 00:00 [oracle@oracle11g u02]$ scp -r oracle@192.168.56.11:/u02/dupdb_c-600524259-20150325-02 /u02 oracle@192.168.56.11's password: dupdb_c-600524259-20150325-02 100% 7296KB 7.1MB/s 00:01 [oracle@oracle11g u02]$
檢查磁碟組+DISK1的空間使用情況,要有足夠的空間儲存複製資料庫的所有檔案
ASMCMD> lsdg State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name MOUNTED EXTERN N N 512 4096 1048576 4096 4046 0 4046 0 DISK1/
7.執行duplicate命令,如果沒有配置自動通道,那麼至少手動分配一個輔助例項如果是使用PFILE引數檔案啟動輔助例項需要指定pfile引數檔案,且pfile引數檔案必須儲存在執行RMAN執行復制的主機上。這裡輔助例項使用SPFILE引數檔案來啟動,並使用自動通道:
[oracle@jingyong1 dbs]$ export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss' [oracle@jingyong1 dbs]$ rman target sys/oracle@dupdb catalog rman/rman@jy auxiliary sys/oracle@dupcp Recovery Manager: Release 10.2.0.5.0 - Production on Wed Mar 25 22:47:55 2015 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: DUPDB (DBID=600524259) connected to recovery catalog database connected to auxiliary database: DUPCP (not mounted) RMAN> duplicate target database to dupcp; Starting Duplicate Db at 2015-03-25 22:48:15 allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: sid=36 devtype=DISK contents of Memory Script: { set until scn 1103855; set newname for datafile 1 to "+DISK1/system01.dbf"; set newname for datafile 2 to "+DISK1/undotbs01.dbf"; set newname for datafile 3 to "+DISK1/sysaux01.dbf"; set newname for datafile 4 to "+DISK1/users01.dbf"; set newname for datafile 5 to "+DISK1/example01.dbf"; set newname for datafile 6 to "+DISK1/tspitr01.dbf"; restore check readonly clone database ; } executing Memory Script executing command: SET until clause executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME Starting restore at 2015-03-25 22:48:18 using channel ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: starting datafile backupset restore channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set restoring datafile 00001 to +DISK1/system01.dbf restoring datafile 00002 to +DISK1/undotbs01.dbf restoring datafile 00003 to +DISK1/sysaux01.dbf restoring datafile 00004 to +DISK1/users01.dbf restoring datafile 00005 to +DISK1/example01.dbf restoring datafile 00006 to +DISK1/tspitr01.dbf channel ORA_AUX_DISK_1: reading from backup piece /u02/ora_dupdb875312941_141 channel ORA_AUX_DISK_1: restored backup piece 1 piece handle=/u02/ora_dupdb875312941_141 tag=TAG20150325T222900 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:06 Finished restore at 2015-03-25 22:49:31 sql statement: CREATE CONTROLFILE REUSE SET DATABASE "DUPCP" RESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 ( '+DISK1/redo01.log' ) SIZE 50 M REUSE, GROUP 2 ( '+DISK1/redo02.log' ) SIZE 50 M REUSE, GROUP 3 ( '+DISK1/redo03.log' ) SIZE 50 M REUSE DATAFILE '+DISK1/system01.dbf' CHARACTER SET ZHS16GBK contents of Memory Script: { switch clone datafile all; } executing Memory Script datafile 2 switched to datafile copy input datafile copy recid=1 stamp=875314184 filename=+DISK1/undotbs01.dbf datafile 3 switched to datafile copy input datafile copy recid=2 stamp=875314184 filename=+DISK1/sysaux01.dbf datafile 4 switched to datafile copy input datafile copy recid=3 stamp=875314184 filename=+DISK1/users01.dbf datafile 5 switched to datafile copy input datafile copy recid=4 stamp=875314184 filename=+DISK1/example01.dbf datafile 6 switched to datafile copy input datafile copy recid=5 stamp=875314184 filename=+DISK1/tspitr01.dbf contents of Memory Script: { set until scn 1103855; recover clone database delete archivelog ; } executing Memory Script executing command: SET until clause Starting recover at 2015-03-25 22:49:37 using channel ORA_AUX_DISK_1 starting media recovery channel ORA_AUX_DISK_1: starting archive log restore to default destination channel ORA_AUX_DISK_1: restoring archive log archive log thread=1 sequence=8 channel ORA_AUX_DISK_1: reading from backup piece /u02/ora_dupdb875313054_151 channel ORA_AUX_DISK_1: restored backup piece 1 piece handle=/u02/ora_dupdb875313054_151 tag=TAG20150325T223053 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 archive log filename=/u01/app/oracle/10.2.0/db/dbs/arch1_8_875310182.dbf thread=1 sequence=8 channel clone_default: deleting archive log(s) archive log filename=/u01/app/oracle/10.2.0/db/dbs/arch1_8_875310182.dbf recid=1 stamp=875314186 media recovery complete, elapsed time: 00:00:02 Finished recover at 2015-03-25 22:49:43 contents of Memory Script: { shutdown clone; startup clone nomount ; } executing Memory Script database dismounted Oracle instance shut down connected to auxiliary database (not started) Oracle instance started Total System Global Area 167772160 bytes Fixed Size 1272624 bytes Variable Size 58721488 bytes Database Buffers 104857600 bytes Redo Buffers 2920448 bytes sql statement: CREATE CONTROLFILE REUSE SET DATABASE "DUPCP" RESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 ( '+DISK1/redo01.log' ) SIZE 50 M REUSE, GROUP 2 ( '+DISK1/redo02.log' ) SIZE 50 M REUSE, GROUP 3 ( '+DISK1/redo03.log' ) SIZE 50 M REUSE DATAFILE '+DISK1/system01.dbf' CHARACTER SET ZHS16GBK contents of Memory Script: { set newname for tempfile 1 to "+DISK1/temp01.dbf"; switch clone tempfile all; catalog clone datafilecopy "+DISK1/undotbs01.dbf"; catalog clone datafilecopy "+DISK1/sysaux01.dbf"; catalog clone datafilecopy "+DISK1/users01.dbf"; catalog clone datafilecopy "+DISK1/example01.dbf"; catalog clone datafilecopy "+DISK1/tspitr01.dbf"; switch clone datafile all; } executing Memory Script executing command: SET NEWNAME renamed temporary file 1 to +DISK1/temp01.dbf in control file cataloged datafile copy datafile copy filename=+DISK1/undotbs01.dbf recid=1 stamp=875314211 cataloged datafile copy datafile copy filename=+DISK1/sysaux01.dbf recid=2 stamp=875314211 cataloged datafile copy datafile copy filename=+DISK1/users01.dbf recid=3 stamp=875314211 cataloged datafile copy datafile copy filename=+DISK1/example01.dbf recid=4 stamp=875314212 cataloged datafile copy datafile copy filename=+DISK1/tspitr01.dbf recid=5 stamp=875314212 datafile 2 switched to datafile copy input datafile copy recid=1 stamp=875314211 filename=+DISK1/undotbs01.dbf datafile 3 switched to datafile copy input datafile copy recid=2 stamp=875314211 filename=+DISK1/sysaux01.dbf datafile 4 switched to datafile copy input datafile copy recid=3 stamp=875314211 filename=+DISK1/users01.dbf datafile 5 switched to datafile copy input datafile copy recid=4 stamp=875314212 filename=+DISK1/example01.dbf datafile 6 switched to datafile copy input datafile copy recid=5 stamp=875314212 filename=+DISK1/tspitr01.dbf contents of Memory Script: { Alter clone database open resetlogs; } executing Memory Script database opened Finished Duplicate Db at 2015-03-25 22:50:24
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-1475231/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RMAN複製資料庫(十)資料庫
- RMAN複製資料庫(九)資料庫
- RMAN複製資料庫(七)資料庫
- RMAN複製資料庫(六)資料庫
- RMAN複製資料庫(五)資料庫
- RMAN複製資料庫(四)資料庫
- RMAN複製資料庫(三)資料庫
- RMAN複製資料庫(二)資料庫
- RMAN複製資料庫(一)資料庫
- 使用RMAN複製資料庫資料庫
- oracle rman複製資料庫Oracle資料庫
- RMAN 同機複製資料庫資料庫
- RMAN的活動資料庫複製資料庫
- RMAN 異機複製資料庫資料庫
- rman管理的複製資料庫資料庫
- 【RMAN】使用RMAN duplicate複製同機資料庫資料庫
- 使用RMAN複製資料庫 active database資料庫Database
- 【RMAN】使用duplicate本地複製資料庫資料庫
- duplicate rman複製資料庫技術資料庫
- 克隆資料庫之RMAN複製(二)資料庫
- 使用RMAN進行資料庫複製資料庫
- 克隆資料庫之RMAN複製(一)資料庫
- RMAN duplicate from active database 複製資料庫Database資料庫
- Rman duplicate資料庫複製(單系統)資料庫
- 使用rman的命令duplicate複製資料庫資料庫
- RMAN高階應用之Duplicate複製資料庫(3)複製流程資料庫
- rman複製資料庫詳細的步驟資料庫
- 【RMAN】使用RMAN duplicate複製同機資料庫遇到的問題資料庫
- 使用RMAN高階應用之Duplicate複製資料庫資料庫
- Oracle 11gR2 使用RMAN Duplicate複製資料庫Oracle資料庫
- RMAN 複製目標資料庫的理論知識資料庫
- 使用RMAN複製活動資料庫(檔案路徑相同)資料庫
- 使用RMAN複製活動資料庫(檔案路徑不同)資料庫
- Oracle11gR2使用RMAN duplicate複製資料庫Oracle資料庫
- RMAN實戰系列之一:用duplicate複製資料庫資料庫
- RMAN高階應用之Duplicate複製資料庫(1)概述資料庫
- rman複製 資料庫 ORA-01405 錯誤資料庫
- 資料庫複製資料庫