免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4219 | 回复: 3

[DG] 11gR2 RAC to single DataGuard问题 [复制链接]

论坛徽章:
0
发表于 2014-12-19 00:41 |显示全部楼层
本帖最后由 Samdy_Chan 于 2014-12-19 00:49 编辑

各位好:
       我现在想在 RHEL5 OS环境下的 11.2.0.1.0 的双节点RAC环境到单实例(也是11.2.0.1.0,单实例备库也使用ASM磁盘组)的DataGuard,但在主库执行:
rman target / auxiliary sys@stdb
RMAN > duplicate target database for standby nofilenamecheck;
后,提示如下错误:
Recovery Manager: Release 11.2.0.1.0 - Production on Thu Dec 18 23:44:01 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: RACDB (DBID=856268224)
connected to auxiliary database: RACDB (not mounted)

channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: reading from backup piece /backup/rman_bak/dg_bak/racdb_ctl_0apqgkc8_1_1_20141218
channel ORA_AUX_DISK_1: ORA-19870: error while restoring backup piece /backup/rman_bak/dg_bak/racdb_ctl_0apqgkc8_1_1_20141218
ORA-19504: failed to create file "+DATA/stdb/controlfile/control01.ctl"
ORA-15012: ASM file 'stdb/controlfile/control01.ctl' does not exist
ORA-17502: ksfdcre:5 Failed to create file +DATA/stdb/controlfile/control01.ctl
ORA-15081: failed to submit an I/O operation to a disk




并且在备库RMAN中执行  restore standby controlfile from '/backup/rman_bak/dg_bak/racdb_ctl_0apqgkc8_1_1_20141218';
也是提示和以上一样的错误。并且我预先在+DATA磁盘组中创建stdb/controlfile目录也不行。


但我在备库的init参数文件中定义contro_files='/backup/control01.ctl' (OS目录)恢复就可以,但为什么恢复到ASM磁盘组就报以上错误呢?
并且我单实例的所有磁盘组已经是online正常了的:
[grid@dg-st tmp]$ crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host        
----------------------------------------------------------------------
ora.ARCH.dg    ora....up.type 0/5    0/     ONLINE    ONLINE    dg-st      
ora.DATA.dg    ora....up.type 0/5    0/     ONLINE    ONLINE    dg-st      
ora.asm        ora.asm.type   0/5    0/     ONLINE    ONLINE    dg-st      
ora.cssd       ora.cssd.type  0/5    0/5    ONLINE    ONLINE    dg-st      
ora.diskmon    ora....on.type 0/10   0/5    ONLINE    ONLINE    dg-st

备库oracle用户组信息如下:
[root@dg-st pfile]# id oracle
uid=1101(oracle) gid=1000(oinstall) groups=1000(oinstall),1201(asmdba),1300(dba),1301(oper)

我的备库的参数文件内容如下:
*.__db_cache_size=33554432
*.__java_pool_size=4194304
*.__large_pool_size=4194304
*.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
*.__pga_aggregate_target=201326592
*.__sga_target=213909504
*.__shared_io_pool_size=0
*.__shared_pool_size=159383552
*.__streams_pool_size=0
*.db_name=racdb
*.db_unique_name=stdb
*.db_block_size=8192         
*.db_create_file_dest='+DATA'
*.control_files='+DATA/stdb/controlfile/control01.ctl'
*.thread=1
*.undo_tablespace=UNDOTBS1
*.log_archive_config='dg_config=(racdb,stdb)'
*.db_recovery_file_dest='+ARCH'
*.db_recovery_file_dest_size=8G
*.log_archive_dest_1='location=+ARCH/stdb/archivelog valid_for=(all_logfiles,all_roles) db_unique_name=stdb'
*.log_archive_dest_2='service=racdb lgwr async noaffirm reopen=300 valid_for=(online_logfiles,primary_role) db_unique_name=racdb'
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.remote_login_passwordfile=exclusive
*.log_archive_format='%t_%s_%r.arc'
*.log_archive_max_processes=4
*.fal_server='racdb1','racdb2'
*.fal_client=stdb
#*.db_file_name_convert='+DATA/racdb','+DATA/stdb'
#*.log_file_name_convert='+DATA/racdb','+DATA/stdb'
*.standby_file_management=auto
*.user_dump_dest='/u01/app/oracle/diag/rdbms/stdb/stdb/trace'
*.audit_file_dest='/u01/app/oracle/admin/stdb/adump'
*.background_dump_dest='/u01/app/oracle/diag/rdbms/stdb/stdb/trace'
*.core_dump_dest='/u01/app/oracle/diag/rdbms/stdb/stdb/cdump'
------------
请问为什么恢复到磁盘组就有问题,恢复到OS目录就可以。。。
还望各位帮忙解决一下,万分感谢!      

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2014-12-19 08:55 |显示全部楼层
本帖最后由 flutter 于 2014-12-19 09:18 编辑

大概看了下,你的操作有问题吧:

1,那个rman target XXX@XXX auxiliary /

RMAN>duplicate target database for standby;

应该是在备库执行,而不是在主库执行。

2,STANDBY CONTROLFIE不是从BACKUP恢复来的,是主库执行

alter database create standby controlfile as生成的。

按照官方文档,仔细检查主库和备库的文件及路径。

如果路径完全一致,则很容易恢复。

如果路径不一致,需要加上参数file_name_convert

我做了几个,没有出问题。

论坛徽章:
0
发表于 2014-12-19 11:30 |显示全部楼层
回复 2# flutter


   
rman target / auxiliary sys@stdb
RMAN > duplicate target database for standby nofilenamecheck;

这个在主库执行,stdb是备库。有问题吗?

论坛徽章:
0
发表于 2015-01-09 16:26 |显示全部楼层
回复 3# Samdy_Chan


   不行  要在备库执行才可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP