网络编程
位置:首页>> 网络编程>> 数据库>> Oracle备库宕机启动的完美解决方案

Oracle备库宕机启动的完美解决方案

作者:Halburt  发布时间:2023-07-20 05:28:34 

标签:oracle,备库,宕机

简介

ORA-10458: standby database requires recovery

ORA-01196: 文件 1 由于介质恢复会话失败而不一致

ORA-01110: 数据文件 1: 'XXXXXXXXXXXXXXXXXX\XXXXX1.DBF'

一个项目做了Oracle主从数据库同步,通过Dataguard实现,从库服务器宕机,再开机的时候,从库无法启动,报“ORA-01196: 文件 1 由于介质恢复会话失败而不一致”这个错误,具体日志信息如下:

ORA-10458: standby database requires recovery
ORA-01196: 文件 1 由于介质恢复会话失败而不一致
ORA-01110: 数据文件 1: 'XXXXXXXXXXXXXXXXXX\XXXXX1.DBF'

正常启动的顺序应该是先启动备库再启动主库。由于从库宕机导致有段时间日志未同步,主备不一致,从库无法启动。

恢复前准备

备份主库

备份主库数据【/home/oracle/backup/20190506/】


mkdir /home/oracle/backup/20190506

sqlplus / as sysdba
SQL> create directory data_dir as '/home/oracle/backup/20190506';

expdp SYSTEM/密码@orcl schemas=用户名 dumpfile=bak20190506.dmp directory=data_dir logfile=bak20190506.log;

检查日志文件

恢复之前需要了解当前备库的数据库文件、日志文件,查看主备库是否一致【如不一致需要拷贝】。


SQL> set linesize 300
SQL> col MEMBER for a60
SQL> select type,member from v$logfile;

Oracle备库宕机启动的完美解决方案

检查数据库文件


SQL> select name from v$datafile;

Oracle备库宕机启动的完美解决方案

备库恢复

关闭备库,并启动了实例,加载数据库,但是数据库没有打开。打开日志进程


shutdown immediate
startup mount;
alter database recover managed standby database using current logfile disconnect from session;

主库操作


alter system switch logfile;

强制日志切换,不一定就归档当前的重做日志文件(若自动归档打开,就归档前的重做日志,若自动归档没有打开,就不归档当前重做日志。)


alter system switch logfile;

多操作几次,操作之后,稍等一段时间,时间视网速而定,过一段时间后,在主库上查询一下同步情况:


select name,sequence#,archived,applied from v$archived_log order by sequence#;

如果返回结果"APPLIED"都是“YES”或者只有最后一个是“NO”的话,说明全部归档日志全部已经归档完了
,此时到备库上上操作

启动备库


alter database recover managed standby database cancel;
alter database open;
alter database recover managed standby database using current logfile disconnect from session;

来源:https://www.cnblogs.com/Halburt/p/10819620.html

0
投稿

猜你喜欢

  • 在html中关于select元素的问题在很多地方都提出过,而在前段时间的项目中,刚好遇到了关于select元素的两个小问题,这里进行一下总结
  •  <%@ language=vbscript codepage=65001%> <
  • 企业管理器中没有改数据库名的功能,如果一定要用企业管理器来实现,你可以备份数据库,然后还原,在还原时候可以指定另一个库名,然后再删除旧库就行
  • 相同记录行如何取最大值我想这个东西在作一些相关采购系统或成本报价系统应该很有用的吧取当前的最有效的价格.记录下来与大家分享!--测试数据&n
  • 1.不装入数据库而启动事例 可以不装入数据库而启动事例,一般是在数据库才创建时才可以这样做:STARTUP NOMOUNT2.启动事例并装入
  • 1.尽量不要对列名进行函数处理。而是针对后面的值进行处理例如where col1 = -5的效率比where -col1=5的效率要高因为后
  • 本文实例为大家分享了java正则表达式工具类的具体代码,供大家参考,具体内容如下import com.google.common.base.
  • 当使用AJAX进行GET请求的时候,会有一个现象就是刷新网页后,AJAX请求的数据没有改变,只有把IE的缓存清空,或者从新打开一个IE窗口的
  • 1.建表代码如下:-- Create table create table test ( dm1 char(3), dm2 char(3),
  • 阅读上一章:Chapter 4 引用互动性一直是互联网的重点,让使用者与网站能够交换信息,彼此沟通.表单使我们能够有组织的,使用同一方式的从
  • 这几天研究UTF-8编码,太晕了,把我的看法和各位讨论讨论。欢迎来批啊。以下都是我的想法,哪里有不对的请不吝赐教,帮忙指出来。相关的题外话:
  • 前后端分离前后端分离的好处最大的好处就是前端JS可以做很大部分的数据处理工作,对服务器的压力减小到最小。后台错误不会直接反映到前台,错误接秒
  • 姓名的翻译: 英语是名(First name)在前,姓(Last name)在后。中文地址的翻译:如果你英语水平不高,填表时只要国家名用英语
  • 大名鼎鼎的FCKeditor终于在最近发布新版本了,与增加版本号不同,这次完全把它改名了,更名为CKeditor。这应该是和它的开发公司CK
  • SQL Server定位于中型的数据库应用,操作较Oracle和MySQL等要相对简便,SQL Server在处理海量数据的效率,后台开发的
  • 背景每次加载数据都要重新Load,想通过加入的注解方式开发缓存机制,每次缓存不用写代码了缺点:目前仅支持一个返回值,虽然能弄成字典,但是已经
  • 在我转到wordpress之后第一个考虑的是它的数据库备份恢复问题,因为写bloger都知道,自己的blog记录的都是自己需要的宝贵的资料和
  • 本文实例讲述了关于php中SimpleXML 函数的用法,此函数是允许您把 XML 转换为对象,分享给大家供大家参考。具体分析如下:Simp
  • 以下为引用的内容:DROP PROCEDURE test_insert ;DELIMITER ;;CREATE PROCEDURE test
  • 如果是感应触发.就选onmouseover如果是点击触发.就选onclick    [把它们两互相替换,就可随时变为感应
手机版 网络编程 asp之家 www.aspxhome.com