ORACLEoracle 日志文件管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLEoracle 日志文件管理相关的知识,希望对你有一定的参考价值。

修改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中的文件 

[[email protected] log]$ cd /u01/app/oracle/oradata/orcl
[[email protected] orcl]$ pwd
/u01/app/oracle/oradata/orcl
[[email protected] 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
[[email protected] orcl]$ rm -rf redo01.log 
[[email protected] orcl]$ rm -rf redo02.log 
[[email protected] 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

[[email protected] orcl]$ rm -rf redo04.log 
[[email protected] orcl]$ rm -rf redo05.log 
[[email protected] orcl]$ rm -rf redo06.log 

  

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

alter database backup controlfile to trace resetlogs  ;

  




















以上是关于ORACLEoracle 日志文件管理的主要内容,如果未能解决你的问题,请参考以下文章

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

oracleoracle的基础入门

OracleOracle版本导入导出问题

argparse 代码片段只打印部分日志

执行代码时有时不显示对话框片段

python常用代码片段总结