由于机房断电(停电后UPS电都被放光了),导致数据库错误了,在网上搜寻了很久也未果,特来CSDN请各路神仙大侠们搭救我,不甚感激啊!具体情况如下:服务器操作系统:Win2000,数据库版本 Oracle 8i (8.1.6)
SID:WDFORA客户端连接报错:“不能连接数据库,数据库错误ORA-01092:ORA例程终止。强行断开连接”。服务器ALRT文件内容:(截取了2段内容有差异的,方便对比)
Dump file D:\Oracle\admin\WDFORA\bdump\wdforaALRT.LOG
Sun Sep 27 08:20:38 2009
ORACLE V8.1.6.0.0 - Production vsnsta=0
vsnsql=e vsnxtr=3
Windows 2000 Version 5.0 Service Pack 2, CPU type 586
Starting up ORACLE RDBMS Version: 8.1.6.0.0.
System parameters with non-default values:
processes = 100
shared_pool_size = 52428800
large_pool_size = 614400
java_pool_size = 20971520
control_files = D:\Oracle\oradata\WDFORA\control01.ctl, D:\Oracle\oradata\WDFORA\control02.ctl, D:\Oracle\oradata\WDFORA\control03.ctl
db_block_buffers = 19200
db_block_size = 8192
compatible = 8.1.0
log_buffer = 32768
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
db_files = 1024
db_file_multiblock_read_count= 8
max_enabled_roles = 30
remote_login_passwordfile= EXCLUSIVE
global_names = TRUE
distributed_transactions = 500
instance_name = WDFORA
service_names = WDFORA
mts_dispatchers = (PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)
open_links = 4
sort_area_size = 65536
sort_area_retained_size = 65536
db_name = WDFORA
open_cursors = 100
os_authent_prefix =
job_queue_processes = 4
job_queue_interval = 10
parallel_max_servers = 5
background_dump_dest = D:\Oracle\admin\WDFORA\bdump
user_dump_dest = D:\Oracle\admin\WDFORA\udump
max_dump_file_size = 10240
oracle_trace_collection_name=
PMON started with pid=2
DBW0 started with pid=3
CKPT started with pid=5
LGWR started with pid=4
SMON started with pid=6
RECO started with pid=7
SNP0 started with pid=8
SNP1 started with pid=9
SNP2 started with pid=10
SNP3 started with pid=11
Sun Sep 27 08:20:41 2009
starting up 1 shared server(s) ...
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
Sun Sep 27 08:20:43 2009
alter database mount exclusive
Sun Sep 27 08:20:50 2009
Successful mount of redo thread 1, with mount id 1575646498.
Sun Sep 27 08:21:16 2009
Database mounted in Exclusive Mode.
Completed: alter database mount exclusive
Sun Sep 27 08:21:16 2009
alter database open
Beginning crash recovery of 1 threads
Sun Sep 27 08:21:17 2009
Thread recovery: start rolling forward thread 1
Recovery of Online Redo Log: Thread 1 Group 3 Seq 592191 Reading mem 0
Mem# 0 errs 0: D:\ORACLE\ORADATA\WDFORA\REDO01.LOG
Sun Sep 27 08:21:18 2009
Thread recovery: finish rolling forward thread 1
Thread recovery: 18 data blocks read, 6 data blocks written, 3 redo blocks read
Crash recovery completed successfully
Sun Sep 27 08:21:22 2009
Thread 1 advanced to log sequence 592192
Thread 1 opened at log sequence 592192
Current log# 1 seq# 592192 mem# 0: D:\ORACLE\ORADATA\WDFORA\REDO03.LOG
Successful open of redo thread 1.
Sun Sep 27 08:21:23 2009
SMON: enabling cache recovery
SMON: enabling tx recovery
Sun Sep 27 08:21:41 2009
Completed: alter database open
Sun Sep 27 09:12:07 2009
Thread 1 advanced to log sequence 592193
Current log# 2 seq# 592193 mem# 0: D:\ORACLE\ORADATA\WDFORA\REDO02.LOG
Dump file D:\Oracle\admin\WDFORA\bdump\wdforaALRT.LOG
Sun Sep 27 09:22:57 2009
ORACLE V8.1.6.0.0 - Production vsnsta=0
vsnsql=e vsnxtr=3
Windows 2000 Version 5.0 Service Pack 2, CPU type 586
Starting up ORACLE RDBMS Version: 8.1.6.0.0.
System parameters with non-default values:
processes = 100
shared_pool_size = 52428800
large_pool_size = 614400
java_pool_size = 20971520
control_files = D:\Oracle\oradata\WDFORA\control01.ctl, D:\Oracle\oradata\WDFORA\control02.ctl, D:\Oracle\oradata\WDFORA\control03.ctl
db_block_buffers = 19200
db_block_size = 8192
compatible = 8.1.0
log_buffer = 32768
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
db_files = 1024
db_file_multiblock_read_count= 8
max_enabled_roles = 30
remote_login_passwordfile= EXCLUSIVE
global_names = TRUE
distributed_transactions = 500
instance_name = WDFORA
service_names = WDFORA
mts_dispatchers = (PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)
open_links = 4
sort_area_size = 65536
sort_area_retained_size = 65536
db_name = WDFORA
open_cursors = 100
os_authent_prefix =
job_queue_processes = 4
job_queue_interval = 10
parallel_max_servers = 5
background_dump_dest = D:\Oracle\admin\WDFORA\bdump
user_dump_dest = D:\Oracle\admin\WDFORA\udump
max_dump_file_size = 10240
oracle_trace_collection_name=
PMON started with pid=2
DBW0 started with pid=3
LGWR started with pid=4
CKPT started with pid=5
SMON started with pid=6
RECO started with pid=7
SNP0 started with pid=8
SNP1 started with pid=9
SNP2 started with pid=10
SNP3 started with pid=11
Sun Sep 27 09:23:00 2009
starting up 1 shared server(s) ...
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
Sun Sep 27 09:23:31 2009
alter database mount exclusive
Sun Sep 27 09:23:36 2009
Successful mount of redo thread 1, with mount id 1575669976.
Sun Sep 27 09:23:36 2009
Database mounted in Exclusive Mode.
Completed: alter database mount exclusive
Sun Sep 27 09:23:36 2009
alter database open
Beginning crash recovery of 1 threads
Sun Sep 27 09:23:41 2009
Thread recovery: start rolling forward thread 1
Recovery of Online Redo Log: Thread 1 Group 1 Seq 592192 Reading mem 0
Mem# 0 errs 0: D:\ORACLE\ORADATA\WDFORA\REDO03.LOG
Recovery of Online Redo Log: Thread 1 Group 2 Seq 592193 Reading mem 0
Mem# 0 errs 0: D:\ORACLE\ORADATA\WDFORA\REDO02.LOG
Sun Sep 27 09:23:44 2009
Thread recovery: finish rolling forward thread 1
Thread recovery: 147 data blocks read, 142 data blocks written, 1216 redo blocks read
Crash recovery completed successfully
Sun Sep 27 09:23:45 2009
Errors in file D:\Oracle\admin\WDFORA\bdump\wdforaLGWR.TRC:
ORA-00600: internal error code, arguments: [3705], [1], [1], [1], [2], [], [], []Sun Sep 27 09:24:46 2009
LGWR: terminating instance due to error 600
Instance terminated by LGWR, pid = 1488
Dump file D:\Oracle\admin\WDFORA\bdump\wdforaALRT.LOGLGWR内容在楼下
SID:WDFORA客户端连接报错:“不能连接数据库,数据库错误ORA-01092:ORA例程终止。强行断开连接”。服务器ALRT文件内容:(截取了2段内容有差异的,方便对比)
Dump file D:\Oracle\admin\WDFORA\bdump\wdforaALRT.LOG
Sun Sep 27 08:20:38 2009
ORACLE V8.1.6.0.0 - Production vsnsta=0
vsnsql=e vsnxtr=3
Windows 2000 Version 5.0 Service Pack 2, CPU type 586
Starting up ORACLE RDBMS Version: 8.1.6.0.0.
System parameters with non-default values:
processes = 100
shared_pool_size = 52428800
large_pool_size = 614400
java_pool_size = 20971520
control_files = D:\Oracle\oradata\WDFORA\control01.ctl, D:\Oracle\oradata\WDFORA\control02.ctl, D:\Oracle\oradata\WDFORA\control03.ctl
db_block_buffers = 19200
db_block_size = 8192
compatible = 8.1.0
log_buffer = 32768
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
db_files = 1024
db_file_multiblock_read_count= 8
max_enabled_roles = 30
remote_login_passwordfile= EXCLUSIVE
global_names = TRUE
distributed_transactions = 500
instance_name = WDFORA
service_names = WDFORA
mts_dispatchers = (PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)
open_links = 4
sort_area_size = 65536
sort_area_retained_size = 65536
db_name = WDFORA
open_cursors = 100
os_authent_prefix =
job_queue_processes = 4
job_queue_interval = 10
parallel_max_servers = 5
background_dump_dest = D:\Oracle\admin\WDFORA\bdump
user_dump_dest = D:\Oracle\admin\WDFORA\udump
max_dump_file_size = 10240
oracle_trace_collection_name=
PMON started with pid=2
DBW0 started with pid=3
CKPT started with pid=5
LGWR started with pid=4
SMON started with pid=6
RECO started with pid=7
SNP0 started with pid=8
SNP1 started with pid=9
SNP2 started with pid=10
SNP3 started with pid=11
Sun Sep 27 08:20:41 2009
starting up 1 shared server(s) ...
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
Sun Sep 27 08:20:43 2009
alter database mount exclusive
Sun Sep 27 08:20:50 2009
Successful mount of redo thread 1, with mount id 1575646498.
Sun Sep 27 08:21:16 2009
Database mounted in Exclusive Mode.
Completed: alter database mount exclusive
Sun Sep 27 08:21:16 2009
alter database open
Beginning crash recovery of 1 threads
Sun Sep 27 08:21:17 2009
Thread recovery: start rolling forward thread 1
Recovery of Online Redo Log: Thread 1 Group 3 Seq 592191 Reading mem 0
Mem# 0 errs 0: D:\ORACLE\ORADATA\WDFORA\REDO01.LOG
Sun Sep 27 08:21:18 2009
Thread recovery: finish rolling forward thread 1
Thread recovery: 18 data blocks read, 6 data blocks written, 3 redo blocks read
Crash recovery completed successfully
Sun Sep 27 08:21:22 2009
Thread 1 advanced to log sequence 592192
Thread 1 opened at log sequence 592192
Current log# 1 seq# 592192 mem# 0: D:\ORACLE\ORADATA\WDFORA\REDO03.LOG
Successful open of redo thread 1.
Sun Sep 27 08:21:23 2009
SMON: enabling cache recovery
SMON: enabling tx recovery
Sun Sep 27 08:21:41 2009
Completed: alter database open
Sun Sep 27 09:12:07 2009
Thread 1 advanced to log sequence 592193
Current log# 2 seq# 592193 mem# 0: D:\ORACLE\ORADATA\WDFORA\REDO02.LOG
Dump file D:\Oracle\admin\WDFORA\bdump\wdforaALRT.LOG
Sun Sep 27 09:22:57 2009
ORACLE V8.1.6.0.0 - Production vsnsta=0
vsnsql=e vsnxtr=3
Windows 2000 Version 5.0 Service Pack 2, CPU type 586
Starting up ORACLE RDBMS Version: 8.1.6.0.0.
System parameters with non-default values:
processes = 100
shared_pool_size = 52428800
large_pool_size = 614400
java_pool_size = 20971520
control_files = D:\Oracle\oradata\WDFORA\control01.ctl, D:\Oracle\oradata\WDFORA\control02.ctl, D:\Oracle\oradata\WDFORA\control03.ctl
db_block_buffers = 19200
db_block_size = 8192
compatible = 8.1.0
log_buffer = 32768
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
db_files = 1024
db_file_multiblock_read_count= 8
max_enabled_roles = 30
remote_login_passwordfile= EXCLUSIVE
global_names = TRUE
distributed_transactions = 500
instance_name = WDFORA
service_names = WDFORA
mts_dispatchers = (PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)
open_links = 4
sort_area_size = 65536
sort_area_retained_size = 65536
db_name = WDFORA
open_cursors = 100
os_authent_prefix =
job_queue_processes = 4
job_queue_interval = 10
parallel_max_servers = 5
background_dump_dest = D:\Oracle\admin\WDFORA\bdump
user_dump_dest = D:\Oracle\admin\WDFORA\udump
max_dump_file_size = 10240
oracle_trace_collection_name=
PMON started with pid=2
DBW0 started with pid=3
LGWR started with pid=4
CKPT started with pid=5
SMON started with pid=6
RECO started with pid=7
SNP0 started with pid=8
SNP1 started with pid=9
SNP2 started with pid=10
SNP3 started with pid=11
Sun Sep 27 09:23:00 2009
starting up 1 shared server(s) ...
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
Sun Sep 27 09:23:31 2009
alter database mount exclusive
Sun Sep 27 09:23:36 2009
Successful mount of redo thread 1, with mount id 1575669976.
Sun Sep 27 09:23:36 2009
Database mounted in Exclusive Mode.
Completed: alter database mount exclusive
Sun Sep 27 09:23:36 2009
alter database open
Beginning crash recovery of 1 threads
Sun Sep 27 09:23:41 2009
Thread recovery: start rolling forward thread 1
Recovery of Online Redo Log: Thread 1 Group 1 Seq 592192 Reading mem 0
Mem# 0 errs 0: D:\ORACLE\ORADATA\WDFORA\REDO03.LOG
Recovery of Online Redo Log: Thread 1 Group 2 Seq 592193 Reading mem 0
Mem# 0 errs 0: D:\ORACLE\ORADATA\WDFORA\REDO02.LOG
Sun Sep 27 09:23:44 2009
Thread recovery: finish rolling forward thread 1
Thread recovery: 147 data blocks read, 142 data blocks written, 1216 redo blocks read
Crash recovery completed successfully
Sun Sep 27 09:23:45 2009
Errors in file D:\Oracle\admin\WDFORA\bdump\wdforaLGWR.TRC:
ORA-00600: internal error code, arguments: [3705], [1], [1], [1], [2], [], [], []Sun Sep 27 09:24:46 2009
LGWR: terminating instance due to error 600
Instance terminated by LGWR, pid = 1488
Dump file D:\Oracle\admin\WDFORA\bdump\wdforaALRT.LOGLGWR内容在楼下
*** 2005-01-30 12:19:35.062
*** SESSION ID:(3.1) 2005-01-30 12:19:35.062
error 1242 detected in background process
Dump file D:\Oracle\admin\WDFORA\bdump\wdforaLGWR.TRC
Sun Sep 27 09:23:45 2009
ORACLE V8.1.6.0.0 - Production vsnsta=0
vsnsql=e vsnxtr=3
Windows 2000 Version 5.0 Service Pack 2, CPU type 586
Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
Windows 2000 Version 5.0 Service Pack 2, CPU type 586
Instance name: wdforaRedo thread mounted by this instance: 1Oracle process number: 4Windows thread id: 1488, image: ORACLE.EXE
*** SESSION ID:(3.1) 2009-09-27 09:23:45.031
*** 2009-09-27 09:23:45.031
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [3705], [1], [1], [1], [2], [], [], []
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
_ksedmp+a8 CALLrel _ksedst+0
1D6EAC8
_ksfdmp+e CALLrel _ksedmp+0 3
_kgeriv+95 CALLreg 00000000
74ED8
3
_kgesiv+49 CALLrel _kgeriv+0
28810
11DAC7EC
E79 4
11D6EC48
_ksesic4+3c CALLrel _kgesiv+0
74ED8
11DAC7EC
E79 4
11D6EC48
_kctopn+226 CALLrel _ksesic4+0 E79 0
1 0 1
0 1 0
2
_kcttha+56 CALLrel _kctopn+0
_ksbabs+20f CALL??? 00000000
1D6EFB8
10
_ksbrdp+1e2 CALLreg 00000000
2E8B60
_opirip+234 CALLrel _ksbrdp+0
_opidrv+549 CALLrel _opirip+0 32 0
0
_sou2o+19 CALLrel _opidrv+0
_opimai+152 CALLrel _sou2o+0
1D6FE2C
32 0
0
_BackgroundThreadStart@4+127 CALLrel _opimai+0 3
11D6FF78
77E67587 CALLreg 00000000
----- Argument/Register Address Dump -----
Argument/Register addr=11d6eac8.
Dump of memory from 0x11D6EA88 to 0x11D6EBC8
以下省略.....(请求大家帮忙)
However,instance can not be restarted here. even restart the server .
Seviece is started normally, but Oracle instance is terminated yet.
LZ有做rman 备份吗?
http://blog.chinaunix.net/u/7121/showart_415391.html
解决方法是重建控制文件. 8i的老版本估计bug比较多,lz也以冷备份后尝试用上面的方法恢复.
顺便帖下metalink 的 文档 ID: 1054592.6 ORA-449 AND ORA-600[3705] WHEN TRYING TO OPEN DATABASE
文档 ID: 1054592.6 类型: PROBLEM
上次修订日期: 28-JUN-2007 状态: PUBLISHED
Problem Description
====================
You are trying to startup the database. It mounts but will not open.
When it opens the following errors are reported:
ORA 00449
00449, 00000, "background process '%s' unexpectedly terminated with error %s"
// *Cause: A foreground process needing service from a background
// process has discovered the process died.
// *Action: Consult the error code, and the trace file for the process.
ORA 00470
00470, 00000, "LGWR process terminated with error"
// *Cause: The log writer process died
// *Action: Warm start instance
ORA 01092
01092, 00000, "ORACLE instance terminated. Disconnection forced"
// *Cause: The instance this process was connected to was terminated
// abnormally, probably via a shutdown abort. This process
// was forced to disconnect from the instance.
// *Action: When instance has been restarted, retry action.
The Alert log shows ORA-600[3705]Solution Description
====================
1. Issue the command 'Alter Database Backup Controlfile to Trace;'
2. Edit the subsequent trace file. a. Remove everything above the 'STARTUP NOMOUNT' line.
b. Change 'STARTUP NOMOUNT' to
'STARTUP NOMOUNT PFILE=<path to initSID.ora>'. 3. Run the create controlfile script.
Solution Explanation:
=====================
Normally if a database will successfully mount we do not suspect problems with
the controlfile. However, in this case, the corruption is not found until we
open the database. When we open the database we check a flag in the current online redo log and if
that flag does not match the flag for that thread in the controlfile then we
signal the ora-600 [3705].
In this particular situation an import was causing excessive redo log switches
because the Redo Logs were only 200k. This caused corruption in the
controlfile. Rebuilding the controlfile alleviated part of the problem.
However, it took several minutes for the database to open because we were
waiting for SMON to complete cache recovery. Once the database opened and
the checkpoint was completed, a subsequent shutdown and restart was completed
within seconds.
Solution References:
====================
Similar to BUG# 366131, though Parallel server was involved. Note 1012929.6 How To Recreate The Controlfile