归档重做日志文件的概念和选择

Oracle数据库能够把已经写满了的重做日志文件保存到一个或多个指定的离线位置,这种保存的文件为归档重做日志文件。通常情况下一个归档重做日志时一个被LGWR写满的重做日志文件组的一个成员的拷贝,

包含所有的重做记录及日志序列号等信息。

如果一个数据库应用系统不能承受任何的数据丢失,即使是介质损坏,也需要数据完全恢复,那么必须将数据库运行在归档模式。

1.非归档模式

此时数据库系统不会对被LGWR进程写满了的重做日志文件进行归档操作,所有的历史重做日志信息都将被覆盖而不复存在。因此,非归档模式下日志切换的前提条件是已写满的重做日志文件在被覆盖之前,其所有的重做记录所对应的

事务的操作结果全部写入数据库的数据文件中与归档无关。

在非归档模式下,数据库只能从市里崩溃中恢复,而无法进行介质的恢复。

2.归档模式

归档模式下切换日志的前提条件是已写满的重做日志文件在被覆盖之前。其所有重做记录所对应的事务操作结果全部写入数据文件中,而且归档进程要完成对该重做日志文件的归档操作。

主要具有的优点有:

(1)由于在归档模式下,数据库中所有的实力重做日志文件全部被保存,因此在数据库出现故障,即使是介质故障的情况下,利用数据库备份、归档重做日志文件盒联机重做日志文件也可以恢复数据库。

(2)在归档模式下,可以在数据运行时进行备份,也可以利用该备份恢复数据库.

(3)  在主数据库与备用数据库配置中,利用归档日志文件信息,可以保证备用数据库与主数据库达到相同的状态。

归档控制

     1.改变数据归档模式

可以通过archive log list命令查看当前数据库的归档设置情况

SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 1
下一个存档日志序列 2
当前日志序列 2

  将数据库从非归档模式转到归档模式

(1)关闭数据库

shutdown

(2) 备份数据库

(3)设置归档的目的地

(4)将数据库到加载状态

(5)改变数据库的归档模式

(6)打开数据库

3.手动归档

alter database archivelog manual

4.调整归档进程数量。

打开数据库是,启动归档进程的初始化数量的参数LOG_ARCHIVE_MAX_PROCESSES指定,默认为4.通常不需要修改该参数。

该参数为动态参数,可以使用 alter system set LOG_ARCHIVE_MAX_PROCESSES=6;

SQL> show parameter LOG_ARCHIVE_MAX_PROCESSES;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------
log_archive_max_processes integer 4
SQL> alter system set LOG_ARCHIVE_MAX_PROCESSES=6;
系统已更改。
SQL> alter system set LOG_ARCHIVE_MAX_PROCESSES=4;
系统已更改。

设置归档目的地

1.设置初始化参数指定归档目的地

可以通过设置LOG_ARCHIVE_DEST设置一个本地归档目的地,也可以通过初始化参数设置LOG_ARCHIVE_DEST_n设置两个或多个归档目的地。

2.设置LOG_ARCHIVE_DEST_n

(1) 初始化参数LOG_ARCHIVE_DEST_n最多能设置31个归档目的地,即n为1-31,其中1-10可以用来指定本地或远程的归档目的地,11-31只能用于指定远程的归档目的地。

SQL> alter system set LOG_ARCHIVE_DEST_6='LOCATION=d:\DISK4\ARCHIVE';

系统已更改。

     (2)设置初始化参数LOG_ARCHIVE_FORMAT,指定归档文件命名方式

SQL> show parameter log_archive_format

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_format string ARC%S_%R.%T
SQL> alter system set log_archive_format = 'arch_%t_%s_%r.arc' scope=spfile;

系统已更改。

  %s 表示日志序列号

%t 表示线程好

%r  表示重做日志的ID

大写的标志不足3为左侧添0

使用LOG_ARCHIVE_DEST_n参数的时候,可以指定OPTIONAL(默认 或者MANDATORY)选项。

下面说明:OPTIONAL选项:该选项是默认选项,表示可选的归档目的地。使用该选项,无论在该归档目的地上是否成功归档,都可以覆盖重做日志文件,数据库正常运行。

MANDATORY:该选项正好相反,重做日志必须归档成功,如果失败,重做日志将不能覆盖,数据库将被挂起。

REOPNE:该属性用于指定重新归档的时间间隔,默认值为300.

3.设置初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST

如果设置主/次两个本地归档目的地,可以使用初始化参数LOG_ARCHIVE_DEST设置主目的地,LOG_ARCHIVE_DUPLEX_DEST设置次目的地。

步骤

(1)查询数据字典视图 V$ARCHIVE_DEST,查看初始化参数LOG_ARCHIVE_DEST_n是否已经设置,如果设置了需要清空

SQL> select dest_name,destination from v$archive_dest;

DEST_NAME                                                                        DESTINATION
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
LOG_ARCHIVE_DEST_1
LOG_ARCHIVE_DEST_2
LOG_ARCHIVE_DEST_3
LOG_ARCHIVE_DEST_4
LOG_ARCHIVE_DEST_5
.......... 31 rows selected

  全部清空

alter system set LOG_ARCHIVE_DEST_1 =‘’;

(2)设置初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST.指定两个主次目的地。

(3)设置初始化参数LOG_ARCHIVE_FORMAT

4.归档目的地的状态

SQL> select dest_name,status from v$archive_dest;

DEST_NAME                                                                        STATUS
-------------------------------------------------------------------------------- ---------
LOG_ARCHIVE_DEST_1 INACTIVE
LOG_ARCHIVE_DEST_2 INACTIVE
LOG_ARCHIVE_DEST_3 INACTIVE
LOG_ARCHIVE_DEST_4 INACTIVE

  通过参数LOG_ARCHIVE_DEST_STATE_n可以控制指定归档目的地的状态。

该参数取值为ENABLE:b标识归档目的地可以使用

DEFER:该归档目的地暂不能使用

ALTERNATE:为备用目的地。

5.设置备用归档目的地。

如果住归档目的地不可用,可以自动切换到备用归档目的地,以免数据库无法归档而挂起。需要在主目的地使用NOREOPEN或者REOPEN=0属性。

查询归档重做日志文件信息

1.执行archive log list

SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 d:\DISK4\ARCHIVE
最早的联机日志序列 1
下一个存档日志序列 2
当前日志序列 2

 2.查询动态性能视图

V$ARCHVIED_LOG

V$ARCHVIE_DEST

V$LOG_HISTORY

V$DATABASE

V$ARCHIVE_PROCESSES

Oracle数据库体系结构(6)数据库归档重做日志文件管理的更多相关文章

  1. Oracle RACDB 增加、删除 在线重做日志组

    Oracle RACDB 增加.删除 在线重做日志组 select * from v$log;select * from v$logfile ; ----删除日志组:alter database dr ...

  2. ORACLE 移动数据文件 控制文件 重做日志文件

    ORACLE数据库有时候需要对存储进行调整,增加分区.IO调优等等,此时需要移动数据文件.重做日志文件.控制文件等等,下文结合例子总结一下这方面的知识点. 进行数据文件.重做日志文件.控制文件的迁移前 ...

  3. oracle 11g 数据库恢复技术 ---01 重做日志

    一 redo log Oracle数据库中的三大核心文件分别是数据文件(data file).重做日志(redo log)和控制文件(control file).数据文件保证了数据库的持久性,是保存修 ...

  4. Oracle学习笔记--第2章 oracle 数据库体系结构

    第2章 oracle 数据库体系结构 目录: ————————————— 2.1物理存储结构 2.1.1数据文件 2.2.2控制文件 2.1.3重做日志文件 2.1.4其他文件 2.2逻辑存储结构 2 ...

  5. oracle数据库体系结构

    一.oracle数据库体系结构 基本组成: Oracle server:一般情况下是一个instance和一个database组成 一般:1个instance只能对应一个数据库. 特殊:1个数据库可以 ...

  6. Oracle数据库——体系结构

    一.涉及内容 1.了解数据库的物理存储结构和逻辑存储结构 二.具体操作 1.分别使用SQL 命令和OEM 图形化工具查看本地数据库的物理文件,并使用OEM 工具在现有的users 表空间中添加user ...

  7. oracle数据库表空间及归档

    --表空间(TableSpace)是Oracle的开创性理念.表空间使得数据库管理更加灵活,而且极大地提高了数据库性能. --作用 :1.避免磁盘空间突然耗竭的风险 2.规划数据更灵活 3.提高数据库 ...

  8. (Les16 执行数据库恢复)-重做日志文件恢复

    丢失重做日志文件         丢失了重做日志文件组中的某个成员,并且组中至少还有一个成员:             -不会影响实例的正常操作.             -预警日志中会收到一条信息, ...

  9. Oracle数据库体系结构(1)整体概述

    oracle数据库的存储结构: 逻辑存储结构:oracle内部的组织和管理数据的方式 物理存储结构:oracle外部(操作系统)组织和管理数据的方式 oracle对逻辑存储结构和物理存储结构的管理是分 ...

随机推荐

  1. springMVC 【@response 返回对象自动变成json并且防止乱码】 & 【配置支持实体类中的@DateTimeFormat注解】

    在springmvc的配置文件中加上这一段即可 <bean class="org.springframework.web.servlet.mvc.annotation.Annotati ...

  2. iOS 原生二维码扫描和生成

    代码地址如下:http://www.demodashi.com/demo/12551.html 一.效果预览: 功能描述:WSLNativeScanTool是在利用原生API的条件下封装的二维码扫描工 ...

  3. 工作总结 返回 json 后台对象中,某一个字段设为string 整个对象转换为json 返回到页面中

    JsonRequestBehavior.AllowGet作用 若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet MVC 默认 Request 方式为 Po ...

  4. vbox克隆虚拟机,网卡启动报错“Device eth0 does not seem to be present”

    vbox克隆虚拟机,网卡启动报错"Device eth0 does not seem to be present". 须要看以下三个地方:确保文件名称,设备名.mac地址都一致. ...

  5. Linux下, Eclipse C/C++ IDE下编辑好C/C++源程序之后要先保存!!!否则,就会……

    注意:Linux下, Eclipse C/C++ IDE下编辑好C/C++源程序之后要先保存! ! ! 然后Project-->Build All/Build Project,再点绿箭头执行.否 ...

  6. 在Less中使用条件判断

    好几个月都没写点什么东西了,被外派到Gov开发项目,老旧的系统让开发痛苦不堪,接口文档甚至是2011年的,感觉这几个月的时间都被浪费在做兼容处理上了,并且没学到什么东西,心里挺不是滋味.回到公司后才知 ...

  7. CyclicBarrier的工作原理及其实例

    CyclicBarrier是多线程中一个重要的类,主要用于线程组内部之间的线程的相互等待问题. 1.CyclicBarrier的工作原理 CyclicBarrier大致是可循环利用的屏障,顾名思义,这 ...

  8. Python鸡汤

    标准库 很正确 外部库 有一些风险,可能有bug,可能文档不全,可能长时间未更新. ipython 1 pip 这应该是安装Python后第一个需要的命令 pip install -i -i, --i ...

  9. 08 nginx Location总结图解

  10. Smart pointer 智能指针小总结

    Smart pointer line 58之后smart pointer里的计数已经是0,所以会真正释放它引用的对象,调用被引用对象的析构函数.如果继续用指针访问,会出现如下图的内存访问异常.所以说如 ...