博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一次ORA-600处理
阅读量:6120 次
发布时间:2019-06-21

本文共 1415 字,大约阅读时间需要 4 分钟。

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$'

以上就是UNDO 出现故障的2种处理方法。

转载于:https://blog.51cto.com/lyzbg/2090674

你可能感兴趣的文章
第二周例行报告
查看>>
多线程条件
查看>>
黄聪:VMware安装Ubuntu10.10【图解】转
查看>>
Centos 6.x 升级openssh版本
查看>>
公式推♂倒题
查看>>
vue实现点击展开,点击收起
查看>>
如何使frame能居中显示
查看>>
第k小数
查看>>
构建之法阅读笔记三
查看>>
写给对前途迷茫的朋友:五句话定会改变你的人生
查看>>
并行程序设计学习心得1——并行计算机存储
查看>>
JAVA入门到精通-第86讲-半双工/全双工
查看>>
bulk
查看>>
js document.activeElement 获得焦点的元素
查看>>
C++ 迭代器运算
查看>>
【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片
查看>>
day6-if,while,for的快速掌握
查看>>
JavaWeb学习笔记(十四)--JSP语法
查看>>
【算法笔记】多线程斐波那契数列
查看>>
java8函数式编程实例
查看>>