Fundamental I 07 Maintaining the Online Redo Log Files

数据备份和恢复是DBA价值的提现

特点:

  记录所有对数据的改变

  提供恢复的机制

  必须被构造为组, 至少需要2个组, 且为了避免数据丢失, 每一组都需要有2个及以上成员, 且在不同的磁盘上, 组和成员是逻辑关系

    * 每一个组成员具备相同的LSN ( log sequence numbers )


LGWR会循环的写online redo log files:

  该图例为: 先写Group1( A_LOG1 和 B_LOG1 ) 然后写 Group2 ( A_LOG2 和 B_LOG2 ), 然后再返回写Group1


  * log switch: 组之间的切换


LGWR的写入 redo log 的时机: 

  * 事务提交

  * Redo log buffer 1/3 满或者超过1MB

  * 在DBWn 将 Database Buffer Cache 写入到 data files 之前


常用的维护工作

  * 增加 LOGFILE 组, 文件名以.rdo结尾

    select * from v$logfile;  --查看redo log files

    alter database add logfile group 4 ( '$ORACLE_BASE/oradata/scott/redo04.rdo' ) size 50m; 在目录下创建大小为50m的log file


  * 增加成员变量

    alter database add logfile member '$ORACLE_BASE/oradata/scott/redoa04.rdo' to group 4;


  * 删除成员变量

    Prerequisites: 状态必须是非active并且非current group, 之前先做log switch, 并且archive

    然后在control file里面配置把他remove掉, 当Oracle运行成功之后, 再做物理删除

    select * from v$logfile;

    alter database drop logfile member '$ORACLE_BASE/oradata/scott/redoa04.rdo';


  * 删除组

    Prerequisites: active的和current不能被删除

    select group#, members, archived, status from v$log;

    alter system switch logfile; --如果当前需要删除的组状态为current或者是active, 采用该命令转换

    alter database drop logfile group 4;


  * Rename & Relocate 修改前备份数据库, 2种方法

    1. Add new and drop old.

    2. Rename

      2.1 shutdown immediate;

      2.2 startup mount;

      2.3 alter database rename file '$ORACLE_BASE/oradata/$ORACLE_SID/redo04.rdo' to '$ORACLE_BASE/oradata/redo04.rdo';

      2.4 select * from v$logfile; --Just for checkup.


  * Clear redo log files and unarchived ;

    alter database clear unarchived logfile group #;


  维护的Tips:

    * 把group中的member放在不同的disk上

    * 一个group至少要2个member

    * Archive和redo log file 应该放在不同的disk上

    * Datafiles 也不应该和redo log file在disk上

比较合理的Redo log file分配



使用OMF


-----------------------------Command-----------------------------

强制切换log file

  alter system switch logfile;


强制checkpoint

  1.设置DBWn的强制写入时间为600秒, 该参数对性能影响很大

    alter system FAST_START_MTTR_TARGET = 600 scope=both;

  2. 手工触发checkpoint

    alter system checkpoint;


v$log; v$logfile; v$log_history



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值