概述
今天主要借一个删表空间的故障来看一个等待事件--10851,下面一起来看看吧~
问题
在删库的时候发现有个表空间一直无法删除,从报错可以发现是几个系统表无法删除导致。
SYS@SRM>drop tablespace SRM_DATA including contents and datafiles;drop tablespace SRM_DATA including contents and datafiles*ERROR at line 1:ORA-00604: error occurred at recursive SQL level 1ORA-24005: Inappropriate utilities used to perform DDL on AQ tableSRM.AQ$_FND_REQUEST_QUEUE_TABLE_H
下面介绍下解决的过程和思路。
1、查看告警日志
观察告警日志
2、手动删除表
发现无法手动删除成功。
3、用10851等待事件强制删除
10851:Allow Drop command to drop queue tables
SYS@SRM>alter session set events '10851 trace name context forever,level 1';Session altered.SYS@SRM>drop table SRM.AQ$_FND_REQUEST_QUEUE_TABLE_H;Table dropped.SYS@SRM>drop tablespace SRM_DATA including contents and datafiles;Tablespace dropped.SYS@SRM>alter session set events '10851 trace name context off';Session altered.
可以发现用10851事件强制删除这几个表后,再去删除表空间就解决了。
后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下!