使用rman创建standby db,数据文件目录结构不同需要注意的地方

使用RMANduplicate命令进行创建standby db,如果主库与备库的数据文件,redo文件的路径不相同,需要设置下面三个参数:

*.db_file_name_convert='/oradata/gridctl/','/oradata/newgridctl/'

*.log_file_name_convert='/oradata/gridctl/','/oradata/newgridctl/'

*.standby_file_management=AUTO

而在oracle的官方文档中,笔者没有找到明确指出该参数需要在哪个服务器(主库,备库,主备库)上设置的帮助内容。为了搞清楚这个问题,做了2种情况的测试:

[@more@]

1.主库设置这3个参数,备库没有设置这3个参数,duplicate 操作成功,不过数据文件和redo文件按照omf格式创建了.

[oracle@standbydb oradata]$ sqlplus / as sysdba

SQL> show parameter db_create

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

db_create_file_dest string /oradata/newgridctl

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

/oradata/newgridctl/GRIDCTL/datafile/o1_mf_system_68gffrth_.dbf

/oradata/newgridctl/GRIDCTL/datafile/o1_mf_undotbs1_68gffrtn_.dbf

/oradata/newgridctl/GRIDCTL/datafile/o1_mf_sysaux_68gffrtz_.dbf

/oradata/newgridctl/GRIDCTL/datafile/o1_mf_users_68gffrv4_.dbf

/oradata/newgridctl/GRIDCTL/datafile/o1_mf_mgmt_tab_68gffrts_.dbf

/oradata/newgridctl/GRIDCTL/datafile/o1_mf_mgmt_ecm_68gffrv5_.dbf

SQL> select member from v$logfile;

MEMBER

--------------------------------------------------------------------------------

/oradata/newgridctl/GRIDCTL/onlinelog/o1_mf_1_68gfkgft_.log

/oradata/newgridctl/GRIDCTL/onlinelog/o1_mf_2_68gfkgyv_.log

/oradata/newgridctl/GRIDCTL/onlinelog/o1_mf_3_68gfkhph_.log

我们可以看到,因为备库没有设置转换参数,所以oracle使用omf格式创建新的文件名称.

2.主库没有设置,备库设置了,duplicate操作成功,数据文件和redo文件都按照convert参数的设置存放了.结果如下:

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

/oradata/newgridctl/system01.dbf

/oradata/newgridctl/undotbs01.dbf

/oradata/newgridctl/sysaux01.dbf

/oradata/newgridctl/users01.dbf

/oradata/newgridctl/mgmt.dbf

/oradata/newgridctl/mgmt_ecm_depot1.dbf

radata/newgridctl/undotbs01.dbf

SQL> select member from v$logfile;

MEMBER

--------------------------------------------------------------------------------

/oradata/newgridctl/redo01.log

/oradata/newgridctl/redo02.log

/oradata/newgridctl/redo03.log

通过本次实验证明了,convert参数需要在备库上设置,而主库上不需要设置.

Oracleduplcate操作时有点奇怪,怪在那里呢?

1).要在主库上执行rman的登录操作,并且auxiliary连接到备库.

$rman target / auxiliary sys/pwdofsys@standby

2).要在主库的rman环境里执行duplicate 命令.

RMAN>run{duplicate target database for standby;}

3). rman的备份集文件需要拷贝到备机的相同目录(不使用主库服务器的备份集文件)

4).文件名称或者文件路径的修改,需要在备库上设置三个convert参数,主库不需要设置这些参数。

以上的这4怪,恰恰是rman创建standby db4个陷阱,跳过这四个陷阱,duplicate就顺很多。

关于如何使用rman创建一个standby db,请参看笔者的另外一个文章“使用RMAN在线创建DataGuard备用库(数据文件不同路径结构)”,网址为:http://djb1008.itpub.net/post/42280/505142

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

转载于:http://blog.itpub.net/32980/viewspace-1038069/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值