oracle断电重启之ORA-00600[4194]

本文详细介绍了Oracle数据库在遭遇ORA-00600错误时的处理步骤,特别是当遇到与undo表空间相关的ORA-00600[4194]及ORA-00600[4193]错误时的解决方法。文章提供了重建undo表空间的具体操作流程。

1.问题描述

Oracle服务器断电重启以后无法数据库无法正常连接,使用sqlplus envision/envision连接报错。常见的错误有以下这些:

  1. ORA-12518: TNS:listener could not hand off client connection
  2. ORA-12560: TNS:protocol adapter error
  3. ORA-01034: ORACLE not available
  4. ORA-27101: shared memory realm does not exist
  5. ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
  6. ORA-00600:[4194]

2.基本处理

上述这些ORA报错,基本可以归类为一下几种:

  1. 环境变量ORACLE_SID是否为prjdb,如果不是就设置环境变量
  2. TNSListener服务是否启动,如果没有启动就重新启动一下。
  3. prjdb这个oracle服务是否启动,如果没有启动就启动一下
  4. 使用dba身份能否连接oralce。

3.查看日志确认问题

将上面的这些问题都过一遍,并且都操作一遍以后发现问题还是没有解决,此时我们可以查看oracle 的alert log。我的alert log的路径为:

D:\app\oracle\diag\rdbms\prjdb\prjdb\trace\alert_prjdb.txt

打开alert log文件,找到日志的最后一行,发现行号是1003417,如下图所示:

接着尝试重启oracle服务,

重启完毕以后再次查看log文件,看看日志有什么错误。当我们找到ora-00600[4194]的时候,就定位到undo表空间文件损坏这个问题。最后解决方法就是重建undo表空间。

4.问题处理步骤:重建undo表空间

4.1思路:

在INITprjdb.ora这个配置文件中将undo表空间指向系统表空间system,然后删除undo表空间,最后在创建undo表空间,最后再在INITprjdb.ora这个配置文件中将undo表空间指向刚刚创建的undo表空间。

4.2查看表空间

select * from v$tablespace;

 

4.3查看undo表空间

show parameter undo

4.4管理员身份登陆:

sqlplus / as sysdba

4.5创建pfile

create pfile from spfile;

关闭实例

shutdown immediate

修改INITprjdb.ora参数

undo_management= MANUAL
undo_tablespace= SYSTEM

这个可以参考:http://www.xifenfei.com/2111.html

启动数据库

在修改INITprjdb.ora以后,以INITprjdb.ora这个参数文件中的配置启动oracle实例

$SQL> startup pfile=D:\app\oracle\product\11.2.0\dbhome_1\database\INITprjdb.ora

ORACLE instance started.
Total System Global Area  857903104 bytes
Fixed Size                  1377952 bytes
Variable Size             503318880 bytes
Database Buffers          348127232 bytes
Redo Buffers                5079040 bytes
Database mounted.
Database opened.

删除undo表空间

因为重新指定了undo表空间,所以我们可以将undotbs1这个表空间删除

SQL> drop tablespace undotbs1 including CONTENTS;

重建表空间

CREATE SMALLFILE UNDO TABLESPACE UNDOTBS1 DATAFILE 'D:\app\oracle\oradata\prjdb\UNDOTBS01.DBF' SIZE 200M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 8G;

重新创建pfile

create pfile from spfile;

重启oracle数据库

PS:ORA-00600[4193]

Starting up:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options.
Using parameter settings in server-side spfile D:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\SPFILEPRJDB.ORA
System parameters with non-default values:
  processes                = 150
  nls_language             = "SIMPLIFIED CHINESE"
  nls_territory            = "CHINA"
  memory_target            = 1232M
  control_files            = "D:\ORACLE\ORADATA\PRJDB\CONTROL01.CTL"
  control_files            = "D:\ORACLE\FLASH_RECOVERY_AREA\PRJDB\CONTROL02.CTL"
  db_block_size            = 8192
  compatible               = "11.2.0.0.0"
  db_recovery_file_dest    = "d:\oracle\flash_recovery_area"
  db_recovery_file_dest_size= 3852M
  undo_tablespace          = "UNDOTBS1"
  remote_login_passwordfile= "EXCLUSIVE"
  db_domain                = ""
  dispatchers              = "(PROTOCOL=TCP) (SERVICE=prjdbXDB)"
  audit_file_dest          = "D:\ORACLE\ADMIN\PRJDB\ADUMP"
  audit_trail              = "DB"
  db_name                  = "prjdb"
  open_cursors             = 300
  deferred_segment_creation= FALSE
  diagnostic_dest          = "D:\ORACLE"
Wed Jun 11 10:43:02 2014
PMON started with pid=2, OS id=3868 
Wed Jun 11 10:43:02 2014
VKTM started with pid=3, OS id=2484 at elevated priority
VKTM running at (10)millisec precision with DBRM quantum (100)ms
Wed Jun 11 10:43:02 2014
GEN0 started with pid=4, OS id=2544 
Wed Jun 11 10:43:02 2014
DIAG started with pid=5, OS id=2376 
Wed Jun 11 10:43:02 2014
DBRM started with pid=6, OS id=3264 
Wed Jun 11 10:43:02 2014
PSP0 started with pid=7, OS id=3936 
Wed Jun 11 10:43:02 2014
DIA0 started with pid=8, OS id=3836 
Wed Jun 11 10:43:02 2014
MMAN started with pid=9, OS id=2688 
Wed Jun 11 10:43:02 2014
DBW0 started with pid=10, OS id=708 
Wed Jun 11 10:43:02 2014
LGWR started with pid=11, OS id=3716 
Wed Jun 11 10:43:02 2014
CKPT started with pid=12, OS id=492 
Wed Jun 11 10:43:02 2014
SMON started with pid=13, OS id=1324 
Wed Jun 11 10:43:02 2014
RECO started with pid=14, OS id=1828 
Wed Jun 11 10:43:02 2014
MMON started with pid=15, OS id=3672 
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
Wed Jun 11 10:43:02 2014
MMNL started with pid=16, OS id=3908 
starting up 1 shared server(s) ...
ORACLE_BASE from environment = d:\oracle
Wed Jun 11 10:43:02 2014
alter database mount exclusive
Successful mount of redo thread 1, with mount id 1302693302
Database mounted in Exclusive Mode
Lost write protection disabled
Completed: alter database mount exclusive
alter database open
Beginning crash recovery of 1 threads
 parallel recovery started with 2 processes
Started redo scan
Completed redo scan
 read 34 KB redo, 20 data blocks need recovery
Started redo application at
 Thread 1: logseq 4145, block 3
Recovery of Online Redo Log: Thread 1 Group 2 Seq 4145 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO02.LOG
Completed redo application of 0.02MB
Completed crash recovery at
 Thread 1: logseq 4145, block 71, scn 176123270
 20 data blocks read, 20 data blocks written, 34 redo k-bytes read
Wed Jun 11 10:43:14 2014
Thread 1 advanced to log sequence 4146 (thread open)
Thread 1 opened at log sequence 4146
  Current log# 3 seq# 4146 mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Successful open of redo thread 1
Wed Jun 11 10:43:15 2014
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Wed Jun 11 10:43:15 2014
SMON: enabling cache recovery
Successfully onlined Undo Tablespace 2.
Verifying file header compatibility for 11g tablespace encryption..
Verifying 11g file header compatibility for tablespace encryption completed
SMON: enabling tx recovery
Database Characterset is US7ASCII
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_smon_1324.trc  (incident=69779):
ORA-00600: ??????, ??: [4194], [], [
Incident details in: d:\oracle\diag\rdbms\prjdb\prjdb\incident\incdir_69779\prjdb_smon_1324_i69779.trc
No Resource Manager plan active
replication_dependency_tracking turned off (no async multimaster replication found)
Wed Jun 11 10:43:19 2014
Trace dumping is performing id=[cdmp_20140611104319]
Doing block recovery for file 3 block 502
Resuming block recovery (PMON) for file 3 block 502
Block recovery from logseq 4146, block 63 to scn 176123517
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery stopped at EOT rba 4146.73.16
Block recovery completed at rba 4146.73.16, scn 0.176123515
Doing block recovery for file 3 block 240
Resuming block recovery (PMON) for file 3 block 240
Block recovery from logseq 4146, block 63 to scn 176123507
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery completed at rba 4146.69.16, scn 0.176123509
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_smon_1324.trc:
ORA-01595: ??? (2) ??? (8) ???
ORA-00600: ??????, ??: [4194], [], [                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
Starting background process QMNC
Wed Jun 11 10:43:22 2014
QMNC started with pid=22, OS id=2124 
Wed Jun 11 10:43:23 2014
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_mmon_3672.trc  (incident=69795):
ORA-00600: ??????, ??: [4193], [], [
Incident details in: d:\oracle\diag\rdbms\prjdb\prjdb\incident\incdir_69795\prjdb_mmon_3672_i69795.trc
Completed: alter database open
Trace dumping is performing id=[cdmp_20140611104326]
Doing block recovery for file 3 block 5380
Resuming block recovery (PMON) for file 3 block 5380
Block recovery from logseq 4146, block 73 to scn 176123528
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery stopped at EOT rba 4146.77.16
Block recovery completed at rba 4146.77.16, scn 0.176123527
Doing block recovery for file 3 block 272
Resuming block recovery (PMON) for file 3 block 272
Block recovery from logseq 4146, block 73 to scn 176123520
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery completed at rba 4146.73.16, scn 0.176123521
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_mmon_3672.trc  (incident=69796):
ORA-00600: ??????, ??: [4193], [: ??
Incident details in: d:\oracle\diag\rdbms\prjdb\prjdb\incident\incdir_69796\prjdb_mmon_3672_i69796.trc
Doing block recovery for file 3 block 5380
Resuming block recovery (PMON) for file 3 block 5380
Block recovery from logseq 4146, block 73 to scn 176123528
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery completed at rba 4146.77.16, scn 0.176123530
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_mmon_3672.trc  (incident=69797):
ORA-00600: ??????, ??: [4193], [], [
Incident details in: d:\oracle\diag\rdbms\prjdb\prjdb\incident\incdir_69797\prjdb_mmon_3672_i69797.trc
Wed Jun 11 10:43:33 2014
Trace dumping is performing id=[cdmp_20140611104333]
Wed Jun 11 10:43:34 2014
Doing block recovery for file 3 block 5380
Resuming block recovery (PMON) for file 3 block 5380
Block recovery from logseq 4146, block 73 to scn 176123528
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery completed at rba 4146.77.16, scn 0.176123530
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_mmon_3672.trc  (incident=69798):
ORA-00600: ??????, ??: [4193], [], [
Incident details in: d:\oracle\diag\rdbms\prjdb\prjdb\incident\incdir_69798\prjdb_mmon_3672_i69798.trc
Trace dumping is performing id=[cdmp_20140611104335]
Doing block recovery for file 3 block 5380
Resuming block recovery (PMON) for file 3 block 5380
Block recovery from logseq 4146, block 73 to scn 176123528
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Trace dumping is performing id=[cdmp_20140611104337]
Block recovery completed at rba 4146.77.16, scn 0.176123530
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_mmon_3672.trc  (incident=69799):
ORA-00600: ??????, ??: [4193], [], [
Incident details in: d:\oracle\diag\rdbms\prjdb\prjdb\incident\incdir_69799\prjdb_mmon_3672_i69799.trc
Doing block recovery for file 3 block 5380
Resuming block recovery (PMON) for file 3 block 5380
Block recovery from logseq 4146, block 73 to scn 176123528
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery completed at rba 4146.77.16, scn 0.176123530
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_mmon_3672.trc  (incident=69800):
ORA-00600: ??????, ??: [4193], [], [
Trace dumping is performing id=[cdmp_20140611104339]
Doing block recovery for file 3 block 5380
Resuming block recovery (PMON) for file 3 block 5380
Block recovery from logseq 4146, block 73 to scn 176123528
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery completed at rba 4146.77.16, scn 0.176123530
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_mmon_3672.trc  (incident=69801):
ORA-00600: ??????, ??: [4193], [], [
Doing block recovery for file 3 block 5380
Resuming block recovery (PMON) for file 3 block 5380
Block recovery from logseq 4146, block 73 to scn 176123528
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery completed at rba 4146.77.16, scn 0.176123530
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_mmon_3672.trc  (incident=69802):
ORA-00600: ??????, ??: [4193], [], [
Doing block recovery for file 3 block 5380
Resuming block recovery (PMON) for file 3 block 5380
Block recovery from logseq 4146, block 73 to scn 176123528
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery completed at rba 4146.77.16, scn 0.176123530
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_mmon_3672.trc  (incident=70876):
ORA-00600: ??????, ??: [4193], [], [
Doing block recovery for file 3 block 5380
Resuming block recovery (PMON) for file 3 block 5380
Block recovery from logseq 4146, block 73 to scn 176123528
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery completed at rba 4146.77.16, scn 0.176123530
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_mmon_3672.trc  (incident=70877):
ORA-00600: ??????, ??: [4193], [], [
Doing block recovery for file 3 block 5380
Resuming block recovery (PMON) for file 3 block 5380
Block recovery from logseq 4146, block 73 to scn 176123528
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery completed at rba 4146.77.16, scn 0.176123530
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_mmon_3672.trc  (incident=70878):
ORA-00600: ??????, ??: [4193], [], [
Doing block recovery for file 3 block 5380
Resuming block recovery (PMON) for file 3 block 5380
Block recovery from logseq 4146, block 73 to scn 176123528
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery completed at rba 4146.77.16, scn 0.176123530
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_mmon_3672.trc  (incident=70879):
ORA-00600: ??????, ??: [4193], [], [
Wed Jun 11 10:43:46 2014
Doing block recovery for file 3 block 5380
Resuming block recovery (PMON) for file 3 block 5380
Block recovery from logseq 4146, block 73 to scn 176123528
Recovery of Online Redo Log: Thread 1 Group 3 Seq 4146 Reading mem 0
  Mem# 0: D:\ORACLE\ORADATA\PRJDB\REDO03.LOG
Block recovery completed at rba 4146.77.16, scn 0.176123530
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_pmon_3868.trc  (incident=69691):
ORA-00600: ??????, ??: [4193], [], [
Errors in file d:\oracle\diag\rdbms\prjdb\prjdb\trace\prjdb_pmon_3868.trc:
ORA-00600: ??????, ??: [4193], [], [                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
PMON (ospid: 3868): terminating the instance due to error 472
View Code

参考:ORA-600[4194]/[4193]解决

从这里可以看到出现了ORA-600[4194]/[4193],第一感觉就是undo出现问题。
4193:表示undo和redo不一致(Arg [a] Undo record seq number,Arg [b] Redo record seq number );
4194:表示也是undo和redo不一致(Arg [a] Maximum Undo record number in Undo block,Arg [b] Undo record number from Redo block)

所以出现4193错误,解决方法跟4194一样。

 

转载于:https://www.cnblogs.com/xwdreamer/p/3778383.html

### 回答1: 这个问题是因为Oracle断电或者Oracle服务关闭了。需要检查Oracle服务是否运行并重启Oracle服务。同时,确保要用正确的用户名和密码登录数据库。如果问题仍然存在,可以尝试检查t listener是否正确配置,或者检查是否有其他进程正在访问数据库,可能会导致阻止数据库连接。 ### 回答2: ORA-01033错误是Oracle数据库在启动或连接数据库时遇到的常见错误之一。这个错误通常会在从操作系统级别关闭或新启动服务器后出现,因为这将导致Oracle实例停止并断开连接。当尝试新启动数据库时,Oracle会尝试新与数据库连接,但由于断电等原因,数据库不能正常启动并报告ORA-01033错误。 解决ORA-01033错误的方法有很多种,下面是一些可能有用的方法: 1. 确保Oracle实例以正确的用户身份运行。在Linux操作系统下,可以通过su命令切换到Oracle用户。 2. 确保Oracle实例已启动并正在运行。可以使用lsnrctl命令检查Oracle实例的状态,并使用sqlplus命令连接到实例。 3. 检查Oracle实例所在的环境变量是否已正确设置。确保ORACLE_SID、ORACLE_HOME和LD_LIBRARY_PATH等变量已设置为正确的值。 4. 检查Oracle实例文件是否已正确设置和配置。这包括使用正确的init.ora文件和控制文件。 5. 如果需要,可以新创建数据库实例或恢复损坏的数据库文件。在新创建数据库时,确保使用正确的Oracle版本。 6. 最后,考虑使用Oracle技术支持或社区资源,以寻求更详细的帮助和支持。 ### 回答3: 当Oracle数据库发生断电或者宕机的情况下,往往会出现ORA-01033错误,这个错误是表明连接到数据库的进程已经断开了。在断电或宕机情况下,Oracle无法正常释放更改日志和数据块锁定等资源导致数据库状态异常,进而导致该错误的出现。 若出现ORA-01033错误,我们需要进行以下处理: 1. 重启数据库实例:在Oracle的服务管理中找到Oracle服务,新启动即可,如果无法重启,则需要手动关闭数据库实例并启动。 2. 找出异常会话:通过查看alert日志或v$session视图找出异常的会话,将这些会话关闭,如果无法关闭,则需要手动强制断开会话。 3. 检查数据文件状态:如果在重启数据库实例时如果有异常会话没法断开,会导致Oracle实例无法关闭,这时需要强制关闭进程,但这可能导致Oracle文件出现异常,需要进行数据文件状态检测和修复。 4. 恢复数据文件:通过使用RECOVER命令恢复数据文件,该命令可以自动从归档日志或备份中恢复数据文件。 总之,ORA-01033错误的处理需要根据具体情况进行,有时可能需要多个步骤的处理才能完成。需要在实际处理中结合具体的环境和条件,采取适当的解决措施。同时,建议备份数据库,以防止数据发生丢失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值