免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3202 | 回复: 3
打印 上一主题 下一主题

备库破坏后在不影响主库的情况下如何恢复dataguard [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-07-18 13:40 |只看该作者 |倒序浏览
备库破坏后如何恢复dataguard


dataguard有没有这样一种情况

一主库 一物理备库
2者之间网络断开, 这时候各自提供外机服务。等网路恢复正常后。整理备库新加的数据导入到主库。
现在老的备份已经不能使用。
只能重新删除配置新的 dataguard(主库在线应用基本配置不变化,备份库是否一定要删除实例重新安装实例也就是创建数据库)
?  (实际上这个问题本质是备库破坏后在不影响主库的情况下如何恢复dataguard)

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
2 [报告]
发表于 2011-07-18 15:41 |只看该作者
主库没坏应该可以吧。

论坛徽章:
0
3 [报告]
发表于 2011-07-18 18:01 |只看该作者
重建备库即可

重建备库并不影响主库

论坛徽章:
0
4 [报告]
发表于 2011-07-19 17:36 |只看该作者
本帖最后由 liyihongcug 于 2011-07-19 19:27 编辑

重建备库即可
楼上 能详细说下步骤吗  (难道跟初次建立一样的  ,如果一样 那些大量归档日志快1g了改如何处理)

11g可以做
把主库归档未传到备机就删了..

没想到有什么办法恢复这个归档..重建..



备库准备工作:

1.备库和主库目录结构要一致.

2.备库的参数文件设置,正常做STANDBY时怎么设置就怎么设置.

3.备库的密码文件和主库相同.11G建立密码文件时要加ignorecase=Y 因为11密码区分大小写

4.备库的监听要是静态监听.因为默认是动态的,实例nomount状态是不能被网络连接的.

5.将备库启动到nomount



主库准备工作:

不停主库业务的话,主库必须有设置这个参数:db_unique_name

因为主备传输需要这个参数来识别.不能一致.一致就乱了.

因为备库你可以重新建立.所以其他的目录都很容易和主库保持一致.

其他参数都是做DG时的正常参数设置.

对了,下面两个参数不能在scope=memory下改. 如果不加这个参数.也没什么事.只是我遇到告警日志里有个ORA-错误.具体不记得了.加上就没了.小问题,无需理会

*.db_file_name_convert='standby','primary'

*.log_file_name_convert='standby','priamry'

主库要用rman做一次全备.因为数据文件的释出是从备份集中取得的.

日志如下:



channel ORA_AUX_DISK_1: reading from backup piece /oracle/rman_backup/dbf_seker_669002411_49_20081025.rbak

开始建立DG备库.



主库OPEN;备库nomount;



在主库上操作:

[oracle@dbserver ~]$ rman target /



Recovery Manager: Release 11.1.0.6.0 - Production on Sat Oct 25 02:06:23 2008
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
connected to target database: seker (DBID=3265385459)

RMAN> connect auxiliary "[email=[ft=#ff0000,,]sys/oracle@standby]sys/oracle@standby[/email]"


connected to auxiliary database: seker (not mounted)
RMAN> duplicate target database for standby nofilenamecheck;

避免主库数据文件更改时检测不通过,加nofilenamecheck;参数

这是出错时的日志

sql statement: alter database mount standby database
RMAN-05001: auxiliary file name /oracle/oradata/system01.dbf conflicts with a file used by the target database

Starting Duplicate Db at 25-OCT-08
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=537 device type=DISK
contents of Memory Script:
{
   restore clone standby controlfile;
   sql clone 'alter database mount standby database';
}
executing Memory Script
Starting restore at 25-OCT-08
using channel ORA_AUX_DISK_1
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 /oracle/rman_backup/c-3265385459-20081025-02.ctl
channel ORA_AUX_DISK_1: piece handle=/oracle/rman_backup/c-3265385459-20081025-02.ctl tag=TAG20081025T020126
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/oracle/oradata/seker/standby01.ctl
output file name=/oracle/oradata/seker/standby02.ctl
Finished restore at 25-OCT-08
sql statement: alter database mount standby database
contents of Memory Script:
{
   set newname for tempfile  1 to
"/oracle/oradata/seker/temp01.dbf";
   switch clone tempfile all;
   set newname for datafile  1 to
"/oracle/oradata/seker/system01.dbf";
   set newname for datafile  2 to
"/oracle/oradata/seker/sysaux01.dbf";
   set newname for datafile  3 to
"/oracle/oradata/seker/undotbs01.dbf";
   set newname for datafile  4 to
"/oracle/oradata/seker/users01.dbf";
   set newname for datafile  5 to
"/oracle/oradata/seker/bjxunzhi01.dbf";
   set newname for datafile  6 to
"/oracle/oradata/seker/seker01.dbf";
   set newname for datafile  7 to
"/oracle/oradata/seker/shequ01.dbf";
   restore
   clone database
   ;
}
executing Memory Script
executing command: SET NEWNAME
renamed tempfile 1 to /oracle/oradata/seker/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
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting restore at 25-OCT-08
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00001 to /oracle/oradata/seker/system01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00002 to /oracle/oradata/seker/sysaux01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00003 to /oracle/oradata/seker/undotbs01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00004 to /oracle/oradata/seker/users01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00005 to /oracle/oradata/seker/bjxunzhi01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00006 to /oracle/oradata/seker/seker01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00007 to /oracle/oradata/seker/shequ01.dbf
channel ORA_AUX_DISK_1: reading from backup piece /oracle/rman_backup/dbf_seker_669002411_49_20081025.rbak
channel ORA_AUX_DISK_1: piece handle=/oracle/rman_backup/dbf_seker_669002411_49_20081025.rbak tag=DB_BACKUP_2008-10-25.02:00:01
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:05
Finished restore at 25-OCT-08
contents of Memory Script:
{
   switch clone datafile all;
}
executing Memory Script
datafile 1 switched to datafile copy
input datafile copy RECID=2 STAMP=669002889 file name=/oracle/oradata/seker/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=3 STAMP=669002889 file name=/oracle/oradata/seker/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=4 STAMP=669002889 file name=/oracle/oradata/seker/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=5 STAMP=669002889 file name=/oracle/oradata/seker/users01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=6 STAMP=669002889 file name=/oracle/oradata/seker/bjxunzhi01.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=7 STAMP=669002889 file name=/oracle/oradata/seker/seker01.dbf
datafile 7 switched to datafile copy
input datafile copy RECID=8 STAMP=669002889 file name=/oracle/oradata/seker/shequ01.dbf
Finished Duplicate Db at 25-OCT-08
RMAN>

OK.备库建立完成;

去备库查看一下状态

[email=SYS@seker]SYS@seker[/email] > select open_mode,database_role,switchover_status,protection_mode from v$database;





OPEN_MODE      DATABASE_ROLE        SWITCHOVER_STATUS          PROTECTION_MODE
-------------------- -------------------------------- ---------------------------- MOUNTED       PHYSICAL STANDBY        RECOVERY NEEDED          MAXIMUM PERFORMANCE
[email=SYS@seker]SYS@seker[/email] >

RECOVERY NEEDED

需要恢复..



归档已经传递过来了.

[email=SYS@seker]SYS@seker[/email] > select name,applied from v$archived_log;



NAME         APPLIE
-------------------------------------------------- ------
/oracle/arc1/1_74_668404789.arc      NO

/oracle/arc1/1_73_668404789.arc      NO


应用归档;
[email=SYS@seker]SYS@seker[/email] > alter database recover managed standby database nodelay disconnect from session;



Database altered.
应用完毕;
[email=SYS@seker]SYS@seker[/email] > select name,applied from v$archived_log;



NAME         APPLIE
-------------------------------------------------- ------
/oracle/arc1/1_74_668404789.arc      YES

/oracle/arc1/1_73_668404789.arc      YES

[email=SYS@seker]SYS@seker[/email] > alter database recover managed standby database cancel;



Database altered.
打开备库
[email=SYS@seker]SYS@seker[/email] > alter database open;


Database altered.
[email=SYS@seker]SYS@seker[/email] > select open_mode,database_role,switchover_status,protection_mode from v$database;




OPEN_MODE  DATABASE_ROLE    SWITCHOVER_STATUS  PROTECTION_MODE
---------- ---------------- -------------------- --------------------
READ ONLY  PHYSICAL STANDBY NOT ALLOWED   MAXIMUM PERFORMANCE
[email=SYS@seker]SYS@seker[/email] > alter database recover managed standby database nodelay disconnect from session;




Database altered.
[email=SYS@seker]SYS@seker[/email] >

OK..清理一下告警日志里的垃圾信息;



但可惜我的版本是 10g  问重新建立备份该如何做
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP