• 【ORACLE】oracle 日志文件管理


    修改Oracle重做日志文件大小

    创建新的日志组1
    
    删除旧的日志组0(旧的日志组状态需要是INACTIVE)
    
    创建新的日志组2,组名为旧的日志组0的组名

    删除日志组1

      

    ----------------------------------------------

    具体操作步骤:

    ----------------------------------------------

    1. 创建3个新的日志组

    ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/orcl/redo06.log') SIZE 500M;
    
    ALTER DATABASE ADD LOGFILE GROUP 5 ('/u01/app/oracle/oradata/orcl/redo05.log') SIZE 500M;
    
    ALTER DATABASE ADD LOGFILE GROUP 6 ('/u01/app/oracle/oradata/orcl/redo06.log') SIZE 500M; 
    

      

    查看日志组

    select * from v$logfile;
    

      

    2.切换当前日志到新的日志组

    alter system switch logfile;
    
    alter system switch logfile;
    
    alter system switch logfile; 
    

      

    切到要删除为INCACTIVE才行 

    select group#,sequence#,bytes,members,status from v$log;
    

      

    GROUP#  SEQUENCE#    BYTES    MEMBERS STATUS
    ---------- ---------- ---------- ---------- ----------------
      1  139 52428800  1 INACTIVE
      2  137 52428800  1 INACTIVE
      3  138 52428800  1 INACTIVE
      4  140  524288000  1 ACTIVE
      5  141  524288000  1 CURRENT
      6  136  524288000  1 INACTIVE

    3. 删除旧的日志组

    alter database drop logfile group 1;
    

      

    Database altered.

    4. 查看是否删除了日志组

    select group#,sequence#,bytes,members,status from v$log;
    

      

    GROUP#  SEQUENCE#    BYTES    MEMBERS STATUS
    ---------- ---------- ---------- ---------- ----------------
      4  140  524288000  1 INACTIVE
      5  141  524288000  1 CURRENT
      6  136  524288000  1 INACTIVE

    5. 操作系统删除原日志组1、2、3中的文件 

    [oracle@oracle122 log]$ cd /u01/app/oracle/oradata/orcl
    [oracle@oracle122 orcl]$ pwd
    /u01/app/oracle/oradata/orcl
    [oracle@oracle122 orcl]$ ls
    control01.ctl  example01.dbf  redo01.log  redo02.log  redo03.log  redo04.log  redo05.log  redo06.log  sysaux01.dbf  system01.dbf  temp01.dbf  undotbs01.dbf  users01.dbf
    [oracle@oracle122 orcl]$ rm -rf redo01.log 
    [oracle@oracle122 orcl]$ rm -rf redo02.log 
    [oracle@oracle122 orcl]$ rm -rf redo03.log 
    

      

    6. 重建日志组 1、2、3

    ALTER DATABASE ADD LOGFILE GROUP 1 ('/u01/app/oracle/oradata/orcl/redo01.log') SIZE 500M;
    
    ALTER DATABASE ADD LOGFILE GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02.log') SIZE 500M;
    
    ALTER DATABASE ADD LOGFILE GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03.log') SIZE 500M; 
    

      

    7.  删除中间过渡用的日志组4、5、6 ,在删除时查询select group#,sequence#,bytes,members,status from v$log; 删除组是否为INACTIVE,如果不是INACTIVE 就要执行alter system switch logfile;

    查询看一下

    select group#,sequence#,bytes,members,status from v$log;
    

      

    GROUP#  SEQUENCE#    BYTES    MEMBERS STATUS

    ---------- ---------- ---------- ---------- ----------------
      1  148  524288000  1 CURRENT
      2  143  524288000  1 INACTIVE
      3  144  524288000  1 INACTIVE
      4  146  524288000  1 INACTIVE
      5  147  524288000  1 INACTIVE
      6  145  524288000  1 INACTIVE 

    SQL> alter database drop logfile group 4;
    
    Database altered.
    
    SQL> alter database drop logfile group 5;
    
    Database altered.
    
    SQL> alter database drop logfile group 6;
    
    Database altered.
    

      

    8. 到操作系统删除组4、5、6

    [oracle@oracle122 orcl]$ rm -rf redo04.log 
    [oracle@oracle122 orcl]$ rm -rf redo05.log 
    [oracle@oracle122 orcl]$ rm -rf redo06.log 
    

      

    9. 备份当前最新的控制文件

    alter database backup controlfile to trace resetlogs  ;
    

      

  • 相关阅读:
    ansible-handlers
    LNMP
    编译安装sshpass
    cadence-irun(xrun) 增量编译
    sva 基础语法
    bsub && lsf 介绍
    Perl 输出内容到 excel
    Perl sendmail
    dlopen与dlsym用法
    perl在linux下通过date获取当前时间
  • 原文地址:https://www.cnblogs.com/DBA-Ivan/p/9962805.html
Copyright © 2020-2023  润新知