物理备库打开报错ORA-10458怎么办?

分类:编程技术 时间:2024-02-20 16:03 浏览:0 评论:0
0
本文将和大家分享一下物理备库打开报ORA-10458错误的处理方法。小编觉得还是比较实用的,所以分享给大家,作为参考。下面就跟随小编来看看吧。

问题呈现:
机房停电,导致Oracle 11g RAC+DG 3个节点全部异常关闭。

开机后,两个RAC节点正常启动,但DG上的数据库实例只能启动到mount状态,无法打开。

DG:
alter database open;
ORA-10458:备用数据库需要恢复
ORA-01196:由于介质故障,文件 1 不一致恢复会话
ORA-01110: data file 1: '/oracle/oradata/system01.dbf'


RAC01的alert日志报错:< br/> 线程 1 前进到日志序列 71686(LGWR 开关)
当前日志# 2 seq# 71686 mem# 0:+DATA/scprd/onlinelog/group_2.300.926178257
12 月 26 日星期二2017 年 14:43:46
为线程 1 序列 71685 添加存档日志条目 267550 ID 0x350f8bcc dest 1:
2017 年 12 月 26 日星期二 14:43:52
ALTER SYSTEM SET log_archive_dest_state_2='DEFER' SCOPE=BOTH SID='* ';
2017 年 12 月 26 日星期二 14:43:59
登录备用数据库时收到错误 12169
ALTER SYSTEM SET log_archive_dest_state_2= 'ENABLE' SCOPE=BOTH SID='*';
2017 年 12 月 26 日星期二 14:44:01
线程 1 无法分配新日志,序列 71687
检查点不完整
当前日志# 2 seq# 71686 mem# 0: +DATA/scprd/onlinelog/group_2.300.926178257
线程 1 前进到日志序列 71687(LGWR 开关)
当前日志 # 1 seq# 71687 mem# 0: +DATA/scprd/onlinelog/group_1.304.926178257
2017 年 12 月 26 日星期二 14:44:07
为线程 1 序列 71686 添加存档日志条目 267552 ID 0x350f8bcc dest 1 :< br/>2017 年 12 月 26 日星期二 14:49:14
登录备用数据库时收到错误 12169
2017 年 12 月 26 日星期二 14:49:50
线程 1先进到log 序列 71688(LGWR 交换机)
当前日志# 2 seq# 71688 mem# 0: +DATA/scprd/onlinelog/group_2.300.926178257
2017 年 12 月 26 日星期二 14:49:50< br/>已存档为线程 1 序列 71687 ID 0x350f8bcc dest 1 添加日志条目 267558:
2017 年 12 月 26 日星期二 14:49:50
登录到备用数据库时收到错误 12169
< strong>FAL[服务器,ARC3]:FAL 存档失败,请参阅跟踪文件。
ARCH:FAL 存档失败。归档程序继续
ORACLE 实例 SCPRD1 - 归档错误。 Archiver 正在继续。
Tue Dec 26 14:51:09 2017

主从日志同步出现问题:
DG:
SQL > A13 的列名称
SQL> A20 的列值
SQL> A30 的列单位
SQL> SET LINES 122
SQL> SELECT NAME,VALUE,UNIT,TIME_COMPUTED
/> 2 FROM V$DATAGUARD_STATS
3 WHERE NAME IN ('传输滞后','应用滞后');


NAME 值 --------- ------------------------------------------
运输滞后日( 2)到第二 (0) 间隔 12/26/2017 14:19:22
应用滞后 +00 01:53:52 第 (2) 到第二 (0) 间隔 12/26 /2017 14:19 :22

apply lag 有延迟。

主数据库:
SQL> select thread#, max(sequence#) from v$archived_log group by thread#;


THREAD# MAX (序列#)
---------- --------------
                                                                                                                                                                                                                                                                         
SQL> select thread#, max(sequence# ) 来自 v$archived_log,其中 Applied='YES' group by thread#;


THREAD# MAX(SEQUENCE#)< br/> ----------- -------------------------171634
2 68325
DG比主库的序列慢。 ,主从同步有问题。

问题解决方案:
检查 tnsnames 时出现问题RAC01:
SCPRDDG =
CPRD =
(描述 =
(地址 = (协议 = TCP)(主机 = wmsscan2)(端口 = 1521))
(CONNECT_DATA =
(服务器 = 专用)
(SERVICE_NAME = SCPRD)
)
)


(地址 = (协议 = TCP)(主机 = 10.1.10.20)(端口 = 1521))
(CONNECT_DATA =
(服务器 = 专用)
(SERVICE_NAME = SCPRDDG)
)
)
修改为:
SCPRDDG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.10.20)(PORT = 1521 ))
(CONNECT_DATA =< br/> (SERVER = DEDICATED)
(SERVICE_NAME = SCPRDDG)
)
)

重新测试同步,正常。
应用延迟没有延迟。
主从日志同步的SEQUENCE也是一样的。

更改DG打开:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;


数据库已更改。


SQL> alter database open read only;


数据库已更改。


SQL> select RECOVERY_MODE from v$archive_dest_status where rownum<5;


RECOVERY_MODE
----- ------------------
IDLE
IDLE
IDLE
IDLE


SQL> ALTER DATABASE 使用当前日志文件恢复托管备用数据库 与会话断开连接;


数据库已更改。


SQL> select RECOVERY_MODE from v$archive_dest_status where rownum<5;


RECOVERY_MODE
-----------------------
管理实时应用
空闲
空闲
空闲

SQL> SELECT NAME,VALUE,UNIT,TIME_COMPUTED
FROM V$DATAGUARD_STATS
2 3 WHERE NAME IN ('传输滞后','应用滞后');


名称值单位   ------------------------------------------ ---------
传输滞后 +00 00:00:00 天(2)到秒(0)间隔 12/26/2017 16:31:30
应用滞后 +00 00:00:00 天(2) 至秒(0) 间隔 12/26/2017 16:31:30

DG 可以提供只读服务,一切恢复正常。

感谢您的阅读!这篇关于“我该怎么办”的文章“物理备库打开错误ORA-10458”的问题分享到这里,希望以上内容能够给大家带来一些帮助,让大家能够学到更多的知识,如果觉得文章不错可以添加分享让更多人看到!

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 物理备库打开报错ORA-10458怎么办?

用户评论