Drop user 报ORA-00600 [KTSSDRP1]
Posted missyou_shiyh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Drop user 报ORA-00600 [KTSSDRP1]相关的知识,希望对你有一定的参考价值。
一客户删除一个数据库用户THH时报错:
说明在获取seg$时没有找到相应的条目,先来解释下这个600错误的参数含义:
Arg [a] Tablespace number
Arg [b] File number
Arg [c] Block number
无法删除整个用户,那就先尝试删除用户下的每个对象,最终确认是删除THH用户下的某张表时报错,手工删除该表报相同的错误。
SQL> drop table thh.HIS_2014123118; drop table thh.HIS_2014123118 * ERROR at line 1: ORA-00600: internal error code, arguments: [ktssdrp1], [119], [117],[4081466], [], [], [], [], [], [], [], [] |
定位到具体的对象就好办了,说明是该对象的数据字典不一致了,运行了最新的hcheck4.sql脚本检查数据字典,当前数据库的数据字典的确存在一些异常,但是却没有报出该对象相关的异常信息。
既然无法通过常规的命令来删除该对象,那就只能手动修改基表了:
SQL> select object_id, data_object_id from dba_objects where object_name=\'M1\';
OBJECT_ID DATA_OBJECT_ID ---------- -------------- 4084913 4084913
SQL> SQL> delete from tab$ where obj#=4084913;
1 row deleted.
SQL> commit;
Commit complete.
SQL> update obj$ set type#=10 where obj#=4084913;
1 row updated.
SQL> commit;
Commit complete.
SQL> alter system flush buffer_cache;
System altered.
SQL> alter system flush shared_pool;
System altered. |
最终,成功删除用户:
SQL> drop user thh cascade;
User dropped.
SQL> |
以上是关于Drop user 报ORA-00600 [KTSSDRP1]的主要内容,如果未能解决你的问题,请参考以下文章
Oracle 数据库启动报ORA-00600 [kkdlcob-objn-exists]的故障处理
Oracle 数据库启动报ORA-00600 [kkdlcob-objn-exists]的故障处理
求助,11gr2 rac asm磁盘挂载不了,报ora-00600错误