`
cii001
  • 浏览: 24354 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle 归档日志管理(转载)

阅读更多

     归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档日志中.当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库.


日志操作模式:ARCHIVELOG NOARCHIVELOG


1,改变日志操作模式:

检查当前日志操作模式

SELECT log_mode from v$database;

关闭数据库,然后装载数据库

SHUTDOWN IMMEDIATE
STARTUP MOUNT

改变日志操作模式,然后打开数据库

ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;


2,执行手工归档

从oracle database 10g开始,当将日志操作模式转变未ARCHIVELOG模式时,oracle会自动启动ARCH进程.如果要使用手工归档.那么在改变日志操作模式时必须使用命令ALTER DATABASE ARCHIVELOG MANUAL.

需要注意,使用手工归档方式,数据库管理员必须手工执行归档命令.如果没有执行手工归档命令,日志组的原有内容将不能被覆盖.ALTER DATABASE ARCHIVELOG MANUAL 命令是为了与先前的版本兼容而保留的,.将来的oracle版本会淘汰该命令,使用手工归档方式是,数据库管理员可以执行以下命令归档重做日志:

ALTER SYSTEM ARCHIVELOG ALL;


3,配置归档进程

初始化参数LOG_ARCHIVE_MAX_PROCESSES用于指定例程初始启动的最大归档进程个数,当将数据库转变为ARCHIVELOG模式时,默认情况下oracle会自动启动两个归档进程.通过改变初始化参数LOG_ARCHIVE_MAX_PROCESS的值,可以动态地增加或降低归档进程的个数:

ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3;

 

配置归档位置和文件格式

当数据库处于ARCHIVELOG模式时,如果进行日志切换,后台进程将自动生成归档日志,归档日志的默认位置为%oracle_home%rdbms,在oracle database 10g中,归档日志的默认文件格式为ARC%S_%R.%T.为了改变归档日志的位置和名称格式,必须改变相应的初始化参数,


1,初始化参数LOG_ARCHIVE_FORMAT用于指定归档日志的文件名格式,设置该初始化参数时,可以指定以下匹配符:

%s: 日志序列号:

%S: 日志序列号(带有前导0)

%t: 重做线程编号.

%T: 重做线程编号(带有前导0)

%a: 活动ID号

%d: 数据库ID号

%r RESETLOGS的ID值.

从10g开始,配置归档日志文件格式时,必须带有%s,%t和%r匹配符,配置了归档文件格式后,必须重启数据库.


2,使用LOG_ARCHIVE_DEST配置归档位置

如果不使用备用数据库,只需要将归档日志存放到本地目录.配置本地归档位置可以使用初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST,其中,第一个参数用于设置第一个归档位置,第二个参数用于指定第二个归档位置.

ALTER SYSTEM SET log_archive_dest='d:demoarchive1';

ALTER SYSTEM SET log_archive_duplex_dest='d:demoarchive2';


3,使用LOG_ARCHIVE_DEST_n配置多个归档位置.

初始化参数LOG_ARCHIVE_DEST_n用于指定多个归档位置,该参数最多可以指定10个归档位置.通过使用初始化参数LOG_ARCHIVE_DEST_n,不仅可以配置本地归档位置,还可以配置远程归档位置.

如果既要在主节点上生成归档日志,又要将归档日志传递到备用节点,那么必须使用参数LOG_ARCHIVE_DEST_n.该参数与LOG_ARCHIVE_DEST具有如下区别;

初始化参数LOG_ARCHIVE_DEST_n可以配置本地归档位置和远程归档位置,而初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST只能配置本地归档位置.

初始化参数LOG_ARCHIVE_DEST_n可以配置多达10个归档位置,而初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST最多只能配置两个归档位置.

初始化参数LOG_ARCHIVE_DEST_n 不能与初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST同时使用.

因为初始化参数LOG_ARCHIVE_DEST_n不能与初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST同时使用,所以必须禁用初始化参数LOG_ARCHVE_DEST和LOG_ARCHIVE_DUPLEX_DEST.当使用初始化参数LOG_ARCHIVE_DEST_n配置本地归档位置时,需要指定LOCALTION选项.当配置远程归档位置时,需要指定SERVICE选项.


示例如下:

ALTER SYSTEM SET log_archive_duplex_dest='';

ALTER SYSTEM SET log_archive_dest='';

ALTER SYSTEM SET log_archive_dest_1='location=d:demoarchive1';

ALTER SYSTEM SET log_archive_dest_2='location=d:demoarchive2';

ALTER SYSTEM SET log_archive_dest_3='location=d:demoarchive3';

ALTER SYSTEM SET log_archive_dest_4='service=standby';


配置远程归档位置时,SERVICE选项需要指定远程数据库的网络服务名(在tnsnames.ora文件中配置)


4,使用LOG_ARCHIVE_DEST_n选项

使用初始化参数LOG_ARCHIVE_DEST_n配置归档位置时,可以在归档位置上指定OPTIONAL或MANDATORY选项.指定MANDATORY选项时,可以设置REOPEN属性.

OPTIONAL:该选项是默认选项.使用该选项时,无论归档是否成功,都可以覆盖重做日志.

MANDATORY:强制归档.使用该选项时,只有在归档成功之后,重做日志才能被覆盖.

REOPEN:该属性用于指定重新归档的时间间隔,默认值为300秒,必须跟在MANDATORY后.

例:

Alter system set log_archive_dest_1=’location=d:demoarchive1 mandatory’;
Alter system set log_archive_dest_2=’location=d:demoarchive2 mandatory reopen=500’;
Alter system set log_archive_dest_3=’location=d:demoarchive3 optional’;


5,控制本地归档成功的最小个数.

使用初始化参数LOG_ARCHIVE_MIN_SUCCEED_DEST控制本地归档的最小成功个数

Alter system set log_archive_min_succeed_dest=2;


6,使用初始化参数LOG_ARCHIVE_DEST_STATE_n控制归档位置的可用性.设置该参数为ENABLE(默认值),表示会激活相应的归档位置;设置该参数为DEFER,表示禁用相应归档位置.当归档日志所在磁盘损坏或填满时,DBA需要暂时禁用该归档位置.

Alter system set log_archive_dest_state_3=defer;(禁用)
Alter system set log_archive_dest_state_3=enable;(启用)


显示归档日志信息

1,使用ARCHIVE LOG LIST命令可以显示日志操作模式,归档位置,自动归档机器要归档的日志序列号等信息.


2显示日志操作模式

SELECT name,log_mode FROM v$database;


3,显示归档日志信息.

Col name format a46
Select name, swquence#, first_change# FROM v$archived_log;

Name用于表示归档日志文件名,sequence#用于表示归档日志对应的日志序列号,firs_change#用于标识归档日志的起始SCN值.


4、执行介质恢复时,需要使用归档日志文件,此四必须准确定位归档日志的存放位置.通过查询动态性能视图v$archive_dest可以取得归档日志所在目录.

SELECT destination FROM v$archive dest;


5,显示日志历史信息

SELECT * FROM v$loghist;

THREAD#用于标识重做线程号,SEQUNCE#用于标识日志序列号,FIRST_CHANGE#用于标识日志序列号对应的起始SCN值,FIRST_TIME用于标识起始SCN的发生时间.SWICTH_CHANGE#用于标识日志切换的SCN值.


6.显示归档进程信息.

进行日志切换时,ARCH进程会自动将重做日志内容复制到归档日志中,为了加快归档速度,应该启用多个ARCH进程.通过查询动态性能视图V$ARCHIVE_PROCESSES可以显示所有归档进程的信息!

SELECT * FROM v$archive_processes;

Porcess用于标识ARCH进程的编号,status用于标识ARCH进程的状态(ACTIVE:活动,STOPPED:未启动),log_sequence用于标识正在进行归档的日志序列号,state用于标识ARCH进程的工作状

分享到:
评论

相关推荐

    ORACLE归档日志设置

    ORACLE归档日志设置 ORACLE数据库的归档日志设置是一种重要的机制,旨在保障数据库的安全性和灾难恢复能力。通过设置数据库的日志模式和自动归档模式,可以确保数据库的可靠性和可恢复性。 数据库日志模式的设置是...

    Oracle归档日志管理

    Oracle归档日志非常重要,对归档日志的管理更加重要,本文主要讲解Oracle归档日志方面的各种管理,值得收藏。

    如何正确删除Oracle归档日志

    ### 如何正确删除Oracle归档日志 #### 一、问题背景 在Oracle数据库的日常运维工作中,归档日志的管理和清理是一项重要的任务。随着业务的发展和数据的增长,归档日志会不断累积,占据大量的磁盘空间。如果不及时...

    自动删除ORACLE归档日志文件

    #功能:自动删除ORACLE归档日志文件 #删除方式:rman ,deletearchivelog #调用方式:可单独调用,或在job_clean_archivlog.sh脚本中根据需要调用见另外的附件) ##############################################

    Oracle清除归档日志

    #### 一、Oracle归档日志简介 Oracle数据库中的归档日志包含了所有事务处理的更改记录,用于数据库恢复操作。归档日志是在数据库处于归档模式下,当重做日志文件填满并进行切换时生成的。归档日志存储在指定的位置...

    oracle归档日志挖掘详细步骤.docx

    Oracle数据库归档日志挖掘是数据库管理中一项重要的任务,特别是在数据恢复、审计或问题排查时。本操作手册提供了一套详细的步骤,适用于对Oracle不太熟悉的用户,旨在帮助他们理解和执行归档日志的分析。 首先,...

    Oracle-归档日志详解(运行模式、分类)

    Oracle 归档日志详解(运行模式、分类) Oracle 归档日志是 Oracle 数据库中的一种日志机制,用于记录数据库的所有变化,以便在出现问题时进行恢复。归档日志可分为在线重做日志和归档重做日志两大类。 在线重做...

    当空间占用率高于60%时自动删除ORACLE归档日志文件

    #功能:当空间占用率高于60%时自动删除ORACLE归档日志文件 # #删除方式:高于60%时使用rman+deletearchivelog,高于79%时使用武力删除 #调用方式:可单独调用,或配置定时任务自动执行脚本(会调用clean_archivelog....

    oracle归档日志的开启及删除.docx

    Oracle归档日志的开启、关闭和删除 Oracle数据库中的归档日志(Archive Log)是一种重要的日志机制,用于记录数据库中的所有操作,以便在数据库崩溃或系统故障时能够快速恢复数据。然而,打开归档日志模式后,会...

    oracle归档日志删除

    Oracle 归档日志删除 ...这个命令可以报告过期的归档日志,以便管理员可以删除这些过期的归档日志。 删除 Oracle 归档日志需要遵循一定的步骤和命令,否则可能会导致数据库启动不起来或数据库不能正常使用。

    oracle归档日志笔记

    ### Oracle归档日志知识点详解 #### 一、Oracle在线重做日志(Online Redo Log)概述 **在线重做日志(Online Redo Log)**是Oracle数据库的重要组成部分,用于记录所有对数据库所做的更改操作。这些更改包括数据...

    Oracle归档日志空间不足引发的问题及归档日志的检测与删除

    综上所述,了解和管理Oracle归档日志对于确保数据库的稳定运行至关重要。通过对归档日志的监控、适时的删除策略和合理的空间规划,可以有效避免因归档日志空间不足引发的问题,保障数据库的高效运行。

    Oracle归档日志删除

    Oracle归档日志是数据库运行过程中产生的事务日志的备份,用于在发生故障时进行数据恢复。当数据库在归档模式下运行时,每次检查点都会生成新的归档日志,以便在系统崩溃或介质故障后能够恢复到一致的状态。然而,...

    Oracle 删除归档日志实例

    在Oracle数据库管理中,归档日志的处理是一项重要的任务。对于选择了非归档模式但仍希望使用闪回等功能的数据库来说,随着时间的推移,归档日志可能会占用大量的磁盘空间,导致系统性能下降甚至无法正常运行。因此,...

    删除ORACLE归档日志

    本文将详细解释如何在Windows和Linux系统上使用脚本删除Oracle归档日志,并讨论相关知识点。 首先,删除Oracle归档日志前,我们需要理解以下几个关键概念: 1. **归档模式**:当Oracle数据库运行在归档模式下,...

    Oracle归档日志空间不足引发的问题及解决方法

    ### Oracle归档日志空间不足引发的问题及解决方法 #### 一、问题概述 在Oracle数据库的日常管理和维护过程中,可能会遇到归档日志空间不足的情况。这种情况一旦发生,不仅会影响到数据库的正常运行,还可能导致...

    oracle RAC集群修改归档日志路径.docx

    在实际操作中,可能还需要考虑其他因素,例如归档日志策略、空间管理、备份策略等。确保在修改归档路径后,这些策略也能适应新的配置。此外,监控归档日志空间使用情况并定期清理旧的归档日志以防止空间耗尽也是必要...

    32.Oracle归档日志管理1

    在 Oracle 数据库中,日志管理是至关重要的,因为它直接影响着数据的安全性和可恢复性。重做日志(Redo Log)是记录数据库事务更改的关键组件,分为在线日志和归档日志。 在线日志文件是正在使用的日志文件,它们...

Global site tag (gtag.js) - Google Analytics