修复方法:先用PURGE DBA_RECYCLEBIN清除回收站,然后重启数据库实例。远程处理可以用sqlplus连接后执行PURGE RECYCLEBIN;命令。数据库回收站管理开启后容易占满空间导致ORA-47996,建议平时用SHOW RECYCLEBIN查看并定期清理。
第一篇来源内容
遇到ORA-47996错误,是因为回收站开启了,空间被占满了。解决办法是:SQL>PURGE DBA_RECYCLEBIN; 这会清空所有用户的回收站对象。然后检查空间是否释放。远程的话,通过PL/SQL Developer或sqlplus从远程连接执行同样命令。
第二篇来源内容
数据库报ORA-47996: space exhausted in recyclebin。原因是RECYCLEBIN=ON。修复步骤:1. conn / as sysdba 2. shutdown immediate 3. startup 或者直接PURGE RECYCLEBIN;。远程管理:用expdp全库导出时注意--no-drop,导入后purge recyclebin。
第三篇来源内容
ORA-47996故障,回收站满了。修复:ALTER SYSTEM SET recyclebin=OFF SCOPE=BOTH; 然后PURGE RECYCLEBIN; 重启生效。远程处理:在AIX服务器上用putty登录,su - oracle,sqlplus / as sysdba执行。日常管理:每月执行PURGE DBA_RECYCLEBIN清理。
第四篇来源内容
问题:开启回收站后空间不足ORA-47996。解决:登录sysdba,执行select owner,name from dba_recyclebin; 找到大对象,flashback table "表名" to before drop; 或直接purge。远程:用RMAN连接数据库,crosscheck backup; delete expired backup;。
第五篇来源内容
回收站开启导致的ORA-47996,快速修复代码:BEGIN FOR r IN (SELECT object_name, owner FROM dba_recyclebin) LOOP EXECUTE IMMEDIATE 'PURGE RECYCLEBIN OF "' || r.owner || '"."' || r.object_name || '"'; END LOOP; END; / 远程用Toad或DBeaver连接执行。
第六篇来源内容
数据库回收站管理:SHOW RECYCLEBIN; LIST RECYCLEBIN; PURGE INDEX "BIN$xxx"; 全清PURGE RECYCLEBIN;。故障远程修复:vpn连上,sqlplus sys/xxx@remote as sysdba,然后purge dba_recyclebin;。
Q: 回收站开启有什么好处?
A: 可以恢复误删对象,用flashback table from recyclebin恢复。
Q: 怎么永久关闭回收站?
A: ALTER SYSTEM SET recyclebin=OFF SCOPE=SPFILE; 然后重启。
Q: 远程怎么查看回收站占用空间?
A: SELECT sum(space) FROM dba_recyclebin;
Q: 清空回收站会丢失数据吗?
A: 会,回收站里的对象永久删除,无法恢复。