还是上次那个2662的故障库,又挂了,这个老库是windows系统的,年岁已久,怀疑确实有硬件问题了,这次如能修复,得赶紧把历史数据导出来,后续该扔就扔!
无法启动了:
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-00354: 损坏重做日志块标头
ORA-00353: 日志损坏接近块 2138585 更改 16671892799912 时间 05/21/2020 02:43:27
ORA-00312: 联机日志 4 线程 1: 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG'
查看alertlog如下
Fri May 29 15:48:22 2020 alter database open Beginning crash recovery of 1 threads parallel recovery started with 9 processes Started redo scan Incomplete read from log member 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG'. Trying next member. Incomplete read from log member 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG'. Trying next member. Fri May 29 15:48:35 2020 Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_ora_1280.trc: ORA-48132: 请求的文件锁正忙, [INCIDENT] [E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\lck\AM_1762783_4031814035.lck] ORA-00353: 日志损坏接近块 2138585 更改 16671892799912 时间 05/21/2020 02:43:27 ORA-00312: 联机日志 4 线程 1: 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG' Fri May 29 15:48:36 2020 Dumping diagnostic data in directory=[cdmp_20200529154836], requested by (instance=1, osid=1280), summary=[abnormal process termination]. Aborting crash recovery due to error 354 Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_ora_1280.trc: ORA-00354: 损坏重做日志块标头 ORA-00353: 日志损坏接近块 2138585 更改 16671892799912 时间 05/21/2020 02:43:27 ORA-00312: 联机日志 4 线程 1: 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG' Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_ora_1280.trc: ORA-00354: 损坏重做日志块标头 ORA-00353: 日志损坏接近块 2138585 更改 16671892799912 时间 05/21/2020 02:43:27 ORA-00312: 联机日志 4 线程 1: 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG' ORA-354 signalled during: alter database open... Fri May 29 15:49:06 2020 Incomplete read from log member 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG'. Trying next member. Incomplete read from log member 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG'. Trying next member. Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_m000_6176.trc: ORA-48132: requested file lock is busy, [INCIDENT] [E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\lck\AM_1762783_4031814035.lck] ORA-00353: log corruption near block 2140160 change 16671892799912 time 05/21/2020 02:43:27 ORA-00312: online log 4 thread 1: 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG' Fri May 29 15:49:12 2020 Dumping diagnostic data in directory=[cdmp_20200529154912], requested by (instance=1, osid=6176 (M000)), summary=[abnormal process termination].
为了排除48132错误,重启wydb数据库服务,open数据库,日志如下
SQL> alter database open; alter database open * 第 1 行出现错误: ORA-00354: 损坏重做日志块标头 ORA-00353: 日志损坏接近块 2138585 更改 16671892799912 时间 05/21/2020 02:43:27 ORA-00312: 联机日志 4 线程 1: 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG' ------->alertlog Fri May 29 16:14:06 2020 alter database open Beginning crash recovery of 1 threads parallel recovery started with 9 processes Started redo scan Incomplete read from log member 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG'. Trying next member. Incomplete read from log member 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG'. Trying next member. Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_ora_6000.trc (incident=260464): ORA-00353: 日志损坏接近块 2138585 更改 16671892799912 时间 05/21/2020 02:43:27 ORA-00312: 联机日志 4 线程 1: 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG' Incident details in: E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\incident\incdir_260464\wydb_ora_6000_i260464.trc Fri May 29 16:14:18 2020 Dumping diagnostic data in directory=[cdmp_20200529161418], requested by (instance=1, osid=6000), summary=[incident=260464]. Fri May 29 16:14:19 2020 Aborting crash recovery due to error 354 Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_ora_6000.trc: ORA-00354: 损坏重做日志块标头 ORA-00353: 日志损坏接近块 2138585 更改 16671892799912 时间 05/21/2020 02:43:27 ORA-00312: 联机日志 4 线程 1: 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG' Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_ora_6000.trc: ORA-00354: 损坏重做日志块标头 ORA-00353: 日志损坏接近块 2138585 更改 16671892799912 时间 05/21/2020 02:43:27 ORA-00312: 联机日志 4 线程 1: 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG' ORA-354 signalled during: alter database open... Fri May 29 16:14:44 2020 Sweep [inc][260464]: completed
决定resetlog,操作如下
alter system set "_allow_resetlogs_corruption"=TRUE scope=spfile; select file#, checkpoint_change# scn from v$datafile; 16,671,885,689,959 shutdown abort startup mount recover database until cancel; alter database open resetlogs; 时间很长,,,但是报错了 SQL> alter database open resetlogs; alter database open resetlogs * 第 1 行出现错误: ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00600: internal error code, arguments: [2663], [3881], [3117615201], [3881], [3124723478], [], [], [], [], [], [], [] 进程 ID: 3520 会话 ID: 2 序列号: 3
查看alertlog如下
Fri May 29 16:49:44 2020 alter database open resetlogs RESETLOGS is being done without consistancy checks. This may result in a corrupted database. The database should be recreated. RESETLOGS after incomplete recovery UNTIL CHANGE 16671885689959 Resetting resetlogs activation ID 1283227263 (0x4c7c7e7f) Fri May 29 19:04:24 2020 Warning: VKTM detected a time drift. Time drifts can result in an unexpected behavior such as time-outs. Please check trace file for more details. Fri May 29 21:55:57 2020 Warning: VKTM detected a time drift. Time drifts can result in an unexpected behavior such as time-outs. Please check trace file for more details. Sat May 30 00:38:31 2020 Setting recovery target incarnation to 3 Sat May 30 00:38:33 2020 Assigning activation ID 1284121787 (0x4c8a24bb) Thread 1 opened at log sequence 1 Current log# 4 seq# 1 mem# 0: E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG Successful open of redo thread 1 Sat May 30 00:38:35 2020 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Sat May 30 00:38:36 2020 SMON: enabling cache recovery Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_ora_3520.trc (incident=268387): ORA-00600: 内部错误代码, 参数: [2663], [3881], [3117615201], [3881], [3124723478], [], [], [], [], [], [], [] Incident details in: E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\incident\incdir_268387\wydb_ora_3520_i268387.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_ora_3520.trc: ORA-00600: 内部错误代码, 参数: [2663], [3881], [3117615201], [3881], [3124723478], [], [], [], [], [], [], [] Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_ora_3520.trc: ORA-00600: 内部错误代码, 参数: [2663], [3881], [3117615201], [3881], [3124723478], [], [], [], [], [], [], [] Error 600 happened during db open, shutting down database USER (ospid: 3520): terminating the instance due to error 600 Instance terminated by USER, pid = 3520 ORA-1092 signalled during: alter database open resetlogs... opiodr aborting process unknown ospid (3520) as a result of ORA-1092 Sat May 30 00:38:46 2020 ORA-1092 : opitsk aborting process
可见这次是遇见了2663错误,这是一个与2662类似的报错,采用类似的操作方法如下
--mount状态下查看scn值
SQL> select CHECKPOINT_CHANGE# from v$database;
16671885689963
SQL> select file#,CHECKPOINT_CHANGE# from v$datafile;
1 16671885689963
2 16671885689963
4 16671885689963
5 16671885689963
6 16671885689963
7 16671885689963
8 16671885689963
9 16671885689963
10 16671885689963
--计算推进的SCN数值
select 3881*power(2,32)+3124724000 scn from dual;
16671892799776
比 16671885689963 稍大,应该合适
--nomount状态下,创建controlfile
CREATE CONTROLFILE REUSE DATABASE "WYDB" RESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 10
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 4 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG' SIZE 2000M,
GROUP 5 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO05.LOG' SIZE 2000M,
GROUP 6 'E:\APP\ADMINROOT\ORADATA\WYDB\REDO06.LOG' SIZE 2000M
-- STANDBY LOGFILE
DATAFILE
'E:\APP\ADMINROOT\ORADATA\WYDB\SYSTEM01.DBF',
'E:\APP\ADMINROOT\ORADATA\WYDB\SYSAUX01.DBF',
'E:\APP\ADMINROOT\ORADATA\WYDB\UNDO01.DBF',
'E:\APP\ADMINROOT\ORADATA\WYDB\USERS01.DBF',
'E:\APP\ADMINROOT\ORADATA\WYDB\PM_LTE_TBS.DBF',
'E:\APP\ADMINROOT\ORADATA\WYDB\PM_GSM_TBS.DBF',
'E:\APP\ADMINROOT\ORADATA\WYDB\SYSAUX02.DBF',
'E:\APP\ADMINROOT\ORADATA\WYDB\SYSTEM02.DBF',
'E:\APP\ADMINROOT\ORADATA\WYDB\AOT_TAB.DBF'
;
--修改scn
oradebug setmypid
oradebug DUMPvar SGA kcsgscn
kcslf kcsgscn_ [149876FA0, 149876FD0) = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 49876C30 00000001
oradebug poke 0x149876FA0 8 16671892799776
BEFORE: [149876FA0, 149876FA8) = 00000000 00000000
AFTER: [149876FA0, 149876FA8) = BA3F8120 00000F29
oradebug DUMPvar SGA kcsgscn
kcslf kcsgscn_ [149876FA0, 149876FD0) = BA3F8120 00000F29 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 49876C30 00000001
alter database open resetlogs;
--16:41开始,这次比较快,5分钟就报错了
SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [2662], [3881], [3124724009], [3881], [3164245129], [41943344], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [2662], [3881], [3124724008], [3881], [3164245129], [41943344], [], [], [], [], [], []
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [3881], [3124724006], [3881], [3164245129], [41943344], [], [], [], [], [], []
进程 ID: 3224
会话 ID: 1378 序列号: 3
恰逢六一儿童节,windows记事本下竟然误操作覆盖了alertlog日志文件,还好,反正就是这个2662错误。
--启动到nomount状态,计算推进的SCN数值 select 3881*power(2,32)+3164247000 scn from dual; 16671932322776 --创建controlfile,内容同上次 oradebug setmypid oradebug DUMPvar SGA kcsgscn oradebug poke 0x149876FA0 8 16671932322776 alter database open resetlogs;
--这次打开数据库,hang住了,日志如下
Mon Jun 01 09:55:16 2020
alter database open resetlogs
Mon Jun 01 09:56:44 2020
RESETLOGS is being done without consistancy checks. This may result
in a corrupted database. The database should be recreated.
Mon Jun 01 09:57:05 2020
RESETLOGS after incomplete recovery UNTIL CHANGE 16671892799777
Mon Jun 01 09:58:47 2020
Clearing online redo logfile 4 E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG
Mon Jun 01 09:58:57 2020
Clearing online log 4 of thread 1 sequence number 0
Mon Jun 01 10:30:37 2020
Clearing online redo logfile 4 complete
Online log E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG: Thread 1 Group 4 was previously cleared
Online log E:\APP\ADMINROOT\ORADATA\WYDB\REDO05.LOG: Thread 1 Group 5 was previously cleared
Online log E:\APP\ADMINROOT\ORADATA\WYDB\REDO06.LOG: Thread 1 Group 6 was previously cleared
Mon Jun 01 10:30:59 2020
Setting recovery target incarnation to 2
Mon Jun 01 10:31:33 2020
Initializing SCN for created control file
Database SCN compatibility initialized to 3
Mon Jun 01 10:32:03 2020
Assigning activation ID 1284286079 (0x4c8ca67f)
Thread 1 opened at log sequence 1
Current log# 4 seq# 1 mem# 0: E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG
Successful open of redo thread 1
Mon Jun 01 10:32:12 2020
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Mon Jun 01 10:32:16 2020
SMON: enabling cache recovery
Mon Jun 01 10:32:49 2020
[2964] Successfully onlined Undo Tablespace 5.
Undo initialization finished serial:0 start:1364258804 end:1364267618 diff:8814 (88 seconds)
Dictionary check beginning
Mon Jun 01 10:33:14 2020
Tablespace 'TEMP3' #10 found in data dictionary,
but not in the controlfile. Adding to controlfile.
Mon Jun 01 10:34:32 2020
Dictionary check complete
Verifying file header compatibility for 11g tablespace encryption..
Verifying 11g file header compatibility for tablespace encryption completed
Mon Jun 01 10:34:33 2020
SMON: enabling tx recovery
*********************************************************************
WARNING: The following temporary tablespaces contain no files.
This condition can occur when a backup controlfile has
been restored. It may be necessary to add files to these
tablespaces. That can be done using the SQL statement:
ALTER TABLESPACE ADD TEMPFILE
Alternatively, if these temporary tablespaces are no longer
needed, then they can be dropped.
Empty temporary tablespace: TEMP3
*********************************************************************
Updating character set in controlfile to ZHS16GBK
SMON: Restarting fast_start parallel rollback
Mon Jun 01 10:34:36 2020
Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_p000_4428.trc (incident=300395):
ORA-00600: internal error code, arguments: [4198], [], [], [], [], [], [], [], [], [], [], []
Incident details in: E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\incident\incdir_300395\wydb_p000_4428_i300395.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Mon Jun 01 10:34:47 2020
No Resource Manager plan active
Mon Jun 01 10:35:11 2020
**********************************************************
WARNING: Files may exists in db_recovery_file_dest
that are not known to the database. Use the RMAN command
CATALOG RECOVERY AREA to re-catalog any such files.
If files cannot be cataloged, then manually delete them
using OS command.
One of the following events caused this:
1. A backup controlfile was restored.
2. A standby controlfile was restored.
3. The controlfile was re-created.
4. db_recovery_file_dest had previously been enabled and
then disabled.
**********************************************************
replication_dependency_tracking turned off (no async multimaster replication found)
Mon Jun 01 10:35:23 2020
Dumping diagnostic data in directory=[cdmp_20200601103523], requested by (instance=1, osid=4428 (P000)), summary=[incident=300395].
Mon Jun 01 10:35:38 2020
Block recovery from logseq 1, block 3 to scn 16671932322800
Recovery of Online Redo Log: Thread 1 Group 4 Seq 1 Reading mem 0
Mem# 0: E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG
Mon Jun 01 10:35:48 2020
Starting background process QMNC
Mon Jun 01 10:35:48 2020
QMNC started with pid=41, OS id=2316
Block recovery completed at rba 1.20.16, scn 3881.3164247025
Block recovery from logseq 1, block 53 to scn 16671932322858
Mon Jun 01 10:35:59 2020
Recovery of Online Redo Log: Thread 1 Group 4 Seq 1 Reading mem 0
Mem# 0: E:\APP\ADMINROOT\ORADATA\WYDB\REDO04.LOG
Mon Jun 01 10:36:29 2020
Block recovery completed at rba 1.54.16, scn 3881.3164247083
Mon Jun 01 10:36:38 2020
Sweep [inc][300395]: completed
Sweep [inc2][300395]: completed
Mon Jun 01 10:36:38 2020
LOGSTDBY: Validating controlfile with logical metadata
LOGSTDBY: Validation complete
Mon Jun 01 10:36:38 2020
Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_smon_6580.trc (incident=300339):
ORA-00600: internal error code, arguments: [4198], [], [], [], [], [], [], [], [], [], [], []
Incident details in: E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\incident\incdir_300339\wydb_smon_6580_i300339.trc
Mon Jun 01 10:36:39 2020
Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_mmon_5520.trc (incident=300355):
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
Incident details in: E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\incident\incdir_300355\wydb_mmon_5520_i300355.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Mon Jun 01 10:36:40 2020
Dumping diagnostic data in directory=[cdmp_20200601103640], requested by (instance=1, osid=6580 (SMON)), summary=[incident=300339].
Mon Jun 01 10:36:51 2020
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
SMON: Parallel transaction recovery slave got internal error
SMON: Downgrading transaction recovery to serial
Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_smon_6580.trc (incident=300340):
ORA-00600: internal error code, arguments: [4137], [1.9.1621727], [0], [0], [], [], [], [], [], [], [], []
Incident details in: E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\incident\incdir_300340\wydb_smon_6580_i300340.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Mon Jun 01 10:36:53 2020
Dumping diagnostic data in directory=[cdmp_20200601103653], requested by (instance=1, osid=6580 (SMON)), summary=[incident=300340].
Mon Jun 01 10:38:54 2020
ORACLE Instance wydb (pid = 13) - Error 600 encountered while recovering transaction (1, 9).
Errors in file E:\APP\ADMINROOT\diag\rdbms\wydb\wydb\trace\wydb_smon_6580.trc:
ORA-00600: internal error code, arguments: [4137], [1.9.1621727], [0], [0], [], [], [], [], [], [], [], []
Mon Jun 01 10:38:56 2020
Dumping diagnostic data in directory=[cdmp_20200601103856], requested by (instance=1, osid=6580 (SMON)), summary=[abnormal process termination].
Mon Jun 01 10:44:45 2020
Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0x2905AE00] [PC:0xFABC18, kgegpa()+38]
Dump file e:\app\adminroot\diag\rdbms\wydb\wydb\trace\alert_wydb.log
Mon Jun 01 10:45:21 2020
ORACLE V11.2.0.4.0 - 64bit Production vsnsta=0
vsnsql=16 vsnxtr=3
Windows NT Version V6.1 Service Pack 1
CPU : 10 - type 8664, 10 Physical Cores
Process Affinity : 0x0x0000000000000000
Memory (Avail/Total): Ph:83157M/131071M, Ph+PgF:214478M/262141M
VM name : VMWare Version (6)
Mon Jun 01 10:45:21 2020
Errors in file
ORA-07445: caught exception [ACCESS_VIOLATION] at [kgegpa()+38] [0x0000000000FABC18]
Mon Jun 01 10:49:47 2020
Dumping diagnostic data in directory=[cdmp_20200601104947], requested by (instance=1, osid=5520 (MMON)), summary=[incident=300355].
Mon Jun 01 10:55:23 2020
Process 0x0000000B10D4D800 appears to be hung while dumping
Current time = 136562830, process death time = 136502581 interval = 60000
Attempting to kill process 0x0000000B10D4D800 with OS pid = 2964
Mon Jun 01 10:55:45 2020
Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0x5B19A4D4] [PC:0xFABC18, kgegpa()+38]
Mon Jun 01 10:55:45 2020
Errors in file E:\app\adminroot\diag\rdbms\wydb\wydb\cdump\wydbcore.log
ORA-07445: caught exception [ACCESS_VIOLATION] at [kgegpa()+38] [0x0000000000FABC18]
Mon Jun 01 11:03:01 2020
Warning: skgmdetach - Unable to register unmap, error 4210
--明天继续处理
hung住了,无法再次登入管理,决定重启主机,顺便看下主机重启后是否变快了。
文章评论