网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  重启后出现ora-00600 4194错误的解决方法 (1)     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:101次  录入:管理员--2008-03-03  
 

问题:我的数据库重新启动后,出现了ora-00600 4194错误,日志如下:

sat jan 21 13:55:21 2006
errors in file /opt/oracle/admin/conner
/bdump/conner_smon_17113.trc:
ora-00600: internal error code, arguments: 
[4194], [43], [46], [], [], [], [], []
sat jan 21 13:55:21 2006
errors in file /opt/oracle/admin/conner
/udump/conner_ora_17121.trc:
ora-00600: internal error code, arguments: 
[4194], [45], [44], [], [], [], [], []

请问具体应该怎样解决?

解答:具体的解决办法是通过备份来进行恢复,因为ora-00600 4194错误的出现说明undo段出现了问题,如果你没有备份,业可以通过特殊的初始化参数进行强制启动,下文针对oracle的隐含参数进行恢复说明(由于你的实际情况可能会有所出入,所以请你进行测试前先行备份)。

◆首先你需要确定当前的回滚段名称,注释:(可以从alert文件中获得)

sat jan 21 13:55:21 2006
undo segment 11 onlined
undo segment 12 onlined
undo segment 13 onlined
successfully onlined undo tablespace 16.

◆注意:对应的aum (auto undo management) 下的回滚段名称为:

'_syssmu11$','_syssmu12$','_syssmu13$'

◆此时你可以修改init.ora参数文件,使用oracle隐含参数_corrupted_rollback_segments将回滚段标记为损坏,然后启动数据库,oracle则会跳过对于这些回滚段的相关操作,强制启动数据库。

._corrupted_rollback_segments='_syssmu11$','_syssmu12$','_syssmu13$'

◆然后使用init.ora参数文件启动数据库:

[oracle@jumper dbs]$ sqlplus "/ as sysdba"
sql*plus: release 9.2.0.4.0 - production on sat jan 21 13:56:47 2006
copyright (c) 1982, 2002, oracle corporation.  all rights reserved.
connected to an idle instance.
sql> startup pfile=initconner.ora
oracle instance started.
total system global area   97588504 bytes
fixed size                   451864 bytes
variable size              33554432 bytes
database buffers           62914560 bytes
redo buffers                 667648 bytes
database mounted.
database opened.

现在数据库正常open。

◆注意观察alert文件所获得的如下信息:

sat jan 21 13:57:03 2006
smon: enabling tx recovery
smon: about to recover undo segment 11
smon: mark undo segment 11 as needs recovery
smon: about to recover undo segment 12
smon: mark undo segment 12 as needs recovery
smon: about to recover undo segment 13
smon: mark undo segment 13 as needs recovery
sat jan 21 13:57:03 2006
database characterset is zhs16gbk
sat jan 21 13:57:03 2006
smon: about to recover undo segment 11
smon: mark undo segment 11 as needs recovery
smon: about to recover undo segment 12
smon: mark undo segment 12 as needs recovery
smon: about to recover undo segment 13
smon: mark undo segment 13 as needs recovery
sat jan 21 13:57:04 2006
created undo segment _syssmu1$
undo segment 1 onlined
completed: alter database open
asat jan 21 14:02:11 2006
smon: about to recover undo segment 11
smon: mark undo segment 11 as needs recovery
smon: about to recover undo segment 12
smon: mark undo segment 12 as needs recovery
smon: about to recover undo segment 13
smon: mark undo segment 13 as needs recovery

◆现在你可以重新创建新的undo表空间,删除出现问题的表空间,修改参数文件,由参数文件生成新的spfile,然后重新启动数据库:

sql> create undo tablespace undotbs1  
2  datafile '/opt/oracle/oradata/conner/undotbs1.dbf' size 10m;
tablespace created.
sql> alter system set undo_tablespace=undotbs1;
system altered.
sql> drop tablespace undotbs2;
tablespace dropped.

◆请注意此时的alert文件记录的:

sat jan 21 14:03:29 2006
create undo tablespace undotbs1
datafile '/opt/oracle/oradata/conner/undotbs1.dbf' size 10m
sat jan 21 14:03:29 2006
created undo segment _syssmu2$
created undo segment _syssmu3$
created undo segment _syssmu4$
created undo segment _syssmu5$
created undo segment _syssmu6$
created undo segment _syssmu7$
created undo segment _syssmu8$
created undo segment _syssmu9$
created undo segment _syssmu10$
created undo segment _syssmu14$
starting control autobackup
control autobackup written to disk device        
handle '/opt/oracle/product/9.2.0/dbs/c-3152029224-20060121-00'
completed: create undo tablespace undotbs1
datafile '/opt/ora
sat jan 21 14:03:43 2006
undo segment 2 onlined
undo segment 3 onlined
undo segment 4 onlined
undo segment 5 onlined
undo segment 6 onlined
undo segment 7 onlined
undo segment 8 onlined
undo segment 9 onlined
undo segment 10 onlined
undo segment 14 onlined
successfully onlined  undo tablespace 1.
undo segment 1 offlined
undo tablespace 16 successfully switched out.
sat jan 21 14:03:43 2006
alter system set undo_tablespace='undotbs1' scope=memory;
sat jan 21 14:07:18 2006
smon: about to recover undo segment 11
smon: mark undo segment 11 as needs recovery
smon: about to recover undo segment 12
smon: mark undo segment 12 as needs recovery
smon: about to recover undo segment 13
smon: mark undo segment 13 as needs recovery
sat jan 21 14:08:06 2006
drop tablespace undotbs2
sat jan 21 14:08:07 2006
starting control autobackup
control autobackup written to disk device        
handle '/opt/oracle/product/9.2.0/dbs/c-3152029224-20060121-01'
completed: drop tablespace undotbs2

◆请修改参数文件,变更undo表空间,并取消_corrupted_rollback_segments设置:

*.undo_tablespace='undotbs1'

◆然后由参数文件创建spfile文件。

sql> create spfile from pfile;
file created.
sql>shutdown immediate;
database closed.database dismounted.
oracle instance shut down.
sql> startup
oracle instance started.
total system global area   97588504 bytes
fixed size                   451864 bytes
variable size              33554432 bytes
database buffers           62914560 bytes
redo buffers                 667648 bytes
database mounted.database opened.

◆然后重起数据库,观察alert文件:

sat jan 21 14:08:36 2006
undo segment 2 onlined
undo segment 3 onlined
undo segment 4 onlined
undo segment 5 onlined
undo segment 6 onlined
undo segment 7 onlined
undo segment 8 onlined
undo segment 9 onlined
undo segment 10 onlined
undo segment 14 onlined
successfully onlined undo tablespace 1.

◆此时数据库恢复正常,通常建议立即全库exp,然后重新建库,再imp恢复数据库。

 
 
上一篇: 数据库不在open状态下的冷备份恢复步骤    下一篇: exp的版本高于数据库版本导出时出现报错
  相关文档
快速了解Oracle9i中的一个特殊等待事件 09-29
解析:基于oracle高性能动态sql程序开发 11-15
讲解sql server定时作业job的设置方法 07-28
oracle数据库10g环境下修改vip地址的方法 07-25
利用完整性约束实施数据完整性规则的优点 02-18
用一个示例讲解自治事务和非自治事务的区别 07-25
详细讲解获得当前"scn"的几种有效方式 03-17
oracle性能调优过程中如何观察缓存命中率 04-29
通过进行正规化的表格设计提升应用性能 (1) 06-03
如何使用ref cursor处理oracle的结果集 03-26
oracle data的一个常见问题计算时间差 01-28
oracle 9i与10g中plan_table的不同 02-29
带你深入了解oracle数据库的进制转换 03-11
甲骨文撤回67亿美元报价不排除卷土重来 11-15
Oracle 与 DB2 数据类型分类对应说明 05-13
oralce定时执行存储过程任务的设置步骤 03-03
深入研究Oracle数据库中空间管理的方法 06-10
菜鸟学Oracle - 用PL/SQL画直方图 05-27
巧用dbms_rowid包获得rowid的详细信息 05-16
oracle与data guard环境中重建控制文件 (1) 03-27
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息