Archive Redo log files--归档重做日志,简称归档日志,指当条件满足时,Oracle将在线重做日志以文件形式保存到硬盘(持久化)。

重做日志的简单原理:在数据更新操作commit前,将更改的SQL脚本写入重做日志。主要用于数据库的增量备份和增量恢复。

重做日志直接对应于硬盘的重做日志文件(有在线和归档二种),重做日志文件以组(Group)的形式组织,一个重做日志组包含一个或者多个日志文件。

Oracle在线重做日志文件详解

1:查看数据库在线重做日志文件的归档方式

ARCHIVE LOG list;

2:查看日志组

SELECT * FROM v$log;

3:查看日志组成员

SELECT * FROM v$logfile;

--备注:经分系统BONCBI数据库日志没做归档就不说了,既然只有3个日志组,而且既然每个日志组只有一个成员,悲剧啊!

4:新增一个日志组:

ALTER DATABASE ADD LOGFILE GROUP 4 ('/dev/rlv_vgdb9_data22','/dev/rlv_vgdb9_data23','/dev/rlv_vgdb9_data24') SIZE 8191m;

--这样,就最增一个日志组,且这个日志组里有3个成员每个成员8191MB大小。

5:给某个日志组新增一个成员

ALTER DATABASE ADD LOGFILE MEMBER '/dev/rlv_vgdb9_data25' TO GROUP 4;

--注意,这里不需要指定日志组成员的大小。

6:删除日志组

ALTER DATABASE DROP LOGFILE GROUP 4;

--注意:当前日志组不能删,活动的日志组不能删,没有归档的日志组不能删。

7:删除日志组成员

ALTER DATABASE DROP LOGFILE MEMBER '/dev/rlv_vgdb9_data25';

--注意:每个组至少要保留一个成员;

8:两个概念需要注意:

8.1:日志切换

ALTER SYSTEM SWITCH LOGFILE;

--所谓日志切换就是停止写当前组,转而写一个新组,系统可以自动发生,也可以手工完成。

--当发生SWITCH LOGFILE时,系统会在后台完成CHECKPOINT的操作

--手动切换日志组

--日志组A:当前正在写。

--日志组B:可写。

--CHECKPOINT保证控制文件,数据文件头,日志文件头的SCN一致是数据库保持数据完整性的一个重要机制

--手动切换日志组后,ORACLE开始往日志组B写日志,并进行一次CHECKPOINT,把日志组A里没有经过CHECKPOINT的那部分日志对应的DIRTY BUFFER从BUFFER CACHE里写到

--数据文件里。CHECKPOING完成后

--日志组A:可写。

--日志组B:当前正在写。

--另外,ALTER TABLESPACE USER BEGIN BACKUP,DROP TABLE,TRUNCATE TABLE都会引发CHECKPOINT操作

--除了以上所手动,及自动CHECKPOINT之外,还可以通过一些参数来控制CHECKPOINT

--FAST_START_MTTR_TARGET(MTTR:数据恢复的时间间隔)

--checkpoints用来同步,同步频率越高,发生系统错误时所需RECOVERY时间越短

--同步相关的参数:FAST_START_MTTR_TARGET(数据库通过它来改变后面3个参数),fast_start_io_target,log_checkpoint_interval,log_checkpoint_timeout

9:初始化日志文件

ALTER DATABASE CLEAR LOGFILE GROUP 1;

ALTER DATABASE CLEAR LOGFILE '/dev/rlv_vgdb9_data25';

ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 5(清空没有归档的日志文件,实际备份产生断点)

10:重命名日志文件

1>:在操作系统上把文件改名或移动(如果有OMF就不需要这样做了)

2>:ALTER DATABASE RENAME FILE '/dev/rlv_vgdb9_data25' TO '/dev/rlv_vgdb9_data26';

11:通过OMF管理REDO LOG 文件

SHOW PARAEMTERS DB_CREATE_ONLINE

ALTER SYSTEM SET DB_CREATE_ONLINE_LOG_DEST_1='/ORACLE/ORALOG/OMF';

ALTER DATABASE ADD LOGFILE GROUP 6;(名子由ORACLE派生,大小100M)

ALTER DATABASE DROP LOGFILE GROUP 6;(自己删除)

两个专题

一:查看oracle数据库是否归档和修改归档模式

首先查看数据库现有模式可使用以下语句

select name,log_mode from v$database;

也可以用下面的语句

archive log list;(该方法需要as sysdba)

对于非归档模式的数据库该为归档模式(主要以Oracle 10g为参考通过OMF来管理)使用以下步骤:

1. SQL> alter system set log_archive_dest_1='location=/oracle/oracle10g/log/archive_log';

该语句含义是确定归档日志的路径,实际上Oracle 10g可以生成多份一样的日志,保存多个位置,以防不测

例如再添加一个日志位置可使用以下语句

SQL>alter system set log_archive_dest_2='location=/oracle/oracle10g/log2/archive_log';

2.关闭数据库

SQL> shutdown immediate

3.启动数据mount状态:

SQL> startup mount;

4、修改数据库为归档模式:

SQL> alter database archivelog;

5、打开数据库,查询:

SQL> alter database open;

修改日志文件命名格式:

SQL> alter system set log_archive_max_processes = 5;

SQL> alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile;

修改完成后可以查看日志模式是否修改成功!

特别指出的是在Oracle 9i中还要修改参数log_archive_start = true才能生效,oracle 10g中已经废除了该参数,所以不需要设置该参数。

二:修改oracle日志文件大小

1、创建2个新的日志组

alter database add logfile group 4 ('D:ORACLEORADATAORADBREDO04_1.LOG') size 1024k;

alter database add logfile group 5 ('D:ORACLEORADATAORADBREDO05_1.LOG') size 1024k;

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

alter system switch logfile;

alter system switch logfile;

3、删除旧的日志组

alter database drop logfile group 1;

alter database drop logfile group 2;

alter database drop logfile group 3;

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

5、重建日志组1、2、3

alter database add logfile group 1 ('D:ORACLEORADATAORADBREDO01_1.LOG') size 10M;

alter database add logfile group 2 ('D:ORACLEORADATAORADBREDO02_1.LOG') size 10M;

alter database add logfile group 3 ('D:ORACLEORADATAORADBREDO03_1.LOG') size 10M;

6、切换日志组

alter system switch logfile;

alter system switch logfile;

alter system switch logfile;

7、删除中间过渡用的日志组4、5

alter database drop logfile group 4;

alter database drop logfile group 5;

8、到操作系统下删除原日志组4、5中的文件

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

SQL> connect / as sysdba

SQL> alter database backup controlfile to trace resetlogs

oracle重做日志详解,Oracle的重做日志相关推荐

  1. 建oracle簇表,详解ORACLE簇表、堆表、IOT表、分区表

    详解ORACLE簇表.堆表.IOT表.分区表 簇和簇表 簇其实就是一组表,是一组共享相同数据块的多个表组成.将经常一起使用的表组合在一起成簇可以提高处理效率. 在一个簇中的表就叫做簇表.建立顺序是:簇 ...

  2. oracle list 分区详解,ORACLE分区表详解

    此文从以下几个方面来整理关于分区表的概念及操作:1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性操作. (1.) 表空间及分区表 ...

  3. oracle list 分区详解,Oracle分区表详解:

    Oracle分区表详解: 范围分区 范围分区根据您为每个分区建立的分区键值的范围将数据映射到分区.它是最常见的分区类型,通常与日期一起使用.例如,您可能希望将销售数据分区为每月分区. 使用范围分区时, ...

  4. 手动更改oracle监听,详解Oracle数据库手动注册监听的方法

    本文主要介绍了为一个Oracle数据库(t02)配置多个监听(listener)的实验,过程有点小曲折.通过这个实验让我们来学习一下如何手动注册监听.以下是演示的过程. 1.新增两个测试的监听,lis ...

  5. oracle数据库改名步骤,oracle 11g2 数据库改名详细解释 oracle数据库改名详解 oracle database 改名详解 dbname...

    前面讲过修改sid名字,虽然已经修改过了实例名(sid),但是数据库的名称(dbname还是原来的名称orcl) 下面详细描述,更改数据库名字的.详细过程如下: 1.更改存档日志,默认安装完的orac ...

  6. oracle重做日志详解,oracle数据文件、控制文件、重做日志文件详解

    什么是数据文件.控制文件.重做日志文件? 首先从Oracle的官方文档里摘录下面内容: The following sections explain the physical database str ...

  7. oracle同义词truncate,详解Oracle DELETE和TRUNCATE 的区别

    语法 delete from aa truncate table aa 区别 1.delete from后面可以写条件,truncate不可以. 2.delete from记录是一条条删的,所删除的每 ...

  8. oracle 数据库truncate,详解Oracle DELETE和TRUNCATE 的区别

    语法delete from aa truncate table aa 区别1.delete from后面可以写条件,truncate不可以. 2.delete from记录是一条条删的,所删除的每行记 ...

  9. oracle sequence 增加,详解ORACLE SEQUENCE用法

    在oracle中sequence就是序号,每次取的时候它会自动增加.sequence与表没有关系. 1.Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY ...

最新文章

  1. java请求header_java中处理header请求以及跟cookie相关的一些细节
  2. java数据库初始化参数,oracle数据库初始化参数设置--Java免费学习网
  3. 【Python】调用百度云API图像搜索服务
  4. JZOJ 5426. 【NOIP2017提高A组集训10.25】摘Galo
  5. 【数据结构与算法】之深入解析“最小高度树”的求解思路与算法示例
  6. PHP方向+go+rpc+swoole,瞅瞅 PHP+Swoole 作为网络通信框架
  7. HTML5新特性基础学习笔记下
  8. 解析数据访问层操作数据库的方式
  9. 2018.12.26 作业
  10. 12.企业应用架构模式 --- 对象-关系结构模式
  11. 配置VS2008来Debug .Net框架源码
  12. Golang高效实践之array、slice、map实践
  13. redmi_flash刷机之刷入第三方rec(recovery)TWRP_(2021.9.20实践)_以老旧机型redmi4x为例..待上传
  14. w10恢复出厂设置_w10电脑恢复出厂设置 w10电脑恢复出厂设置的方法
  15. vue 不是内部或外部命令
  16. 基于改进YOLOv7和CRNN的管道裂缝检测系统(源码&教程)
  17. 大流量高并发互联网应用实践在线峰会:资料汇总(更新ing~)
  18. 小米Pro 安装Ubuntu,以及安装成功之后,各种关机重启的卡死问题
  19. 2018noip普及组初赛竞赛总结
  20. jira字段配置(域配置)_到期日、时间跟踪等根据需要自行配置

热门文章

  1. 长沙学院教务处计算机二级,长沙学院2012年下半年全国计算机等级考试.doc
  2. PHP debug_backtrace的胡思乱想
  3. 在IE浏览器中出现js报“error:拒绝访问”的错误
  4. 基于pbl的c语言课程设计,基于PBL的程序设计语言教学案例设计
  5. qt qss设置字体大小_Qt 第一步 HelloWorld 的第一个程序
  6. 13 MySQL-优化
  7. 汉字风格迁移篇---数据集制作---ttf转png格式
  8. [JZOJ5335] 早苗
  9. 老衣的开发工具和类库集之2014版
  10. 火山PC锐浪报表使用教程4(Grid++Report)