Oracle重做日志文件

Oracle重做日志文件

一.简介

    Oracle引入重做日志的目的:数据库的恢复。

    Oracle相关进程:重做日志写进程(LGWR)。

    重做日志性质:联机日志文件,oracle服务器运行时需要管理它们。

    相关数据字典:v$log ; v$logfile 

    操作者权限:具有sys用户或system用户权限。

二.获取重做日志的信息

1. 获得数据库中有多少个重做日志组,每个组中有多少个成员、日志大小及状态。

SELECT GROUP#,SEQUENCE#,MEMBERS,BYTES,STATUS,ARCHIVED FROM V$LOG;

   结果如下图:

   

状态列(status)所显示常用状态的含义:

  •         inactive :表示实例恢复已不再需要这组联机重做日志组了。
  •          active :表示该组是活动的但不是当前组,实例恢复时需要这组日志。
  •         current :表示该组日志是当前组,该联机重做日志组是活动的。
  •          unused :表示该日志组从未写过,是重做日志刚刚添加到状态。

 

2. 获得数据库中每个重做日志组的成员所在目录、文件名及状态。

    SELECT GROUP#,STATUS,TYPE,MEMBER FROM V$LOGFILE;

    结果如下图:

     

状态列(status)所显示常用状态的含义:

  •         空白:表示该文正在使用。
  •         stale :表示该文件中的内容是不完全的。
  •          invalid :表示该文件是不可以被访问的。
  •          deleted :表示该文件已不在有用了。

 

三.日志切换

    联机重做日志文件是以一种循环的方式来使用,当一组联机重做日志文件被写满时,LGWR将开始写下一组日志文件,这被称为日志切换。可以在任何时候强制性的进行重做日志切换操作。

       强制重做日志切换命令:ALTER SYSTEM SWITCH LOGFILE;

       日志切换前,正在写的日志组是3

       

执行命令ALTER SYSTEM SWITCH LOGFILE 后,在写日志组变为1

       

但在线重做日志不可以直接RESIZE,需要通过如下方式:

1)添加新的日志文件组,定义它的大小

SYS@TEST15>alter database add logfile group 4 ('/data/oradata/orcl/data/redo04.log') size 500M reuse;

Database altered.

2)持续切换日志,一直到Group 1的status=inactive,且archived=yes(如果为归档的话),如下所示:

SYS@TEST15>ALTER SYSTEM SWITCH LOGFILE;
SYS@TEST15>alter system checkpoint;
SYS@TEST15>select group#,sequence#,bytes/1024/1024 "BYTES(M)",members,archived,status from v$log where group#=1;

    GROUP#  SEQUENCE#  BYTES(M)    MEMBERS ARC STATUS
---------- ---------- ---------- ---------- --- ----------------
        1        214        100          2 YES INACTIVE

3)删除Group 1

SYS@TEST15>alter database drop logfile group 1;

Database altered.

这样,我们就完成了用更大的Group 4取代原有的Group 1,至于Group 2, Group 3以此类推。

最后,还要记得到操作系统上把日志文件删除。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值