代码之家  ›  专栏  ›  技术社区  ›  wolφi

如何禁用Oracle的回收站?

  •  0
  • wolφi  · 技术社区  · 6 年前

    在工作中,我们的DBA禁用了回收站。在家里,在回答stackoverflow问题时,我创建了许多表,这些表很快就被丢弃了。

    我想禁用recyblebin。在研究中,我发现了两种方法:

    ALTER SESSION SET RECYCLEBIN = OFF;
    

    甚至

    ALTER SYSTEM SET RECYCLEBIN = OFF DEFERRED;
    

    0 回复  |  直到 6 年前
        1
  •  1
  •   Popeye    6 年前

    与任何其他初始化参数一样,可以设置 recyclebin 初始SID.ora :

    recyclebin=off
    

    另外,根据@Kumar的建议,您可以在之后将其设置为:

    alter system set recylebin = OFF SCOPE = SPFILE SID='*'

        2
  •  1
  •   Lalit Kumar B    6 年前

    documentation :

    已经在回收站了。默认情况下启用回收站。

    初始化参数。此参数不是动态的,因此 使用ALTER SYSTEM语句更改时需要重新启动。

    SQL> show parameter recyclebin;
    
    NAME         TYPE        VALUE
    ------------ ----------- ----------
    recyclebin   string      ON
    

    要禁用回收站:

    ALTER SESSION SET recyclebin = OFF;
    

    数据库级别:

    ALTER SYSTEM SET recyclebin = OFF SCOPE = SPFILE; -- Requires database restart
    

    要从recyclebin(当前用户)中删除所有丢弃的对象,请执行以下操作:

    PURGE RECYCLEBIN;
    

    从recyclebin(系统范围,可用于 SYSDBA 仅限或从版本开始 12c ,对于具有 PURGE DBA_RECYCLEBIN 系统权限):

    PURGE DBA_RECYCLEBIN;