您的位置:首页 > 数据库 > Oracle

oracle-dba- 管理归档日志

2017-03-03 23:20 218 查看
作用:保证数据库发生介质故障时,可以完全恢复数据库

Log buffer lgwr进程redo logarch进程archived log

查看数据库的归档模式

Archive log list;

查询默认归档目录

Show parameter db_recovery_file_dest;

启动归档模式,此时做一次数据库的全备份,包括数据文件和控制文件。Oracle11G自动启动归档进程,之前的版本需要手动启动

Alter database archivelog;

设置归档进程与归档目录

归档进程把重做日志文件读取到写入归档日志文件,这个过程相对LGWR工作慢。

如果当前的生产数据库的DML操作很频繁,产生重做数据的效率很高,有可能出现归档进程无法匹配LGWR进程的工作。即归档进程慢,造成写重做日志的等待。

解决方案,启动更多的后台归档进程。

查看最大的日志归档进程。

show parameter log_archive_max_processes;

修改最大日志归档进程

alter system set log_archive_max_processes=4;

归档日志是实现数据库完全恢复的关键数据,必须做好归档日志的保护工作。Oracle提供了30个归档目录,用来冗余归档日志备份。只要我们实现了归档日志的物理冗余备份,就极大保证了归档日志的高复用性,防止发生数据库介质故障造成的数据丢失。

查询归档日志相关参数

show parameter log_archive_Dest;

其中log_archive_dest_n参数指定归档目录的绝对路径,

log_archive_dest_state_n参数指定这些归档目录的状态。可以用来归档目录的维护。

Log_archive_dest_n设置相关的关键字

Location 本地文件系统或ASM磁盘组log_archive_dest_n=’location=[/disk1/arc]|[+DGP]’

Location使用快速恢复区FastRecovery Area log

Log_archive_dest_n=’LOCATION=USE_DB_RECOVERY_FILE_DEST’

Service通过OracleNetServiceName的远程归档

Log_archive_dest_N=’service=sd1’

设置参数log_archive_dest_1

Alter system set log_archive_dest_1=’location=f:\temp\mandatory’

Location :归档日志在本地磁盘,设置目录不存在,默认去上一层目录存,不存在或者损坏则数据库挂起。

Mandatory:强制该目录下的归档日志写成功,否则未成功的归档的重做日志组不能重用,数据库会挂起。也可以设置optional

Optional:即使该归档目录对应的重做日志没有向该目录写成功,所对应的重做日志文件依然可以使用。默认optional。

查询归档目录

Show parameter log_arrchive_dest_1;

验证归档终点设置

Select destination ,binding,target,status from v$archive_dest where destination is not null;

为了保证归档文件高可用性,依然需要使用冗余方法实现归档数据的保护,同时oracle提供了参数log_archive_min_succed_dest,以保证最少的成功归档终点。

即如果设置了3个归档目录,而参数值为3,则至少保证其中3个归档终点必须归档成功。

查询默认值

Show parameter log_archive_min_succeed_dest;

修改参数值,强制保证至少2个归档目录归档成功

Alter system set log_archive_min_succeed_dest=2;

如果只需要设置归档目录log_archive_dest即可,如果设置主备2个归档目录,可设置Log_archive_dest和log_archive_duplex_dest;

查询归档文件的格式

Show parameter log_archive_format;

ARC%S_%R.%T:%S表示日志序列号,%R表示resetlogs ID,%T表示线程号(单实例数据库,此线程号不会改变)。

维护归档目录

归档目录状态,即log_archive_dest_state_n参数的值

ENABLE:磁盘目录或者服务名换已经指定,并且是有效的

DEFER:目录临时禁止,维护归档目录时,会经常使用

ALTERNATIVE:该目录为备用目录,当与其对应的主目录发生故障,自动启动。

查看归档目录的状态

Select dest_name,status,binding,process,error from v$archive_dest where status not like ‘INA%’;

修改归档目录状态为defer

Alter system set log_archive_dest_state_1=defer;

此时如果发生归档行为,则归档日志无法使用该目录。手工归档时可以归档成功,因为设置了log_archive_min_succeed_dest参数为2,并且设置了一个MANDATORY归档目录和2个optional归档目录

设置备用归档日志目录

1:设置一个归档终点log_archive_dest_4

Altere system set log_archive_dest_4=’location=f:\app\archive4\’;

2:给主归档目录终点增加alternate参数

Alter system set log_archive_dest_1=’location=f\app\archive1\ mandatory alternamte=LOG_ARCHIVE_DEST_4’;

3:将log_archive_dest_4状态修改为alternate

Alter system set log_archive_dest_4=alternate;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: