zoukankan      html  css  js  c++  java
  • 删除重做日志组和成员

    在某些情况下,您可能希望删除整组重做日志成员。例如,您希望减少实例重做日志中的组数。在不同的情况下,您可能希望删除一个或多个特定的重做日志成员。例如,如果发生磁盘故障,您可能需要删除故障磁盘上的所有重做日志文件,以便数据库不会尝试写入不可访问的文件。在其他情况下,特定的重做日志文件变得不必要。例如,文件可能存储在不适当的位置。

    删除日志组

    要删除重做日志组,您必须具有ALTER DATABASE系统特权。在删除重做日志组之前,请考虑以下限制和预防措施:

    • 无论组中的成员数是多少,实例都需要至少两组重做日志文件。 (一个小组由一个或多个成员组成。)
    • 只有在处于非活动状态时,才能删除重做日志组。如果必须删除当前组,则首先强制执行日志切换。
    • 在删除之前,请确保存档重做日志组(如果已启用存档)。要查看是否发生了这种情况,请使用V $ LOG视图。
      SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;
      
         GROUP# ARC STATUS
      --------- --- ----------------
              1 YES ACTIVE
              2 NO  CURRENT
              3 YES INACTIVE
              4 YES INACTIVE

    使用带有DROP LOGFILE子句的SQL语句ALTER DATABASE删除重做日志组。

    以下语句删除重做日志组编号3:

    ALTER DATABASE DROP LOGFILE GROUP 3;

    从数据库中删除重做日志组,并且您没有使用Oracle托管文件功能时,不会从磁盘中删除操作系统文件。而是更新相关数据库的控制文件以从数据库结构中删除组的成员。删除重做日志组后,请确保已成功完成删除,然后使用相应的操作系统命令删除已删除的重做日志文件。

    使用Oracle Managed Files时,系统会自动为您清理操作系统文件

    删除重做日志成员

    要删除重做日志成员,您必须具有ALTER DATABASE系统特权。删除单个重做日志成员之前,请考虑以下限制和注意事项:

    • 允许删除重做日志文件,以便多路复用重做日志暂时不对称。例如,如果使用双工组重做日志文件,则可以删除一个组中的一个成员,即使所有其他组各有两个成员。但是,您应该立即纠正这种情况,以便所有组至少有两个成员,从而消除重做日志可能出现的单点故障。
    • 无论组中的成员数是多少,实例始终至少需要两个有效的重做日志文件组。 (一个组包含一个或多个成员。)如果要删除的成员是该组的最后一个有效成员,则在其他成员生效之前,您不能删除该成员。要查看重做日志文件状态,请使用V $ LOGFILE视图。如果数据库无法访问重做日志文件,则该日志文件将变为INVALID。如果数据库怀疑它不完整或正确,它将变为STALE。过时的日志文件在下次将其组成为活动组时再次生效。
    • 仅当重做日志成员不属于活动组或当前组时,才能删除该日志成员。要删除活动组的成员,请首先强制执行日志切换
    • 在删除成员之前,请确保归档重做日志成员所属的组(如果已启用归档)。要查看是否发生了这种情况,请使用V $ LOG视图。

    要删除特定的非活动重做日志成员,请使用带有DROP LOGFILE MEMBER子句的ALTER DATABASE语句。

    以下语句删除了重做日志/oracle/dbs/log3c.rdo:

    ALTER DATABASE DROP LOGFILE MEMBER '/oracle/dbs/log3c.rdo';

    从数据库中删除重做日志成员时,不会从磁盘中删除操作系统文件。而是更新关联数据库的控制文件以从数据库结构中删除该成员。删除重做日志文件后,请确保已成功完成删除,然后使用相应的操作系统命令删除已删除的重做日志文件。

    要删除活动组的成员,必须先强制​​执行日志切换。

    强制日志切换

    当LGWR停止写入一个重做日志组并开始写入另一个时,会发生日志切换。默认情况下,当前重做日志文件组填充时会自动进行日志切换。

     您可以强制日志切换使当前活动组处于非活动状态,并可用于重做日志维护操作。例如,您要删除当前活动的组,但在该组处于非活动状态之前无法执行此操作。如果必须在完全填充组成员之前的特定时间存档当前活动组,则可能还需要强制执行日志切换。此选项在具有大量重做日志文件的配置中非常有用,这些文件需要很长时间才能填充。

    要强制执行日志切换,您必须具有ALTER SYSTEM权限。将ALTER SYSTEM语句与SWITCH LOGFILE子句一起使用。

    以下语句强制执行日志切换:

    ALTER SYSTEM SWITCH LOGFILE;

    参考资料

    https://docs.oracle.com/cd/E11882_01/server.112/e25494/onlineredo.htm#ADMIN11322

  • 相关阅读:
    Oracle数据库入门——体系结构
    基础知识——CentOS7操作系统的安装图文教程
    Oracle数据库入门——基础知识
    Windows Server 2008 R2 64位操作系统安装Oracle 11g 64位数据库,在客户终端上安装Oracle 11g 32位,才能安装P/L Sql Developer并配置
    2. Mysql数据库的入门知识
    1. Mysql数据库的安装
    Excel制作考勤管理
    常用函数公式及技巧搜集
    调试C++NPv2_Select_Reactor_Log_Server程序
    调试C++NPv2_Reactor_Log_Server程序
  • 原文地址:https://www.cnblogs.com/ZeroTiny/p/9267627.html
Copyright © 2011-2022 走看看