oracle中出现ORA-600错误怎么办

网友投稿 347 2023-12-31

oracle中出现ORA-600错误怎么办

这篇文章主要为大家展示了“oracle中出现ORA-600错误怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“oracle中出现ORA-600错误怎么办”这篇文章吧。

oracle中出现ORA-600错误怎么办

ORA-00600:internal error code, arguments: [4194], [43], [46], [], [], [], [], []

出现这种情况,大多数是因为异常宕机,在启动的时候报的错误。DB 不能启动。

方法一:使用system segment

(1)用spfile 创建pfile,然后修改参数

#.undo_tablespace=UNDOTBS1

#.undo_management=AUTO

#.undo_tablespace

#.undo_retention

undo_management=MANUAL

rollback_segments=SYSTEM

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

SQL> STARTUP  pfile=F:/initorcl.ora ;

(3)删除原来的表空间,创建新的UNDO 表空间

SQL> drop tablespace undotbs;

SQL> create undo tablespace undotbs1 datafile /u01/oradata/undotbs1.dbf size 10M;

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

.undo_tablespace=UNDOTBS1

.undo_management=AUTO

#undo_management=MANUAL

#rollback_segments=SYSTEM

方法二:跳过损坏的segment

在方法一里面,我们使用了system segment。 通过第一部分我们了解到,undo segment 有多个,我们可以通过alert log 来查看正在使用的是哪些segment,这些段有可能损坏了。 我们只需要把这些损坏的segment 跳过,先正常启动DB,在创建新的UNDO 表空间,在切换一下。

(1)修改pfile,添加参数:

*._corrupted_rollback_segments=_SYSSMU11$,_SYSSMU12$,_SYSSMU13$

这些字段的值,我们通过alert log 查看。 也可以通过如下命令查看:

#strings system01.dbf | grep _SYSSMU | cut -d $ -f 1 | sort -u

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

因为跳过了哪些损坏的segment,所以DB 可以正常启动。

(3)创建新的UNDO 表空间,并切换过来

SQL> create undo tablespace undotbs1 datafile /u01/oradata/undotbs1.dbf size 10M;

SQL> alter system set undo_tablespace=undotbs1;

SQL> drop tablespace undotbs;

(4)修改pfile,创建spfile,并正常启动

删除:

*._corrupted_rollback_segments=_SYSSMU11$,_SYSSMU12$,_SYSSMU13$

以上是“oracle中出现ORA-600错误怎么办”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:jsp传值到另一个jsp(jsp传值到servlet)
下一篇:vscodevue环境搭建(vscode配置vue环境)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~