ora-742错误处理

今天打开虚拟机启动数据库时遇到ora-742,原因重做日志读时发现写保护丢失,现象重做日志不能归档
查看错误解释

1
2
3
4
5
6
7
8
[qdtais1]@ht19c01[/home/oracle]$oerr ora 742
00742, 00000, "Log read detects lost write in thread %s sequence %s block %s"
// *Cause:  Either a write issued by Oracle was lost by the underlying
//          operating system or storage system or an Oracle internal error
//          occurred.
// *Action: The trace file shows the lost write location. Dump the problematic
//          log file to see whether it is a real lost write. Contact Oracle
//          Support Services.

  查看重做日志状态

1
2
3
4
5
6
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME     CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ --------- ----------
     1      1         21  524288000    512      1 YES INACTIVE          18615295 14-JUL-22     18617678 20-JUL-22          0
     4      1         20  524288000    512      1 NO  INACTIVE          18612767 14-JUL-22     18615295 14-JUL-22          0
     3      1         23  524288000    512      1 NO  CURRENT           18632009 20-JUL-22   9.2954E+18            0
     2      1         22  524288000    512      1 YES INACTIVE          18617678 20-JUL-22     18632009 20-JUL-22          0

  重做日志组4状态时inactive,这个状态数据已写入到数据文件,清除重做日志组4不会导致数据丢失。

查看trc文件

  清除重做日志组4

1
2
3
4
5
6
7
8
9
10
11
12
13
SQL> select open_mode from v$database;
 
OPEN_MODE
--------------------
MOUNTED
 
SQL> alter database clear unarchived logfile group 4;
 
Database altered.
 
SQL> alter database open;
 
Database altered.

  查看重做日志

1
2
3
4
5
6
7
8
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME     CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ --------- ----------
     1      1         21  524288000    512      1 YES INACTIVE          18615295 14-JUL-22     18617678 20-JUL-22          0
     2      1         22  524288000    512      1 YES INACTIVE          18617678 20-JUL-22     18632009 20-JUL-22          0
     3      1         23  524288000    512      1 YES INACTIVE          18632009 20-JUL-22     18633653 20-JUL-22          0
     4      1         24  524288000    512      1 NO  CURRENT           18633653 20-JUL-22   9.2954E+18            0

  

physical standby遇到ora-742错误参考ORA-00742 Log read detects lost write on standby (Doc ID 2762519.1)

生产系统上建议每组重组日志组成员2个做好冗余,不是每次重做日志组遇到状态都是INACTIVE。

posted @   刚好遇见Mysql  阅读(383)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示