Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3673133
  • 博文数量: 715
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7745
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(715)

文章存档

2023年(75)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

分类: Oracle

2021-08-15 21:04:22



  1. -- 1.关闭备库
  2. shu abort
  3. startup mount

  4. -- 2.比对主、备库文件是否有不同
  5. col name for a50
  6. col fhscn for 99999999999999
  7. set lin 120 pages 100
  8. SELECT FILE#, NAME,CHECKPOINT_CHANGE# fhscn FROM v$datafile_header;

  9. -- 3.备库确认当前备库scn,稍后的步骤中确定是否主数有新数据文件
  10. SELECT CURRENT_SCN FROM V$DATABASE;

  11. -- 4.备库同步差异(简单多了)
  12. rman target /
  13. recover database from service TNS_PRIM noredo using compressed backupset;

  14. -- 5.备库同步最新的控制文件
  15. shutdown immediate;
  16. startup nomount;
  17. restore standby controlfile from service TNS_PRIM;
  18. alter database mount;
  19. report schema; -- 检查文件位置及名称(应该都是主库上的信息)

  20. -- 6.更新备用控制文件中的数据文件和临时文件的名称
  21. 由于控制文件是从 PRIMARY 恢复的,通常主备库数据文件位置不同,或者如果使用 Oracle 管理的文件名 OMF,需要注册备库文件。如果主备具有相同的结构和数据文件名称,则可以跳过此步骤。

  22. catalog start with '备库数据文件位置'; --注意是备库文件位置,所以数据文件最好放置在同一目录下(好管理)
  23. SWITCH DATABASE TO COPY;
  24. 如果这里出现 RMAN-06571,说明位置不对或主备库文件位置一样
  25. 个别文件在其他目录下则单独注册,例如:switch datafile 5 to copy;

  26. -- 7.检查是否有数据文件是新加的
  27. SELECT file# FROM V$DATAFILE WHERE creation_change# >=第3步中的scn
  28. 如果缺少21号文件,则单独恢复
  29. RUN
  30. {
  31. SET NEWNAME FOR DATABASE TO '/';
  32. RESTORE DATAFILE 21 FROM SERVICE tns_prim;
  33. }

  34. -- 8.清理备库日志文件(主备库不在同一个主机或使用同一asm组,否则就把主库给直接破坏了,细思极恐)
  35. select 'ALTER DATABASE CLEAR LOGFILE GROUP '||GROUP#||';' c from v$logfile where TYPE='STANDBY' group by GROUP#;
  36. 执行输出
 -- 9.恢复备库并继续同步
  1. RECOVER DATABASE;
  2. ALTER DATABASE OPEN READ ONLY;
  3. ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;



参考:
在 12c 中使用 Recover From Service 命令前滚物理备用数据库(文档 ID 1987763.1)
阅读(1668) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~