设为首页 收藏本站
查看: 888|回复: 0

[经验分享] 如何重建oracle dataguard

[复制链接]

尚未签到

发表于 2018-9-14 10:08:01 | 显示全部楼层 |阅读模式
  最近太忙,也就无暇每日检查数据库的同布情况,后来才发现主库压根没有同步归档日志到备库,因为备库断电后一直没有开,但问题是主库在10几天前删除过归档日志,惨!为了想节省时间,想去备份捞捞看,结果是备份也没有需要的归档日志。无耐,只好重建。
  1、登录主库备份控制文件到数据文件所在的目录。
  1.1先查询数据文件所在的目录:select name from v$datafile
  SQL> select name from v$datafile;
  NAME
  --------------------------------------------------------------------------------
  /ora/oracle/oradata/tsing/system01.dbf
  /ora/oracle/oradata/tsing/undotbs01.dbf
  /ora/oracle/oradata/tsing/sysaux01.dbf
  /ora/oracle/oradata/tsing/users01.dbf
  /ora/oracle/oradata/tsing/mast.dbf
  /ora/oracle/oradata/tsing/mas.dbf
  6 rows selected.
  1.2 备份控制文件到数据文件所在的目录

  SQL>>
  Database>  2、登录备库删除数据文件
  2.1关闭备库实例
  SQL> shutdown immediate
  ORA-01109: database not open
  Database dismounted.
  ORACLE instance shut down.
  2.2进入数据文件所在的目录,然后删除
  cd /ora/oracle/oradata/tsing/
  [oracle@TAIXIN-HR1 tsing]$ ls
  control01.ctl  mast.dbf    redo03.log     stdREDO04.LOG  undotbs01.dbf
  control02.ctl  orapwtsing  stdREDO01.LOG  sysaux01.dbf   users01.dbf
  control03.ctl  redo01.log  stdREDO02.LOG  system01.dbf
  mas.dbf        redo02.log  stdREDO03.LOG  temp01.dbf
  [oracle@TAIXIN-HR1 tsing]$ rm -f *
  3、从主库用SCP命令将数据文件及控制文件传到备库
  scp -r /ora/oracle/oradata/tsing/* oracle@TAIXIN-HR1:/ora/oracle/oradata/tsing/
  oracle@taixin-hr1's password:
  control01.ctl                                 100% 7088KB   6.9MB/s   00:00
  control02.ctl                                 100% 7088KB   6.9MB/s   00:00
  control03.ctl                                 100% 7088KB   6.9MB/s   00:01
  inittsing.ora                                 100% 1407     1.4KB/s   00:00
  mas.dbf                                       100%   16GB  25.5MB/s   10:30
  mast.dbf                                      100%  136MB  22.7MB/s   00:06
  node1.ctl                                     100% 7088KB   6.9MB/s   00:00
  orapwtsing                                    100% 1536     1.5KB/s   00:00
  redo01.log                                    100%   50MB  25.0MB/s   00:02
  redo02.log                                    100%   50MB  25.0MB/s   00:02
  redo03.log                                    100%   50MB  25.0MB/s   00:02
  sqlnet.log                                    100%  668     0.7KB/s   00:00
  stdREDO01.LOG                                 100%   50MB  16.7MB/s   00:03
  stdREDO02.LOG                                 100%   50MB  50.0MB/s   00:01
  stdREDO03.LOG                                 100%   50MB  50.0MB/s   00:01
  stdREDO04.LOG                                 100%   50MB  25.0MB/s   00:02
  sysaux01.dbf                                  100%  490MB  18.9MB/s   00:26
  system01.dbf                                  100%  520MB  21.7MB/s   00:24
  temp01.dbf                                    100%   20MB  20.0MB/s   00:01
  tsing1.ctl                                    100% 6928KB   6.8MB/s   00:01
  undotbs01.dbf                                 100%  115MB  23.0MB/s   00:05
  users01.dbf                                   100% 5128KB   5.0MB/s   00:00
  [oracle@TAIXIN-HR tsing]$
  4、重命名刚传到备库的控制文件
  4.1先删除目录下原有的三个控制文件
  [oracle@TAIXIN-HR1 tsing]$ ls
  control01.ctl  mast.dbf    redo03.log     stdREDO04.LOG  undotbs01.dbf
  control02.ctl  node1.ctl   sqlnet.log     sysaux01.dbf   users01.dbf
  control03.ctl  orapwtsing  stdREDO01.LOG  system01.dbf
  inittsing.ora  redo01.log  stdREDO02.LOG  temp01.dbf
  mas.dbf        redo02.log  stdREDO03.LOG  tsing1.ctl
  [oracle@TAIXIN-HR1 tsing]$ rm contro*
  [oracle@TAIXIN-HR1 tsing]$ ls
  inittsing.ora  orapwtsing  sqlnet.log     stdREDO04.LOG  tsing1.ctl
  mas.dbf        redo01.log  stdREDO01.LOG  sysaux01.dbf   undotbs01.dbf
  mast.dbf       redo02.log  stdREDO02.LOG  system01.dbf   users01.dbf
  node1.ctl      redo03.log  stdREDO03.LOG  temp01.dbf
  4.2 将node1.ctl的控制文件重命名成三个控制文件
  [oracle@TAIXIN-HR1 tsing]$ mv node1.ctl control01.ctl
  [oracle@TAIXIN-HR1 tsing]$ cp control01.ctl control02.ctl
  [oracle@TAIXIN-HR1 tsing]$ cp control02.ctl control03.ctl
  [oracle@TAIXIN-HR1 tsing]$ ls
  control01.ctl  mast.dbf    sqlnet.log     sysaux01.dbf   users01.dbf
  control02.ctl  orapwtsing  stdREDO01.LOG  system01.dbf
  control03.ctl  redo01.log  stdREDO02.LOG  temp01.dbf
  inittsing.ora  redo02.log  stdREDO03.LOG  tsing1.ctl
  mas.dbf        redo03.log  stdREDO04.LOG  undotbs01.dbf
  5、连接备库,并按如下操作
  sqlplus / as sysdba
  SQL>startup nomount
  SQL>alter database mount standby database;
  SQL>alter database recover managed standby database disconnect from session;
  6、测试重建是否成功(主库切换日志后查看备库是否应用日志)
  在主库上执行
  SQL>alter system switch logfile;
  在从库上
  SQL>select sequence#,applied from v$archived_log;


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-582127-1-1.html 上篇帖子: oracle高水位线及性能优化 下篇帖子: oracle数据误操作恢复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表