Oracle备库宕机启动的完美解决方案
作者:Halburt 发布时间:2023-07-20 05:28:34
简介
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;
检查数据库文件
SQL> select name from v$datafile;
备库恢复
关闭备库,并启动了实例,加载数据库,但是数据库没有打开。打开日志进程
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


猜你喜欢
- 起因:有一批数据需要每个月进行分析,数据存储在excel中,行标题一致,需要横向合并进行分析。数据示意:具有多个代码:# -*- codin
- 前言正常图片转化成素描图片无非对图片像素的处理,矩阵变化而已。目前很多拍照修图App都有这一功能,核心代码不超30行。如下利用 Python
- 长期以来我就有对几年来交互设计的心得进行总结整理的想法。回到中国来亲身体会到不少同行,主要是交互设计师和视觉设计师对于交互设计的困惑,以及其
- 先来介绍一些不使用脚本我们直接使用命令备份与还原oracle数据库Oracle数据备份:步骤 1 备份用户数据。1.使用linux系统下的数
- 看那个自由落体div有感。这个没落体,画个圆。(ie only)<html><head><style>v
- 代码如下:CREATE TABLE [dbo].[TbGuidTable]( [TableName] [varchar](50) NOT N
- CPU活动展示导入模块,创建画板,创建画笔进行绘画出cpu的数据,一定要用线程,负责会卡住哦实现代码import tkinterfrom t
- 本文实例讲述了Python微信推送模板消息功能。分享给大家供大家参考,具体如下:官方文档:https://mp.weixin.qq.com/
- numpy中的ndarray转化成pytorch中的tensor : torch.from_numpy()pytorch中的tensor转化
- 我们知道为了提高代码的运行速度,我们需要对书写的python代码进行性能测试,而代码性能的高低的直接反馈是电脑运行代码所需要的时间。这里将介
- 从MySQL支持Unicode后,为了与时俱进,我们的web程序也开始考虑用UTF8了。其实UTF8也用了好几年了,程序基本能跑,没什么大问
- 前言:在开发过程中,一定会经常碰到需要根据指定的字段排序来显示结果的需求。还是以前文的订单表为例,假设查询“张三&
- 最近开发的微信公众号项目中(项目采用Vue + Vux 构建,站点部署在IIS8.5上),遇到个非常奇葩的问题,发布站点内容后,通过微信打开
- 前言:在进行数据分析时,难免需要对数据集应用一些我们自定义的一些函数,或者其他库的函数,得到我们想要的数据,这种情况下,可能大家第一时间想到
- 实际上,无论是jupyter lab还是juputer notebook其工作目录都是对应在实际磁盘的某个区域的,可以使用%pwd命令进行查
- 一、变量的定义程序中,数据都是临时存储在内存中,为了更快速的查找或使用这个数据,通常我们把这个数据在内存中存储之后,给整个数据定义一个名称,
- 前言本文主要给大家介绍了关于python中reduce()函数使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:
- 读取十万多条文本写入SQLite类型数据库,由于文本中存在中文字符,插入到数据库没错,取出时一直是UnicodeDecodeError,导致
- 本次分享将介绍如何在Python中使用Pandas库实现MySQL数据库的读写。首先我们需要了解点ORM方面的知识ORM技术对象关系映射技术
- 一、怎么样取得最新版本的MySQL?要安装MySQL,首先要当然要取得它的最新版本,虽然大家都知道在FreeBSD的Packages中可以找