Oracle中删除表空间提示ORA-00604和ORA-38301

Oracle中删除表空间提示ORA-00604和ORA-38301

Laughing
2018-01-09 / 0 评论 / 1,433 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2020年09月25日,已超过1575天没有更新,若内容或图片失效,请留言反馈。

今天需要在本机上腾出空间,发现Oracle中有一个dbf文件占了约30G,这个数据文件对应的用户平时很少使用的,于是就想对它进行处理-删除表空间操作。

本机的数据库是32位的10.2.0.1.0,表空间为TEST_TB存在若干个表数据。刚开始时用dba角色的system用户,直接执行

drop tablespace test_tb including contents and datafiles;

提示

ORA-00604:递归SQL级别1出现错误

ORA-38301:无法对回收站中的对象执行DDL/DML
原因:dba_segments中存在该表空间test_tb的数据,可通过dba用户执行查询:

select segment_name,segment_type,owner from dba_segments where tablespace_name='TEST_TB';

处理方法:

  1. 用该表空间所对应用户登录
  2. 执行

    purge recyclebyin;
  3. 重新执行

    drop tablespace test_tb incluing contents and datafiles;
  4. 执行完毕后,dbf文件不存在,空间也腾出来了。
23

评论 (0)

取消
  1. 头像
    Laughing 作者
    Windows 10 · Google Chrome
    @ vivi

    有什么提示吗?先把icloud删掉,重新安装。icloud文件夹直接复制过去,不要新建

    回复
  2. 头像
    aytck
    MacOS · Safari

    多谢

    回复