oracle 第11章 重做日志文件

2015-10-21

目录

一、概述

二、数据字典

  1.v$log视图:重做日志组

  2.v$logfile视图:重做日志组成员

  3.归档模式

三、重做日志组

  1.添加重做日志组

  2.查看重做日志组

  3.删除重做日志组

四、重做日志成员

  1.添加重做日志成员

  2.查看重做日志成员

  3.删除重做日志成员

 五、日志切换、检查点事件

一、概述

  Oracle引入重做日志的原因:数据恢复。为了提高I/O效率,Oracle引入了重做日志结构,典型重做日志结构由3个重做日志组组成,每个重做日志组中有2个重做日志成员(重做日志文件)。数据库系统会先使用重做日志组1,该组写满后切换到重做日志组2,再写满后切换到重做日志组3,然后循环使用重做日志组。Oracle规定每个数据库实例至少有2个重做日志组,每个重做日志组至少有1个重做日志文件。如果没有启动归档日志,一个循环结束,再次使用先前的重做日志组时会以覆盖的方式写入数据。

二、数据字典

  1.v$log视图

SQL> desc v$log;

SQL> select group#,thread#,bytes,members,archived,status from v$log;

  2.v$logfile视图

SQL> desc v$logfile;

SQL> col member for a50;
SQL> select group#,status,type,member from v$logfile;

  3.归档模式

    查看归档模式

SQL> archive log list;

    启用归档模式

//关闭数据库
SQL> shutdown immediate;
//启动数据库到mount状态
SQL> startup nomount;
SQL> alter database mount;
//设置归档模式
SQL> alter database archivelog;
//查看归档模式
SQL> archive log list;

//查看归档目录
SQL> show parameter db_recovery_file_dest;

三、重做日志组

  1.添加重做日志组

ALTER DATABASE [database_name]

ADD LOGFILE [GROUP number] filename SIZE n

[,ADD LOGFILE [GROUP number] filename SIZE n......]

SQL> alter database add logfile group 4
  2  ('/u01/app/oracle/oradata/orcl/redo04a.log',
  3  '/u01/app/oracle/oradata/orcl/redo04b.log')
  4  size 11m;

  2.查看重做日志组

SQL> select group#,thread#,sequence#,bytes,members,archived,status from v$log;

SQL> col member for a50;
SQL> select group#,status,type,member from v$logfile;

  3.删除重做日志组

ALTER DATABASE [database_name]

DROP LOGFILE {GROUP n| ('filename' [,'filename']...)}

        {GROUP n| ('filename' [,'filename']...)}...

SQL> alter database drop logfile group 4;

  验证

SQL> col member for a50;
SQL> select group#,status,type,member from v$logfile;

四、重做日志成员

  1.添加重做日志成员

ALTER DATABASE [database_name]

ADD LOGFILE MEMBER

    ['filename' [REUSE] [,'filename' [REUSE]] ...

TO {GROUP n | ('filename' [,'filename'])......}

]...

SQL> alter database add logfile member
  2  '/u01/app/oracle/oradata/orcl/redo01a.log' to group 1,
  3  '/u01/app/oracle/oradata/orcl/redo02a.log' to group 2,
  4  '/u01/app/oracle/oradata/orcl/redo03a.log' to group 3;

  2.查看重做日志成员

SQL> col member for a50;
SQL> select group#,status,type,member from v$logfile;

  3.删除重做日志成员

ALTER DATABASE [database_name]

DROP LOGFILE MEMBER 'filename' [,'filename'] ....

SQL> alter database drop logfile member
  2  '/u01/app/oracle/oradata/orcl/redo02a.log',
  3  '/u01/app/oracle/oradata/orcl/redo03a.log';

  验证

SQL> col member for a50;
SQL> select group#,status,type,member from v$logfile;

  五、日志切换、检查点事件

    1.日志切换

SQL> alter system switch logfile;

      验证

SQL> select group#,thread#,sequence#,bytes,members,archived,status from v$log;

    2.检查点事件

SQL> alter system checkpoint;

 

参考资料

[1] 林树泽.Oracle 11g R2 DBA操作指南[M].北京:清华大学出版社,2013

[2] ORACLE——重做日志文件管理

[3] Oracle的重做日志

[4] Oracle重做日志文件

[5] Oracle的重做日志和归档日志

[6] Oracle重做日志

[7] Oracle重做日志官方文档

[8] Oracle Redo Log 机制 小结

[9] Oracle在线重做日志文件详解

[10] Oracle 联机重做日志文件(ONLINE LOG FILE)

[11] Oracle的重做日志和归档日志

 

转载于:https://www.cnblogs.com/cenliang/p/4898162.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值