下午一台服务器上出现问题,报出600的错误
去MOS上查询该错误的相关文档,找到后按步骤进行,错误解决,数据库正常。
此解决方法适用于Version 9.2.0.1 to 11.2.0.3 [Release 9.2 to 11.2],没有平台限制。
原因:
1, 可能是同一个UNDO块用于2个不同事务所引起的内部错误。
2, ORA-600 [4193] / ORA-600 [4194] for new transactions
3, ORA-600 [4137] for a transaction rollback
解决方案:
创建一个新的UNDO表空间,并且检查段是否有未回滚。
1.创建一个pfile文件
create pfile from spfile;
windows平台默认是在database下,linux是在dbs下
2.关闭实例
shutdown immediate
3.编辑pfile文件加入参数
undo_management = manual
event = '10513 trace name context forever, level 2'
4.用pfile启动数据库
startup restrict pfile=<initsid.ora>;
5.检查是否所有的UNDO段都是offline状态,system段必须在线
select tablespace_name,status, segment_name from dba_rollback_segs where status != 'OFFLINE';
6.创建一个新的UNDO表空间
>create undotablespace UNDOTBS2 datafile ‘D:\oradata\undo02’ size 2000M;
7.删除旧的UNDO表空间
drop tablespace UNDOTBS1including contents and datafiles;
8.关闭实例
shutdown immediate
9.启动到mount状态
startup mount
10.修改参数
alter system setundo_tablespace =’UNDOTBS2’ scope=spfile;
11.关闭实例
shutdown immediate
12.正常启动数据库
startup
此文档还适用 ORA-600 4194 4197
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30491527/viewspace-1982890/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30491527/viewspace-1982890/