暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

oracle dg数据文件损坏如何自救?

原创 DER322 2022-03-31
2406

【背景】因DG的磁盘空间快满了,移走部分dbf,并做上软链接。

操作步骤:关库,mv,ln -s,再开库。不幸的,在mv的时候有个误操作,把某个dbf损坏了。(怎么误操作不说了,丢人)

再次开库时发现:


f**k,又tm摊上大事了,想死的心都有了。。。。

大错已经铸成,还是要去面对。冷静思考,怎么破?至少不是把主库搞出问题,备库还不影响生产,慢慢研究吧。


主库的dbf文件能不能用?比dg的新?rman过来可以用吗?控制文件也要备份过来吗?

带着这些疑问,百度,微信请教高手(精诚许工),最终终于搞定,现在把步骤列出来。


1、从主库rman这个文件

backup datafile 966 format '/oradata/rman_bak/dbf_%T_%t_%s_bak';

2、把文件传到备库

可用scp,如无密码,可能先压缩,再下载,再上传了,不细说了。

3、备份集导入控制文件

RMAN> catalog start with '/oradata/rman_bak/dbf_20220330_1100725729_579385_bak';

4、恢复dbf文件

run {
allocate channel c1 type disk;
set newname for datafile 966 to '/oradata/prodadg/db/apps_st/data/cuxd100.dbf';
restore datafile 966;
switch datafile 966;
recover datafile 966;
release channel c1;
}

5、startup mount

alter database open read only;

此时,oracle发现dbf文件比较新,所以它会从主库一直同步归档日志,并跑完归档,达到dbf的scn值。

所以这个等的时间会比较久。

6、alter database recover managed standby database using current logfile disconnect from session;

开启同步。此时会继续同步rman之后产生的归档。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论