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>

 

posted @   石云华  阅读(358)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示