一旦rhel5.8造成只读文件系统ORA-00354: corrupt redo log block header

Wed Jun 03 03:31:24 CST 2015
Thread 1 advanced to log sequence 396 (LGWR switch)
  Current log# 3 seq# 396 mem# 0: /u01/app/oracle/oradata/orcl/redo03.log
Wed Jun 03 19:05:48 CST 2015
Thread 1 advanced to log sequence 397 (LGWR switch) ----------------->从这个地方能够看出来:sequence 397为current redo log
  Current log# 1 seq# 397 mem# 0: /u01/app/oracle/oradata/orcl/redo01.log
Wed Jun 03 20:44:19 CST 2015
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_j000_30071.trc:
ORA-07445: exception encountered: core dump [kglats()+106] [SIGSEGV] [Address not mapped to object] [0x000000000] [] []
ORA-01403: no data found
Wed Jun 03 22:00:26 CST 2015
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_j001_30285.trc:
ORA-07445: exception encountered: core dump [kglhdiv_callback()+79] [SIGSEGV] [Address not mapped to object] [0x0000000D4] [] []
Thu Jun 04 20:28:17 CST 2015
Starting ORACLE instance (normal)

后来数据库实例重新启动(人为重新启动):

Completed: ALTER DATABASE   MOUNT
Thu Jun 04 20:28:24 CST 2015
ALTER DATABASE OPEN
Thu Jun 04 20:28:24 CST 2015
Beginning crash recovery of 1 threads
 parallel recovery started with 3 processes
Thu Jun 04 20:28:24 CST 2015
Started redo scan
Thu Jun 04 20:28:24 CST 2015
Completed redo scan
 1210 redo blocks read, 287 data blocks need recovery
Thu Jun 04 20:28:25 CST 2015
Started redo application at
 Thread 1: logseq 397, block 660827
Thu Jun 04 20:28:25 CST 2015
Recovery of Online Redo Log: Thread 1 Group 1 Seq 397 Reading mem 0
  Mem# 0: /u01/app/oracle/oradata/orcl/redo01.log
Thu Jun 04 20:28:25 CST 2015
Completed redo application
Thu Jun 04 20:28:29 CST 2015
Completed crash recovery at
 Thread 1: logseq 397, block 662037, scn 1359645
 287 data blocks read, 287 data blocks written, 1210 redo blocks read
Thu Jun 04 20:28:30 CST 2015
LGWR: STARTING ARCH PROCESSES
ARC0 started with pid=19, OS id=3609
Thu Jun 04 20:28:30 CST 2015
ARC0: Archival started
ARC1: Archival started
LGWR: STARTING ARCH PROCESSES COMPLETE
ARC1 started with pid=20, OS id=3611
Thu Jun 04 20:28:30 CST 2015
Thread 1 advanced to log sequence 398 (thread open) --->已经使用sequence 398,此时,sequence 398为current redo log
Thread 1 opened at log sequence 398
  Current log# 2 seq# 398 mem# 0: /u01/app/oracle/oradata/orcl/redo02.log
Successful open of redo thread 1
Thu Jun 04 20:28:30 CST 2015
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Thu Jun 04 20:28:30 CST 2015
ARC0: Becoming the 'no FAL' ARCH
ARC0: Becoming the 'no SRL' ARCH
Thu Jun 04 20:28:30 CST 2015
SMON: enabling cache recovery
Thu Jun 04 20:28:30 CST 2015
ARC1: Becoming the heartbeat ARCH
Thu Jun 04 20:28:35 CST 2015
ARC0: Log corruption near block 385521 change 1314765 time ?   --->发现redo log 有损坏
Thu Jun 04 20:28:35 CST 2015
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc0_3609.trc:
ORA-00354: corrupt redo log block header --->发现redo log header有损坏
ORA-00353: log corruption near block 385521 change 1314765 time 06/03/2015 19:05:47
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
ARC0: All Archive destinations made inactive due to error 354
Thu Jun 04 20:28:35 CST 2015
ARC0: Closing local archive destination LOG_ARCHIVE_DEST_1: '/home/oracle/1_397_880950378.dbf' (error 354)
 (orcl)
Committing creation of archivelog '/home/oracle/1_397_880950378.dbf' (error 354)
Thu Jun 04 20:28:43 CST 2015
Successfully onlined Undo Tablespace 1.
Thu Jun 04 20:28:43 CST 2015
SMON: enabling tx recovery
Thu Jun 04 20:28:45 CST 2015
ARCH: Archival stopped, error occurred. Will continue retrying
Thu Jun 04 20:28:45 CST 2015
ORACLE Instance orcl - Archival Error
Thu Jun 04 20:28:45 CST 2015
Database Characterset is ZHS16GBK
Thu Jun 04 20:28:45 CST 2015
ORA-16038: log 1 sequence# 397 cannot be archived
ORA-00354: corrupt redo log block header
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
Thu Jun 04 20:28:45 CST 2015
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc0_3609.trc:
ORA-16038: log 1 sequence# 397 cannot be archived
ORA-00354: corrupt redo log block header
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
Opening with internal Resource Manager plan
replication_dependency_tracking turned off (no async multimaster replication found)
Starting background process QMNC
QMNC started with pid=21, OS id=3637
Thu Jun 04 20:28:49 CST 2015
Completed: ALTER DATABASE OPEN ------->db open了。open归open,无法归档的话。业务早晚会hang。
--->此时/u01/app/oracle/oradata/orcl/redo02.log,是sequence 398,是current redo log。
Thread 1 advanced to log sequence 399 (LGWR switch)
  Current log# 3 seq# 399 mem# 0: /u01/app/oracle/oradata/orcl/redo03.log
--->此时/u01/app/oracle/oradata/orcl/redo03.log,是sequence 399,是current redo log。
--->然后,sqlplus中发出了日志切换的语句:alter system switch logfile;
Thread 1 cannot allocate new log, sequence 400---->已经不能进行日志切换,由于sequence 397未被归档,不同意被覆盖,此时db hang住。

All online logs needed archiving
  Current log# 3 seq# 399 mem# 0: /u01/app/oracle/oradata/orcl/redo03.log
  Thu Jun 04 21:28:31 CST 2015
ARC0: Log corruption near block 385521 change 1314765 time ?
Thu Jun 04 21:28:31 CST 2015
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc0_3609.trc:
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 385521 change 1314765 time 06/03/2015 19:05:47
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
ARC0: All Archive destinations made inactive due to error 354
Thu Jun 04 21:28:31 CST 2015
ARC0: Closing local archive destination LOG_ARCHIVE_DEST_1: '/home/oracle/1_397_880950378.dbf' (error 354)
 (orcl)
ARCH: Archival stopped, error occurred. Will continue retrying
Thu Jun 04 21:28:34 CST 2015
ORACLE Instance orcl - Archival Error
Thu Jun 04 21:28:34 CST 2015
ORA-16038: log 1 sequence# 397 cannot be archived
ORA-00354: corrupt redo log block header
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
Thu Jun 04 21:28:34 CST 2015
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc0_3609.trc:
ORA-16038: log 1 sequence# 397 cannot be archived
ORA-00354: corrupt redo log block header
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
ARCH: Archival stopped, error occurred. Will continue retrying
Thu Jun 04 21:28:34 CST 2015
ORACLE Instance orcl - Archival Error
Thu Jun 04 21:28:34 CST 2015
ORA-16014: log 1 sequence# 397 not archived, no available destinations
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
Thu Jun 04 21:28:34 CST 2015
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc0_3609.trc:
ORA-16014: log 1 sequence# 397 not archived, no available destinations
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'

启动db到mount状态。进行处理

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Fri Jun 12 23:14:24 2015

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> startup mount;
ORACLE instance started.

Total System Global Area 2147483648 bytes
Fixed Size                  2097696 bytes
Variable Size             536874464 bytes
Database Buffers         1593835520 bytes
Redo Buffers               14675968 bytes
Database mounted.

SQL> set line 200
SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
         1          1        397  536870912          1 NO  INACTIVE               1294462 03-JUN-15
         3          1        399  536870912          1 NO  CURRENT                1361682 04-JUN-15
         2          1        398  536870912          1 YES INACTIVE               1359647 04-JUN-15

SQL> alter database clear logfile group 1;
alter database clear logfile group 1
*
ERROR at line 1:
ORA-00350: log 1 of instance orcl (thread 1) needs to be archived
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'

SQL> alter database clear unarchived logfile group 1;

Database altered.

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
         1          1          0  536870912          1 YES UNUSED                 1294462 03-JUN-15
         3          1        399  536870912          1 NO  CURRENT                1361682 04-JUN-15
         2          1        398  536870912          1 YES INACTIVE               1359647 04-JUN-15

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /home/oracle
Oldest online log sequence     0
Next log sequence to archive   399
Current log sequence           399
SQL>

此时alert日志的输出例如以下:

Fri Jun 12 23:20:27 CST 2015
alter database clear logfile group 1
Fri Jun 12 23:20:27 CST 2015
ORA-350 signalled during: alter database clear logfile group 1...
Fri Jun 12 23:22:30 CST 2015
alter database clear unarchived logfile group 1
Fri Jun 12 23:22:31 CST 2015
WARNING! CLEARING REDO LOG WHICH HAS NOT BEEN ARCHIVED. BACKUPS TAKEN
    BEFORE 06/04/2015 20:28:30 (CHANGE 1359647) CANNOT BE USED FOR RECOVERY.
Clearing online log 1 of thread 1 sequence number 397
Fri Jun 12 23:22:43 CST 2015
Completed: alter database clear unarchived logfile group 1
 
时间: 2024-11-10 08:24:22

一旦rhel5.8造成只读文件系统ORA-00354: corrupt redo log block header的相关文章

只读文件系统

在有些项目中,我们不希望系统的文件的被修改,如路由器的系统文件等等.我们就需要使用只读文件系统来保护我们的系统文件不被修改. 常见的只读文件系统有:cramfs文件系统和squashfs文件系统(cramfs文件系统的继任者) 一.cramfs文件系统: http://sourceforge.net/projects/cramfs/ 1. compressed ROM filesystem 主要用于嵌入式Linux系统中,简单与空间高效 2. 特性: 支持最大分区:272MB (256MB +

树莓派变成了只读文件系统

今天当我想用ssh连接树莓派时,发现连不上了,树莓派没有开启ssh服务 我没有显示器,没有外接键盘. 于是乎,我将树莓派的硬盘(内存卡)拔下来插电脑上,在/etc/rc.local中exit 0 前面添加 /etc/init.0/ssh start 然后内存卡插回树莓派,重新启动树莓派,ssh可以连接了 但是树莓派却变成了只读文件系统 百度了一下,根据百度的方法,并没有什么卵用 以下为百度的方法,供以后参考 一 1.mount: 用于查看哪个模块输入只读,一般显示为: /dev/hda1 on

Linux报错-------ln: 无法创建符号链接"***": 只读文件系统

对u-boot源码进行平台选择时输入: make am335x_evm_config 报错: ln: 无法创建符号链接"asm": 只读文件系统 make: *** [am335x_evm_config] 错误 1 拿到u-boot源码后放到虚拟机的共享share文件夹中,解压,然后配置.没注意我犯了一个很低端的错误... windows下是没有连接文件的,使用ln来创建连接文件时当然会出错,将所有代码放到Linux的文件系统中就没问题了. 所以以后凡是带链接文件的项目是不能放到虚拟机

Linux文件系统,ntfs分区显示只读文件系统,提示超级快损坏

背景:某天当我打开自己的设备,突然发现ntfs分区无法写入任何文件,提示为只读文件系统,具体现象如下: 修复过程:排除权限问题,使用fsck进行修复无果后,使用e2fsck进行修复 显示超级快损坏,这样就好做了,重新修复即可: 解决方案: 一下列举的是Ubuntu安装过程,本人使用的archlinux系统,这里不做赘述,如果不会安装,请自行解决 用sudo apt-get install ntfs-3g安装ntfs-3g.然后在NTFS分区上运行ntfsfix命令. [email protect

ubuntu下解决u盘成只读文件系统问题

Ubuntu下U盘出现文件系统只读的问题了.症状为无法删除U盘中现有文件,无法向U盘拷贝新的文件.但不知道是什么原因.今天下决心解决这个问题. 解决方法: 1. 在Ubuntu终端运行如下命令 tail -f /var/log/syslog      2. 插入有只读文件系统故障的U盘 3. 观察命令行输出 输出局部如下: Jul  8 16:44:50 cslouis-pc kernel: [15595.155904] FAT: Filesystem error (dev sdb4) Jul 

如何删除/mnt/cdrom?|如何删除只读文件系统(Read-only files ystem)? failed !bh ? 挂载光盘?挂载usb?

root权限下 : 首先用umount /mnt/文件夹 卸载文件系统,必要时可以用umount -f(可能丢失数据)然后rm -rf /mnt/cdrom mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom  #/dev/cdrom 是个块设备. /mnt/cdrom 是个文件夹. mkdir  /mnt/usb moutn /dev/sdb4 /mnt/usb#每个系统的设备识别名可能不一样. 用fdisk -l 查看

解决linux写入ntfs盘时报错:只读文件系统

# 卸载已挂载的设备 sudo umount /dev/sda5 mount -o rw /run/***# ***为具体哪个盘 原文地址:https://www.cnblogs.com/Ai-Hen-Jiao-zhi/p/12248687.html

【恢复】Redo日志文件丢失的恢复

第一章 Redo文件丢失的恢复 1.1  online redolog file 丢失 联机Redo日志是Oracle数据库中比较核心的文件,当Redo日志文件异常之后,数据库就无法正常启动,而且有丢失据的风险,强烈建议在条件允许的情况下,对Redo日志进行多路镜像.需要注意的是,RMAN不能备份联机Redo日志文件.所以,联机Redo日志一旦出现故障,则只能进行清除日志了.清除日志文件即表明可以重用该文件. 1.1.1  数据库归档/非归档模式下inactive redo异常ORA-00316

重做日志损坏之后的处理

如果遇到没有备份,特别是重做日志文件损坏,可能数据库就打不开了.用户希望挽救一部分数据,如果备份可以进行数据库的不完全恢复,或者是直接清除日志.如果不行只能强制打开市局库.具体如下: ORACLE存在一个内部参数可以尝试恢复_allow_resetlogs_corruption.描述可以通过这个语句查询到. SELECT x.ksppinm NAME,y.ksppstvl VALUE,x.ksppdesc describ FROM SYS.X$ksppi x,SYS.x$Ksppcv y WHE