您的位置:首页 > 其它

因为存储离线造成的ORA-600(2662)错误的解决

2014-08-18 17:43 316 查看
前两天客户的存储突然离线,后造成数据库无法打开,采用隐含参数的方法打开又碰到ORA-600错误,最后采用设置EVENTS的方式解决。

产生问题的根源在于存储离线后,数据库异常down,造成控制文件的SCN与数据文件头的SCN不一致,数据库无备份,无归档日志,且重做日志已被覆盖,只能尝试

做不完全恢复,丢失数据必然,不过还好,5分钟左右的数据是客户允许的范围内

尝试恢复数据库:

SQL> CONN /@YTK AS SYSDBA

已连接到空闲例程。

SQL> STARTUP MOUNT

ORACLE 例程已经启动。

Total System Global Area 251658240 bytes

Fixed Size 1290012 bytes

Variable Size 167772388 bytes

Database Buffers 75497472 bytes

Redo Buffers 7098368 bytes

数据库装载完毕。

SQL> RECOVER DATABASE UNTIL CANCEL;

ORA-00279: 更改 5706539056 (在 12/11/2007 15:49:26 生成) 对于线程 1 是必需的

ORA-00289: 建议: E:\ORACLE\ORADATA\YTK\ARCHIVELOG\ARC01333_0577472831.001

ORA-00280: 更改 5706539056 (用于线程 1) 在序列 #1333 中

指定日志: {<RET>=suggested | filename | AUTO | CANCEL}

CANCEL

ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误

ORA-01194: 文件 1 需要更多的恢复来保持一致性

ORA-01110: 数据文件 1:

'E:\ORACLE\ORADATA\YTK\DATAFILE\O1_MF_SYSTEM_1TDY2CXS_.DBF'

ORA-01112: 未启动介质恢复

看来数据库已经无法通过正常方式启动了。这时候最好的办法是通过数据库的备份来进行恢复,通过不完全恢复来恢复数据库。

因为没有数据库的备份,那么就只能通过非常规的方式打开了。

由于丢失在线日志,所以只能通过添加隐含参数的方式:

SQL> ALTER SYSTEM SET "_allow_resetlogs_corruption" = TRUE SCOPE = SPFILE;

系统已更改。

SQL> SHUTDOWN IMMEDIATE

ORA-01109: 数据库未打开

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> STARTUP MOUNT

ORACLE 例程已经启动。

Total System Global Area 251658240 bytes

Fixed Size 1290012 bytes

Variable Size 171966692 bytes

Database Buffers 71303168 bytes

Redo Buffers 7098368 bytes

数据库装载完毕。

SQL> RECOVER DATABASE UNTIL CANCEL

ORA-00279: 更改 5706539056 (在 12/11/2007 15:49:26 生成) 对于线程 1 是必需的

ORA-00289: 建议: E:\ORACLE\ORADATA\YTK\ARCHIVELOG\ARC01333_0577472831.001

ORA-00280: 更改 5706539056 (用于线程 1) 在序列 #1333 中

指定日志: {<RET>=suggested | filename | AUTO | CANCEL}

CANCEL

ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误

ORA-01194: 文件 1 需要更多的恢复来保持一致性

ORA-01110: 数据文件 1:

'E:\ORACLE\ORADATA\YTK\DATAFILE\O1_MF_SYSTEM_1TDY2CXS_.DBF'

ORA-01112: 未启动介质恢复

SQL> ALTER DATABASE OPEN RESETLOGS;

ALTER DATABASE OPEN RESETLOGS

*

第 1 行出现错误:

ORA-01092: ORACLE 实例终止。强制断开连接

检查alert文件:

Thu Aug 14 17:28:28 2014

Media Recovery Start

WARNING! Recovering data file 461 from a fuzzy backup. It might be an online

backup taken without entering the begin backup command.

WARNING! Recovering data file 462 from a fuzzy backup. It might be an online

backup taken without entering the begin backup command.

parallel recovery started with 11 processes

Thu Aug 14 17:28:56 2014

ORA-279 signalled during: ALTER DATABASE RECOVER database until cancel ...

Thu Aug 14 17:29:00 2014

ALTER DATABASE RECOVER CANCEL

Thu Aug 14 17:29:08 2014

ORA-1547 signalled during: ALTER DATABASE RECOVER CANCEL ...

Thu Aug 14 17:29:08 2014

ALTER DATABASE RECOVER CANCEL

ORA-1112 signalled during: ALTER DATABASE RECOVER CANCEL ...

Thu Aug 14 17:29:55 2014

alter database open resetlogs

Thu Aug 14 17:29:57 2014

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 13633909877

Resetting resetlogs activation ID 3385729878 (0xc9ce2356)

db_recovery_file_dest_size of 2048 MB is 8.14% used. This is a

user-specified limit on the amount of space that will be used by this

database for recovery-related files, and does not reflect the amount of

space available in the underlying filesystem or ASM diskgroup.

Thu Aug 14 17:30:16 2014

Setting recovery target incarnation to 10

Thu Aug 14 17:30:21 2014

Assigning activation ID 3403666349 (0xcadfd3ad)

Thread 1 opened at log sequence 1

Current log# 2 seq# 1 mem# 0: E:\ORACLE\ORADATA\PCWEB\PCWEB\ONLINELOG\O1_MF_2_92FBSFWS_.LOG

Current log# 2 seq# 1 mem# 1: E:\ORACLE\FLASH_RECOVERY_AREA\PCWEB\ONLINELOG\O1_MF_2_92FBSG2G_.LOG

Successful open of redo thread 1

Thu Aug 14 17:30:22 2014

MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set

Thu Aug 14 17:30:22 2014

SMON: enabling cache recovery

Thu Aug 14 17:30:22 2014

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_4292.trc:

ORA-00600: 内部错误代码, 参数: [2662], [3], [749007997], [3], [749148431], [2432696345], [], []

Thu Aug 14 17:30:26 2014

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_4292.trc:

ORA-00600: 内部错误代码, 参数: [2662], [3], [749007997], [3], [749148431], [2432696345], [], []

Thu Aug 14 17:30:26 2014

Error 600 happened during db open, shutting down database

USER: terminating instance due to error 600

Thu Aug 14 17:30:26 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_p010_2164.trc:

ORA-00600: 内部错误代码, 参数: [15784], [600], [], [], [], [], [], []

ORA-00600: 内部错误代码, 参数: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:27 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_dbw0_3220.trc:

ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:27 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_p004_2312.trc:

ORA-00600: 内部错误代码, 参数: [15784], [600], [], [], [], [], [], []

ORA-00600: 内部错误代码, 参数: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:27 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_p000_4068.trc:

ORA-00600: 内部错误代码, 参数: [15784], [600], [], [], [], [], [], []

ORA-00600: 内部错误代码, 参数: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:27 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_p005_2200.trc:

ORA-00600: 内部错误代码, 参数: [15784], [600], [], [], [], [], [], []

ORA-00600: 内部错误代码, 参数: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:27 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_p006_1600.trc:

ORA-00600: 内部错误代码, 参数: [15784], [600], [], [], [], [], [], []

ORA-00600: 内部错误代码, 参数: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:27 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_p001_5144.trc:

ORA-00600: 内部错误代码, 参数: [15784], [600], [], [], [], [], [], []

ORA-00600: 内部错误代码, 参数: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:27 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_p009_5512.trc:

ORA-00600: 内部错误代码, 参数: [15784], [600], [], [], [], [], [], []

ORA-00600: 内部错误代码, 参数: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:27 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_p002_5764.trc:

ORA-00600: 内部错误代码, 参数: [15784], [600], [], [], [], [], [], []

ORA-00600: 内部错误代码, 参数: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:27 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_p008_2004.trc:

ORA-00600: 内部错误代码, 参数: [15784], [600], [], [], [], [], [], []

ORA-00600: 内部错误代码, 参数: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:28 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_psp0_5904.trc:

ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:28 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_dbw1_4652.trc:

ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:28 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_mman_5792.trc:

ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:28 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_pmon_4136.trc:

ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:28 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_lgwr_5216.trc:

ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:28 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_p003_5140.trc:

ORA-00600: 内部错误代码, 参数: [15784], [600], [], [], [], [], [], []

ORA-00600: 内部错误代码, 参数: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:28 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_p007_4228.trc:

ORA-00600: 内部错误代码, 参数: [15784], [600], [], [], [], [], [], []

ORA-00600: 内部错误代码, 参数: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:29 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_ckpt_6056.trc:

ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:33 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_reco_3636.trc:

ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:34 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_smon_5788.trc:

ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Thu Aug 14 17:30:38 2014

Instance terminated by USER, pid = 4292

ORA-1092 signalled during: alter database open resetlogs...

Thu Aug 14 17:35:38 2014

USER: terminating instance due to error 1092

Instance terminated by USER, pid = 4292

现在出现了前文提到的ORA-600[2662]错误。

查询metalink,Oracle给出了两种解决方法,如果600的2662错误中第三个参数和第五个参数差别很小,那么就可以通过多次打开关闭数据库实例的方式来增加SCN的值。

不过这种方式每次启动只SCN只增加1,重启三次系统:

Thu Aug 14 17:30:22 2014

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_4292.trc:

ORA-00600: 内部错误代码, 参数: [2662], [3], [749007800], [3], [749148431], [2432696345], [], []

而目前的SCN和期望的SCN还相差140000多,显然通过重启的方法不现实。

Oracle给出的第二种方式是通过设置EVENTS来提高Oracle的CURRENT SCN,这个方法的前提就是设置_allow_resetlogs_corruption隐含参数为true:

SQL> CONN /@YTK AS SYSDBA

已连接到空闲例程。

SQL> STARTUP MOUNT

ORACLE 例程已经启动。

Total System Global Area 251658240 bytes

Fixed Size 1290012 bytes

Variable Size 209715428 bytes

Database Buffers 33554432 bytes

Redo Buffers 7098368 bytes

数据库装载完毕。

SQL> ALTER SESSION SET EVENTS '10015 TRACE NAME ADJUST_SCN LEVEL 1';

(LEVLE 的数值,不管是取1,5,10,20,增量也就2W多)

Fri Aug 15 09:54:31 2014 -------1

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_4376.trc:

ORA-00603: ORACLE server session terminated by fatal error

ORA-00600: internal error code, arguments: [2662], [3], [749028012], [3], [749148431], [2432696345], [], []

Fri Aug 15 10:05:55 2014 -----5

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_5364.trc:

ORA-00603: ORACLE server session terminated by fatal error

ORA-00600: internal error code, arguments: [2662], [3], [749048022], [3], [749148431], [2432696345], [], []

Fri Aug 15 10:10:59 2014 -----20

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_4336.trc:

ORA-00603: ORACLE server session terminated by fatal error

ORA-00600: internal error code, arguments: [2662], [3], [749068032], [3], [749148431], [2432696345], [], []

Fri Aug 15 10:14:20 2014 ------1

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_5264.trc:

ORA-00603: ORACLE server session terminated by fatal error

ORA-00600: internal error code, arguments: [2662], [3], [749088042], [3], [749148431], [2432696345], [], []

Fri Aug 15 10:17:51 2014 ------1

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_5164.trc:

ORA-00603: ORACLE server session terminated by fatal error

ORA-00600: internal error code, arguments: [2662], [3], [749108052], [3], [749148431], [2432696345], [], []

Fri Aug 15 10:20:05 2014 ------1

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_1548.trc:

ORA-00603: ORACLE server session terminated by fatal error

ORA-00600: internal error code, arguments: [2662], [3], [749128062], [3], [749148431], [2432696345], [], []

Fri Aug 15 10:21:55 2014 ------1

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_3656.trc:

ORA-00603: ORACLE server session terminated by fatal error

ORA-00600: internal error code, arguments: [2662], [3], [749148072], [3], [749148431], [2432696345], [], []

SQL> ALTER SESSION SET EVENTS '10015 TRACE NAME ADJUST_SCN LEVEL 1';

会话已更改。

多次递增SCN值后

SQL> ALTER DATABASE OPEN;

ERROR:

ORA-03113: 通信通道的文件结束

错误和刚才已经有区别了,看来有打开的希望,检查alert文件发现:

Fri Aug 15 10:23:10 2014

Adjusting the default value of parameter parallel_max_servers

from 240 to 135 due to the value of parameter processes (150)

Fri Aug 15 10:23:10 2014

Starting ORACLE instance (normal)

LICENSE_MAX_SESSION = 0

LICENSE_SESSIONS_WARNING = 0

Picked latch-free SCN scheme 3

Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST

Autotune of undo retention is turned on.

IMODE=BR

ILAT =18

LICENSE_MAX_USERS = 0

SYS auditing is disabled

ksdpec: called for event 13740 prior to event group initialization

Starting up ORACLE RDBMS Version: 10.2.0.1.0.

System parameters with non-default values:

processes = 150

__shared_pool_size = 301989888

__large_pool_size = 16777216

__java_pool_size = 16777216

__streams_pool_size = 0

nls_language = SIMPLIFIED CHINESE

nls_territory = CHINA

sga_target = 2550136832

control_files = E:\ORACLE\ORADATA\PCWEB\PCWEB\CONTROLFILE\O1_MF_92FBSD4W_.CTL, E:\ORACLE\FLASH_RECOVERY_AREA\PCWEB\CONTROLFILE\O1_MF_92FBSD5V_.CTL

db_block_size = 8192

__db_cache_size = 2197815296

compatible = 10.2.0.1.0

db_files = 1000

db_file_multiblock_read_count= 32

db_create_file_dest = E:\oracle\oradata\pcweb

db_recovery_file_dest = E:\oracle/flash_recovery_area

db_recovery_file_dest_size= 2147483648

_allow_resetlogs_corruption= TRUE

undo_management = AUTO

undo_tablespace = UNDOTBS1

remote_login_passwordfile= EXCLUSIVE

db_domain =

dispatchers = (PROTOCOL=TCP) (SERVICE=pcwebXDB)

job_queue_processes = 10

audit_file_dest = E:\ORACLE\ADMIN\PCWEB\ADUMP

background_dump_dest = E:\ORACLE\ADMIN\PCWEB\BDUMP

user_dump_dest = E:\ORACLE\ADMIN\PCWEB\UDUMP

core_dump_dest = E:\ORACLE\ADMIN\PCWEB\CDUMP

db_name = pcweb

open_cursors = 300

star_transformation_enabled= TRUE

pga_aggregate_target = 847249408

PMON started with pid=2, OS id=4912

PSP0 started with pid=3, OS id=5560

MMAN started with pid=4, OS id=5024

DBW0 started with pid=5, OS id=2036

DBW1 started with pid=6, OS id=2004

LGWR started with pid=7, OS id=5920

CKPT started with pid=8, OS id=1600

SMON started with pid=9, OS id=3096

RECO started with pid=10, OS id=380

CJQ0 started with pid=11, OS id=3560

MMON started with pid=12, OS id=2276

Fri Aug 15 10:23:11 2014

starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...

MMNL started with pid=13, OS id=4844

Fri Aug 15 10:23:11 2014

starting up 1 shared server(s) ...

Fri Aug 15 10:23:11 2014

ALTER DATABASE MOUNT

Fri Aug 15 10:23:15 2014

Setting recovery target incarnation to 11

Fri Aug 15 10:23:15 2014

Successful mount of redo thread 1, with mount id 3403722127

Fri Aug 15 10:23:15 2014

Database mounted in Exclusive Mode

Completed: ALTER DATABASE MOUNT

Fri Aug 15 10:23:21 2014

alter database open

Fri Aug 15 10:23:24 2014

Beginning crash recovery of 1 threads

parallel recovery started with 11 processes

Fri Aug 15 10:23:26 2014

Started redo scan

Fri Aug 15 10:23:26 2014

Completed redo scan

5 redo blocks read, 4 data blocks need recovery

Fri Aug 15 10:23:26 2014

Started redo application at

Thread 1: logseq 8, block 3, scn 13634049951

Fri Aug 15 10:23:27 2014

Recovery of Online Redo Log: Thread 1 Group 1 Seq 8 Reading mem 0

Mem# 0 errs 0: E:\ORACLE\ORADATA\PCWEB\PCWEB\ONLINELOG\O1_MF_1_92FBSFD6_.LOG

Mem# 1 errs 0: E:\ORACLE\FLASH_RECOVERY_AREA\PCWEB\ONLINELOG\O1_MF_1_92FBSFK2_.LOG

Fri Aug 15 10:23:27 2014

Completed redo application

Fri Aug 15 10:23:27 2014

Completed crash recovery at

Thread 1: logseq 8, block 8, scn 13634069957

4 data blocks read, 4 data blocks written, 5 redo blocks read

Fri Aug 15 10:23:36 2014

Thread 1 advanced to log sequence 9

Thread 1 opened at log sequence 9

Current log# 3 seq# 9 mem# 0: E:\ORACLE\ORADATA\PCWEB\PCWEB\ONLINELOG\O1_MF_3_92FBSG98_.LOG

Current log# 3 seq# 9 mem# 1: E:\ORACLE\FLASH_RECOVERY_AREA\PCWEB\ONLINELOG\O1_MF_3_92FBSGH4_.LOG

Successful open of redo thread 1

Fri Aug 15 10:23:37 2014

MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set

Fri Aug 15 10:23:37 2014

SMON: enabling cache recovery

Fri Aug 15 10:23:37 2014

Successfully onlined Undo Tablespace 1.

Dictionary check beginning

Fri Aug 15 10:24:07 2014

Dictionary check complete

Fri Aug 15 10:24:07 2014

SMON: enabling tx recovery

Fri Aug 15 10:24:09 2014

Database Characterset is ZHS16GBK

Fri Aug 15 10:24:15 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_smon_3096.trc:

ORA-00600: ??????, ??: [4137], [], [], [], [], [], [], []

Fri Aug 15 10:24:18 2014

ORACLE Instance pcweb (pid = 9) - Error 600 encountered while recovering transaction (16, 25).

Fri Aug 15 10:24:18 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_smon_3096.trc:

ORA-00600: ??????, ??: [4137], [], [], [], [], [], [], []

Fri Aug 15 10:24:20 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_smon_3096.trc:

ORA-00600: ??????, ??: [4137], [], [], [], [], [], [], []

ORACLE Instance pcweb (pid = 9) - Error 600 encountered while recovering transaction (24, 25).

Fri Aug 15 10:24:22 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_smon_3096.trc:

ORA-00600: ??????, ??: [4137], [], [], [], [], [], [], []

Fri Aug 15 10:24:24 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_smon_3096.trc:

ORA-00600: ??????, ??: [4137], [], [], [], [], [], [], []

ORACLE Instance pcweb (pid = 9) - Error 600 encountered while recovering transaction (25, 20).

Fri Aug 15 10:24:26 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_smon_3096.trc:

ORA-00600: ??????, ??: [4137], [], [], [], [], [], [], []

Fri Aug 15 10:24:43 2014

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_2268.trc:

ORA-00600: 内部错误代码, 参数: [4194], [60], [26], [], [], [], [], []

Fri Aug 15 10:24:44 2014

DEBUG: Replaying xcb 0xc78900d0, pmd 0xc79154b0 for failed op 8

Doing block recovery for file 580 block 133507

No block recovery was needed

Fri Aug 15 10:25:09 2014

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_2268.trc:

ORA-00600: 内部错误代码, 参数: [4194], [60], [26], [], [], [], [], []

ORA-00600: 内部错误代码, 参数: [4194], [60], [26], [], [], [], [], []

Fri Aug 15 10:25:10 2014

DEBUG: Replaying xcb 0xc78900d0, pmd 0xc79154b0 for failed op 8

Doing block recovery for file 580 block 133507

No block recovery was needed

Fri Aug 15 10:25:10 2014

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_2268.trc:

ORA-00600: 内部错误代码, 参数: [4194], [60], [26], [], [], [], [], []

ORA-00600: 内部错误代码, 参数: [4194], [60], [26], [], [], [], [], []

Fri Aug 15 10:25:12 2014

Errors in file e:\oracle\admin\pcweb\udump\pcweb_ora_2268.trc:

ORA-00603: ORACLE server session terminated by fatal error

ORA-00600: internal error code, arguments: [4194], [60], [26], [], [], [], [], []

ORA-00600: internal error code, arguments: [4194], [60], [26], [], [], [], [], []

Fri Aug 15 10:25:37 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_smon_3096.trc:

ORA-00600: 内部错误代码, 参数: [4194], [60], [26], [], [], [], [], []

Fri Aug 15 10:25:38 2014

Fatal internal error happened while SMON was doing active transaction recovery.

Fri Aug 15 10:25:38 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_smon_3096.trc:

ORA-00600: 内部错误代码, 参数: [4194], [60], [26], [], [], [], [], []

SMON: terminating instance due to error 474

Fri Aug 15 10:25:39 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_pmon_4912.trc:

ORA-00474: SMON 进程因错误而终止

Fri Aug 15 10:25:39 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_ckpt_1600.trc:

ORA-00474: SMON 进程因错误而终止

Fri Aug 15 10:25:40 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_reco_380.trc:

ORA-00474: SMON 进程因错误而终止

Fri Aug 15 10:25:40 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_lgwr_5920.trc:

ORA-00474: SMON 进程因错误而终止

Fri Aug 15 10:25:43 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_dbw1_2004.trc:

ORA-00474: SMON 进程因错误而终止

Fri Aug 15 10:25:43 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_dbw0_2036.trc:

ORA-00474: SMON 进程因错误而终止

Fri Aug 15 10:25:43 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_mman_5024.trc:

ORA-00474: SMON 进程因错误而终止

Fri Aug 15 10:25:44 2014

Errors in file e:\oracle\admin\pcweb\bdump\pcweb_psp0_5560.trc:

ORA-00474: SMON 进程因错误而终止

Instance terminated by SMON, pid = 3096

接下来是因为一致性被破坏而出现的ORA-600 4194数据库内部错误,这与UNDO回滚有关。

最后数据库因为4914错误实例崩溃。通过内部参数强制打开数据库,就破坏了数据库的一致性,不可避免地会遇到一系列的内部错误。

ORA-600 [4194]错误的官方解释是:“Undo Record Number Mismatch While Adding Undo Record”,当数据库通过REDO恢复来增加UNDO记录时,发现UNDO记录的号码不匹配,也就是出现了不一致。

这可以通过重建UNDO表空间来解决。设置如下初始化参数。

(1)用spfile创建pfile,然后修改参数
#*.undo_tablespace='UNDOTBS1'
#*.undo_management='AUTO'

*.undo_management='MANUAL'
*.rollback_segments='SYSTEM'

(2)用修改后的pfile,启动DB

SQL> STARTUP pfile='E:\oracle\db\dbs\pfile20140814.ora'

ORACLE 例程已经启动。

Total System Global Area 251658240 bytes

Fixed Size 1290012 bytes

Variable Size 222298340 bytes

Database Buffers 20971520 bytes

Redo Buffers 7098368 bytes

数据库装载完毕。

(3)删除原来的UNDO表空间进行重建

SQL> drop tablespace undotbs1 including contents and datafiles;

SQL> create undo tablespace undotbs1 datafile 'E:\oracle\oradata\pcweb\UNDOTBS1_20G_01.DBF' size 20g autoextend off;

(4)关闭数据库,修改pfile参数,然后用新的pfile创建spfile,在正常启动数据库

*.undo_tablespace='UNDOTBS1'

*.undo_management='AUTO'

#*.undo_management='MANUAL'

#*.rollback_segments='SYSTEM'

SQL> RECOVER DATABASE UNTIL CANCEL

完成介质恢复。

SQL> ALTER DATABASE OPEN RESETLOGS;

数据库已更改。

数据库终于打开。下面要做的就是去掉隐含参数,再次重启,验证是否可以启动。

SQL> ALTER SYSTEM RESET "_allow_resetlogs_corruption" SCOPE = SPFILE SID = '*';

系统已更改。

SQL> SHUTDOWN IMMEDIATE

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> STARTUP

ORACLE 例程已经启动。

Total System Global Area 251658240 bytes

Fixed Size 1290012 bytes

Variable Size 218104036 bytes

Database Buffers 25165824 bytes

Redo Buffers 7098368 bytes

数据库装载完毕。

数据库已经打开。

数据库已经正常打开,但是由于使用_allow_resetlogs_corruption方式打开,会造成数据的丢失,且数据库的状态不一致。因此,这种情况下Oracle建议通过EXP方式导出数据库。重建新数据库后,再导入。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: