duplicate 之 standby

环境:

oracle10g

redhat 5.3 64bit

target :qqdb

auxiliary :dg

创建物理DG环境,本文是在同一台服务器上进行的操作。

[@more@]

在oracle9i之后RMAN提供了更加方便快捷的通过当前实例来创建其他实例或者是快速搭建DG环境的接口,那就是duplicate命令,下面来简单的介绍一下操作步骤以及在执行过程中遇到的问题。

1、首先需要对target库进行一个全备,包括控制文件。

2、将备份、参数文件拷贝到目标库,并且创建必要的目录:trace目录、数据文件目录等

3、在target库或者auxiliary库的tname.ora生成双方的连接

4、登陆并进行duplicate操作:
关于参数文件:

在auxiliary中需要简单的进行修改:

1、增加*.DB_UNIQUE_NAME='dg'

db_file_name_convert = ('/u01/oradata/qqdb',
'/u01/oradata/dg')
log_file_name_convert = ('/u01/oradata/qqdb',
'/u01/oradata/dg')

修改相应的目录结构.

开始进行duplicate:

[oracle@qqdb dbs]$ rman

Recovery Manager: Release 10.2.0.1.0 - Production on Sun Nov 28 01:53:10 2010

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

RMAN> connect target sys/sys123@qqdb

connected to target database: QQDB (DBID=561222812)

RMAN> connect auxiliary /

connected to auxiliary database: DG (not mounted)

RMAN> duplicate target database for standby;

Starting Duplicate Db at 28-NOV-10
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=156 devtype=DISK

contents of Memory Script:
{
restore clone standby controlfile;
sql clone 'alter database mount standby database';
}
executing Memory Script

Starting restore at 28-NOV-10
using channel ORA_AUX_DISK_1

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 11/28/2010 01:53:36
RMAN-03015: error occurred in stored script Memory Script
RMAN-06026: some targets not found - aborting restore
RMAN-06024: no backup or copy of the control file found to restore

此处的错误是因为备份controlfile的时候没有指定standby参数。

解决以上问题:

RMAN> backup current controlfile for standby;

Starting backup at 28-NOV-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including standby control file in backupset
channel ORA_DISK_1: starting piece 1 at 28-NOV-10
channel ORA_DISK_1: finished piece 1 at 28-NOV-10
piece handle=/u01/flash_recovery_area/QQDB/backupset/2010_11_28/o1_mf_ncnnf_TAG20101128T020202_6h2kwtsg_.bkp tag=TAG20101128T020202 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 28-NOV-10

RMAN> crosscheck backup;

using channel ORA_DISK_1
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/flash_recovery_area/QQDB/backupset/2010_11_27/o1_mf_nnndf_TAG20101127T191558_6h1t3p2r_.bkp recid=10 stamp=736197364
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/flash_recovery_area/QQDB/backupset/2010_11_27/o1_mf_nnndf_TAG20101127T191558_6h1t3l8q_.bkp recid=12 stamp=736197361
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/flash_recovery_area/QQDB/backupset/2010_11_27/o1_mf_nnndf_TAG20101127T191558_6h1t3h76_.bkp recid=13 stamp=736197359
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/flash_recovery_area/QQDB/backupset/2010_11_27/o1_mf_nnsnf_TAG20101127T191558_6h1t641x_.bkp recid=14 stamp=736197444
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/flash_recovery_area/QQDB/backupset/2010_11_27/o1_mf_annnn_TAG20101127T191725_6h1t66vb_.bkp recid=15 stamp=736197446
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/flash_recovery_area/QQDB/backupset/2010_11_28/o1_mf_ncnnf_TAG20101128T015806_6h2kojk4_.bkp recid=16 stamp=736221488
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/flash_recovery_area/QQDB/backupset/2010_11_28/o1_mf_ncnnf_TAG20101128T020202_6h2kwtsg_.bkp recid=17 stamp=736221722
Crosschecked 7 objects


RMAN> report obsolete;

RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 16 28-NOV-10
Backup Piece 16 28-NOV-10 /u01/flash_recovery_area/QQDB/backupset/2010_11_28/o1_mf_ncnnf_TAG20101128T015806_6h2kojk4_.bkp

RMAN> delete obsolete;

RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 16 28-NOV-10
Backup Piece 16 28-NOV-10 /u01/flash_recovery_area/QQDB/backupset/2010_11_28/o1_mf_ncnnf_TAG20101128T015806_6h2kojk4_.bkp

Do you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece handle=/u01/flash_recovery_area/QQDB/backupset/2010_11_28/o1_mf_ncnnf_TAG20101128T015806_6h2kojk4_.bkp recid=16 stamp=736221488
Deleted 1 objects

继续操作:

RMAN> duplicate target database for standby;

Starting Duplicate Db at 28-NOV-10
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=156 devtype=DISK

contents of Memory Script:
{
restore clone standby controlfile;
sql clone 'alter database mount standby database';
}
executing Memory Script

Starting restore at 28-NOV-10
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting datafile backupset restore
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: reading from backup piece /u01/flash_recovery_area/QQDB/backupset/2010_11_28/o1_mf_ncnnf_TAG20101128T020202_6h2kwtsg_.bkp
channel ORA_AUX_DISK_1: restored backup piece 1
piece handle=/u01/flash_recovery_area/QQDB/backupset/2010_11_28/o1_mf_ncnnf_TAG20101128T020202_6h2kwtsg_.bkp tag=TAG20101128T020202
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:05
output filename=/u01/oradata/dg/control01.ctl
output filename=/u01/oradata/dg/control02.ctl
output filename=/u01/oradata/dg/control03.ctl
Finished restore at 28-NOV-10

sql statement: alter database mount standby database
released channel: ORA_AUX_DISK_1

contents of Memory Script:
{
set newname for tempfile 1 to
"/u01/oradata/dg/temp01.dbf";
switch clone tempfile all;
set newname for datafile 1 to
"/u01/oradata/dg/system01.dbf";
set newname for datafile 2 to
"/u01/oradata/dg/undotbs01.dbf";
set newname for datafile 3 to
"/u01/oradata/dg/sysaux01.dbf";
set newname for datafile 4 to
"/u01/oradata/dg/users01.dbf";
set newname for datafile 5 to
"/u01/oradata/dg/odu_test01.dbf";
restore
check readonly
clone database
;
}
executing Memory Script

executing command: SET NEWNAME

renamed temporary file 1 to /u01/oradata/dg/temp01.dbf in control file

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 28-NOV-10
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=156 devtype=DISK

channel ORA_AUX_DISK_1: starting datafile backupset restore
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00002 to /u01/oradata/dg/undotbs01.dbf
restoring datafile 00004 to /u01/oradata/dg/users01.dbf
channel ORA_AUX_DISK_1: reading from backup piece /u01/flash_recovery_area/QQDB/backupset/2010_11_27/o1_mf_nnndf_TAG20101127T191558_6h1t3p2r_.bkp
channel ORA_AUX_DISK_1: restored backup piece 1
piece handle=/u01/flash_recovery_area/QQDB/backupset/2010_11_27/o1_mf_nnndf_TAG20101127T191558_6h1t3p2r_.bkp tag=TAG20101127T191558
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07
channel ORA_AUX_DISK_1: starting datafile backupset restore
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00003 to /u01/oradata/dg/sysaux01.dbf
restoring datafile 00005 to /u01/oradata/dg/odu_test01.dbf
channel ORA_AUX_DISK_1: reading from backup piece /u01/flash_recovery_area/QQDB/backupset/2010_11_27/o1_mf_nnndf_TAG20101127T191558_6h1t3l8q_.bkp
channel ORA_AUX_DISK_1: restored backup piece 1
piece handle=/u01/flash_recovery_area/QQDB/backupset/2010_11_27/o1_mf_nnndf_TAG20101127T191558_6h1t3l8q_.bkp tag=TAG20101127T191558
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:25
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 /u01/oradata/dg/system01.dbf
channel ORA_AUX_DISK_1: reading from backup piece /u01/flash_recovery_area/QQDB/backupset/2010_11_27/o1_mf_nnndf_TAG20101127T191558_6h1t3h76_.bkp
channel ORA_AUX_DISK_1: restored backup piece 1
piece handle=/u01/flash_recovery_area/QQDB/backupset/2010_11_27/o1_mf_nnndf_TAG20101127T191558_6h1t3h76_.bkp tag=TAG20101127T191558
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:35
Finished restore at 28-NOV-10

contents of Memory Script:
{
switch clone datafile all;
}
executing Memory Script

datafile 1 switched to datafile copy
input datafile copy recid=10 stamp=736222086 filename=/u01/oradata/dg/system01.dbf
datafile 2 switched to datafile copy
input datafile copy recid=11 stamp=736222086 filename=/u01/oradata/dg/undotbs01.dbf
datafile 3 switched to datafile copy
input datafile copy recid=12 stamp=736222086 filename=/u01/oradata/dg/sysaux01.dbf
datafile 4 switched to datafile copy
input datafile copy recid=13 stamp=736222086 filename=/u01/oradata/dg/users01.dbf
datafile 5 switched to datafile copy
input datafile copy recid=14 stamp=736222086 filename=/u01/oradata/dg/odu_test01.dbf
Finished Duplicate Db at 28-NOV-10

RMAN> exit


Recovery Manager complete.
[oracle@qqdb dbs]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Nov 28 02:08:21 2010

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


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

SQL> select status from v$instance;

STATUS
------------
MOUNTED


SQL> alter database recover managed standby database disconnect from session;

Database altered.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10130206/viewspace-1042247/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10130206/viewspace-1042247/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值