通過rman duplicate database!

warehouse發表於2007-01-05

注意:沒有catalog也可以duplicate

要確保一個database full backup!
9i 下大致過程!

C:>rman catalog rman/rman@dmt target sys/system@lmt

恢復管理器: 版本9.2.0.1.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.

連線到目標資料庫: LMT (DBID=2004730922)
連線到恢復目錄資料庫

RMAN> run {
2> set newname for datafile 1 to 'c:oracleoradatadupsystem01.dbf';
3> set newname for datafile 2 to 'c:oracleoradatadupundotbs01.dbf';
4> duplicate target database to dup
5> pfile='c:oracleadminduppfileinit.ora'
6> logfile
7> 'c:oracleoradatadupredo01.log' size 1m,
8> 'c:oracleoradatadupredo02.log' size 1m,
9> 'c:oracleoradatadupredo03.log' size 1m;
10> }

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

啟動 Duplicate Db 於 03-6月 -06
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 06/03/2006 20:39:38
RMAN-06174: not connected to auxiliary database

RMAN> connect auxiliary sys/system@dup

已連線到備用資料庫: DUP (未安裝)

RMAN> run {
2> set newname for datafile 1 to 'c:oracleoradatadupsystem01.dbf';
3> set newname for datafile 2 to 'c:oracleoradatadupundotbs01.dbf';
4> duplicate target database to dup
5> pfile='c:oracleadminduppfileinit.ora'
6> logfile
7> 'c:oracleoradatadupredo01.log' size 1m,
8> 'c:oracleoradatadupredo02.log' size 1m,
9> 'c:oracleoradatadupredo03.log' size 1m;
10> }

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

啟動 Duplicate Db 於 03-6月 -06
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=10 devtype=DISK

正在列印儲存的指令碼: Memory Script
{
set until scn 51885;
set newname for datafile 1 to
"C:ORACLEORADATADUPSYSTEM01.DBF";
set newname for datafile 2 to
"C:ORACLEORADATADUPUNDOTBS01.DBF";
restore
check readonly
clone database
;
}
正在執行指令碼: Memory Script

正在執行命令: SET until clause

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

啟動 restore 於 03-6月 -06

使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_AUX_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00001恢復到C:ORACLEORADATADUPSYSTEM01.DBF
正將資料檔案00002恢復到C:ORACLEORADATADUPUNDOTBS01.DBF
通道 ORA_AUX_DISK_1: 已恢復備份段 1
段 handle=C:ORACLEORA92DATABASE8HKNE2A_1_1 tag=TAG20060603T181538 params=NU
LL
通道 ORA_AUX_DISK_1: 恢復完成
完成 restore 於 03-6月 -06
sql 語句: CREATE CONTROLFILE REUSE SET DATABASE "dup" RESETLOGS ARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 453
LOGFILE
GROUP 1 'c:oracleoradatadupredo01.log' SIZE 1048576 ,
GROUP 2 'c:oracleoradatadupredo02.log' SIZE 1048576 ,
GROUP 3 'c:oracleoradatadupredo03.log' SIZE 1048576
DATAFILE
'C:ORACLEORADATADUPSYSTEM01.DBF'
CHARACTER SET ZHS16GBK


正在列印儲存的指令碼: Memory Script
{
switch clone datafile all;
}
正在執行指令碼: Memory Script

資料檔案 2 已轉換成資料檔案副本
輸入資料檔案副本 recid=1 stamp=592173637 檔名=C:ORACLEORADATADUPUNDOTBS01.
DBF

正在列印儲存的指令碼: Memory Script
{
set until scn 51885;
recover
clone database
delete archivelog
;
}
正在執行指令碼: Memory Script

正在執行命令: SET until clause

啟動 recover 於 03-6月 -06
使用通道 ORA_AUX_DISK_1

正在開始介質的恢復

存檔日誌執行緒 1 序列 2 已作為檔案 C:ORACLEORA92RDBMSARC00002.001 存在於磁碟上

存檔日誌檔名 =C:ORACLEORA92RDBMSARC00002.001 執行緒 =1 序列 =2
完成介質的恢復
完成 recover 於 03-6月 -06

正在列印儲存的指令碼: Memory Script
{
shutdown clone;
startup clone nomount pfile= 'c:oracleadminduppfileinit.ora';
}
正在執行指令碼: Memory Script

資料庫已解除安裝
Oracle 例程已關閉

已連線到備用資料庫 (未啟動)
Oracle 例程已啟動

系統全域性區域總計 101784276 位元組

Fixed Size 453332 位元組
Variable Size 75497472 位元組
Database Buffers 25165824 位元組
Redo Buffers 667648 位元組
sql 語句: CREATE CONTROLFILE REUSE SET DATABASE "dup" RESETLOGS ARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 453
LOGFILE
GROUP 1 'c:oracleoradatadupredo01.log' SIZE 1048576 ,
GROUP 2 'c:oracleoradatadupredo02.log' SIZE 1048576 ,
GROUP 3 'c:oracleoradatadupredo03.log' SIZE 1048576
DATAFILE
'C:ORACLEORADATADUPSYSTEM01.DBF'
CHARACTER SET ZHS16GBK


正在列印儲存的指令碼: Memory Script
{
catalog clone datafilecopy "C:ORACLEORADATADUPUNDOTBS01.DBF";
switch clone datafile all;
}
正在執行指令碼: Memory Script

已將資料檔案副本列入目錄
資料檔案副本 filename=C:ORACLEORADATADUPUNDOTBS01.DBF recid=1 stamp=59217380
1

資料檔案 2 已轉換成資料檔案副本
輸入資料檔案副本 recid=1 stamp=592173801 檔名=C:ORACLEORADATADUPUNDOTBS01.
DBF

正在列印儲存的指令碼: Memory Script
{
Alter clone database open resetlogs;
}
正在執行指令碼: Memory Script

資料庫已開啟
完成 Duplicate Db 於 03-6月 -06

RMAN>

--==============================================

10g下大致過程:

duplicate database時沒有catalog也行!
C:>rman target sys/system@orcl catalog rman/rman@test auxiliary sys/system@dup

恢復管理器: Release 10.2.0.1.0 - Production on 星期一 12月 25 14:09:14 2006

Copyright (c) 1982, 2005, Oracle. All rights reserved.

連線到目標資料庫: ORCL (DBID=1136768294)
連線到恢復目錄資料庫
已連線到輔助資料庫: DUP (未裝載)

RMAN> run{
2> set newname for datafile 1 to 'E:ORACLEPRODUCT10.2.0ORADATAdupSYSTEM01.
DBF';
3> set newname for datafile 2 to 'E:ORACLEPRODUCT10.2.0ORADATAdupUNDOTBS01
.DBF';
4> set newname for datafile 3 to 'E:ORACLEPRODUCT10.2.0ORADATAdupSYSAUX01.
DBF';
5> set newname for datafile 4 to 'E:ORACLEPRODUCT10.2.0ORADATAdupUSERS01.D
BF';
6> set newname for datafile 5 to 'E:ORACLEPRODUCT10.2.0ORADATAdupTEST.DBF'
;
7> set newname for datafile 8 to 'E:ORACLEPRODUCT10.2.0ORADATAdupTEST3.DBF
';
8> duplicate target database to dup skip tablespace test1
9> logfile
10> 'E:ORACLEPRODUCT10.2.0ORADATAdupredo01.log' size 10m,
11> 'E:ORACLEPRODUCT10.2.0ORADATAdupredo02.log' size 10m,
12> 'E:ORACLEPRODUCT10.2.0ORADATAdupredo03.log' size 10m;
13> }

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

啟動 Duplicate Db 於 25-12月-06
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=24 devtype=DISK
根據請求跳過資料檔案 6
根據請求跳過資料檔案 7

記憶體指令碼的內容:
{
set until scn 742507;
set newname for datafile 1 to
"E:ORACLEPRODUCT10.2.0ORADATADUPSYSTEM01.DBF";
set newname for datafile 2 to
"E:ORACLEPRODUCT10.2.0ORADATADUPUNDOTBS01.DBF";
set newname for datafile 3 to
"E:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DBF";
set newname for datafile 4 to
"E:ORACLEPRODUCT10.2.0ORADATADUPUSERS01.DBF";
set newname for datafile 5 to
"E:ORACLEPRODUCT10.2.0ORADATADUPTEST.DBF";
set newname for datafile 8 to
"E:ORACLEPRODUCT10.2.0ORADATADUPTEST3.DBF";
restore
check readonly
clone database
skip tablespace TEST1 ;
}
正在執行記憶體指令碼

正在執行命令: SET until clause

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

啟動 restore 於 25-12月-06
使用通道 ORA_AUX_DISK_1

通道 ORA_AUX_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_AUX_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00001恢復到E:ORACLEPRODUCT10.2.0ORADATADUPSYSTEM01.DBF
正將資料檔案00002恢復到E:ORACLEPRODUCT10.2.0ORADATADUPUNDOTBS01.DBF
正將資料檔案00003恢復到E:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DBF
正將資料檔案00004恢復到E:ORACLEPRODUCT10.2.0ORADATADUPUSERS01.DBF
正將資料檔案00005恢復到E:ORACLEPRODUCT10.2.0ORADATADUPTEST.DBF
正將資料檔案00008恢復到E:ORACLEPRODUCT10.2.0ORADATADUPTEST3.DBF
通道 ORA_AUX_DISK_1: 正在讀取備份段 E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREA
ORCLBACKUPSET2006_12_23O1_MF_NNNDF_TAG20061223T164719_2RSV8VM1_.BKP
通道 ORA_AUX_DISK_1: 已恢復備份段 1
段控制程式碼 = E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLBACKUPSET2006_12_23
O1_MF_NNNDF_TAG20061223T164719_2RSV8VM1_.BKP 標記 = TAG20061223T164719
通道 ORA_AUX_DISK_1: 恢復完成, 用時: 00:00:55
完成 restore 於 25-12月-06
sql 語句: CREATE CONTROLFILE REUSE SET DATABASE "DUP" RESETLOGS ARCHIVELOG
MAXLOGFILES 4220
MAXLOGMEMBERS 5
MAXDATAFILES 65534
MAXINSTANCES 1055
MAXLOGHISTORY 10225
LOGFILE
GROUP 1 'E:ORACLEPRODUCT10.2.0ORADATAdupredo01.log' SIZE 10 M ,
GROUP 2 'E:ORACLEPRODUCT10.2.0ORADATAdupredo02.log' SIZE 10 M ,
GROUP 3 'E:ORACLEPRODUCT10.2.0ORADATAdupredo03.log' SIZE 10 M
DATAFILE
'E:ORACLEPRODUCT10.2.0ORADATADUPSYSTEM01.DBF'
CHARACTER SET ZHS16GBK


記憶體指令碼的內容:
{
switch clone datafile all;
}
正在執行記憶體指令碼

釋放的通道: ORA_AUX_DISK_1
資料檔案 2 已轉換成資料檔案副本
輸入資料檔案副本 recid=1 stamp=610121450 檔名=E:ORACLEPRODUCT10.2.0ORADATA
DUPUNDOTBS01.DBF
資料檔案 3 已轉換成資料檔案副本
輸入資料檔案副本 recid=2 stamp=610121450 檔名=E:ORACLEPRODUCT10.2.0ORADATA
DUPSYSAUX01.DBF
資料檔案 4 已轉換成資料檔案副本
輸入資料檔案副本 recid=3 stamp=610121450 檔名=E:ORACLEPRODUCT10.2.0ORADATA
DUPUSERS01.DBF
資料檔案 5 已轉換成資料檔案副本
輸入資料檔案副本 recid=4 stamp=610121450 檔名=E:ORACLEPRODUCT10.2.0ORADATA
DUPTEST.DBF
資料檔案 8 已轉換成資料檔案副本
輸入資料檔案副本 recid=5 stamp=610121450 檔名=E:ORACLEPRODUCT10.2.0ORADATA
DUPTEST3.DBF

記憶體指令碼的內容:
{
set until scn 742507;
recover
clone database
delete archivelog
;
}
正在執行記憶體指令碼

正在執行命令: SET until clause

啟動 recover 於 25-12月-06
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=23 devtype=DISK
資料檔案6未被處理, 因為檔案已離線
資料檔案7未被處理, 因為檔案已離線

正在開始介質的恢復

存檔日誌執行緒 1 序列 5 已作為檔案 E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAOR
CLARCHIVELOG2006_12_24O1_MF_1_5_2RVZ8K8S_.ARC 存在於磁碟上
存檔日誌執行緒 1 序列 6 已作為檔案 E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAOR
CLARCHIVELOG2006_12_25O1_MF_1_6_2RYQRF0Z_.ARC 存在於磁碟上
存檔日誌檔名 =E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG200
6_12_24O1_MF_1_5_2RVZ8K8S_.ARC 執行緒 =1 序列 =5
存檔日誌檔名 =E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG200
6_12_25O1_MF_1_6_2RYQRF0Z_.ARC 執行緒 =1 序列 =6
介質恢復完成, 用時: 00:00:10
完成 recover 於 25-12月-06

記憶體指令碼的內容:
{
shutdown clone;
startup clone nomount ;
}
正在執行記憶體指令碼

資料庫已解除安裝
Oracle 例項已關閉

已連線到輔助資料庫 (未啟動)
Oracle 例項已啟動

系統全域性區域總計 167772160 位元組

Fixed Size 1247900 位元組
Variable Size 58721636 位元組
Database Buffers 104857600 位元組
Redo Buffers 2945024 位元組
sql 語句: CREATE CONTROLFILE REUSE SET DATABASE "DUP" RESETLOGS ARCHIVELOG
MAXLOGFILES 4220
MAXLOGMEMBERS 5
MAXDATAFILES 65534
MAXINSTANCES 1055
MAXLOGHISTORY 10225
LOGFILE
GROUP 1 'E:ORACLEPRODUCT10.2.0ORADATAdupredo01.log' SIZE 10 M ,
GROUP 2 'E:ORACLEPRODUCT10.2.0ORADATAdupredo02.log' SIZE 10 M ,
GROUP 3 'E:ORACLEPRODUCT10.2.0ORADATAdupredo03.log' SIZE 10 M
DATAFILE
'E:ORACLEPRODUCT10.2.0ORADATADUPSYSTEM01.DBF'
CHARACTER SET ZHS16GBK


記憶體指令碼的內容:
{
catalog clone datafilecopy "E:ORACLEPRODUCT10.2.0ORADATADUPUNDOTBS01.D
BF";
catalog clone datafilecopy "E:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DB
F";
catalog clone datafilecopy "E:ORACLEPRODUCT10.2.0ORADATADUPUSERS01.DBF
";
catalog clone datafilecopy "E:ORACLEPRODUCT10.2.0ORADATADUPTEST.DBF";
catalog clone datafilecopy "E:ORACLEPRODUCT10.2.0ORADATADUPTEST3.DBF";

switch clone datafile all;
}
正在執行記憶體指令碼

已將資料檔案副本列入目錄
資料檔案副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPUNDOTBS01.DBF recid=1
stamp=610122070

已將資料檔案副本列入目錄
資料檔案副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DBF recid=2
stamp=610122072

已將資料檔案副本列入目錄
資料檔案副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPUSERS01.DBF recid=3 s
tamp=610122073

已將資料檔案副本列入目錄
資料檔案副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPTEST.DBF recid=4 stam
p=610122074

已將資料檔案副本列入目錄
資料檔案副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPTEST3.DBF recid=5 sta
mp=610122076

資料檔案 2 已轉換成資料檔案副本
輸入資料檔案副本 recid=1 stamp=610122070 檔名=E:ORACLEPRODUCT10.2.0ORADATA
DUPUNDOTBS01.DBF
資料檔案 3 已轉換成資料檔案副本
輸入資料檔案副本 recid=2 stamp=610122072 檔名=E:ORACLEPRODUCT10.2.0ORADATA
DUPSYSAUX01.DBF
資料檔案 4 已轉換成資料檔案副本
輸入資料檔案副本 recid=3 stamp=610122073 檔名=E:ORACLEPRODUCT10.2.0ORADATA
DUPUSERS01.DBF
資料檔案 5 已轉換成資料檔案副本
輸入資料檔案副本 recid=4 stamp=610122074 檔名=E:ORACLEPRODUCT10.2.0ORADATA
DUPTEST.DBF
資料檔案 8 已轉換成資料檔案副本
輸入資料檔案副本 recid=5 stamp=610122076 檔名=E:ORACLEPRODUCT10.2.0ORADATA
DUPTEST3.DBF

記憶體指令碼的內容:
{
Alter clone database open resetlogs;
}
正在執行記憶體指令碼

資料庫已開啟

記憶體指令碼的內容:
{
# drop offline and skipped tablespaces
sql clone "drop tablespace TEST1 including contents cascade constraints";
}
正在執行記憶體指令碼

sql 語句: drop tablespace TEST1 including contents cascade constraints
完成 Duplicate Db 於 25-12月-06

RMAN>


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-61714/,如需轉載,請註明出處,否則將追究法律責任。

相關文章