今天需要在本机上腾出空间,发现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';
处理方法:
用该表空间所对应用户登录
执行purge recyclebyin;
重新执行 drop tablespace test_tb incluing contents and datafiles;
执行完毕后,dbf文件不存在,空间也腾出来了。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。