eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« 变化还是不变 这是一个问题 | Blog首页 | 从《越狱》(Prison Break)看中美差异 »

设置ARCHIVE_LAG_TARGET 强制日志切换
modb.pro

在DataGuard环境中,为了减少故障时数据损失,我们可以设置ARCHIVE_LAG_TARGET参数,强制进行日志切换。

ARCHIVE_LAG_TARGET参数可以设置一个时间,通过时间限制,指定数据库强制进行Log Switch,进行归档。

这个参数的缺省值是0,即为不启用该参数。该参数合理的取值范围在60 ~ 7200之间。
通常大于7200和小于1800不被推荐,低于30分钟的切换时间可能导致性能问题。

以下是我的一个生产环境的设置效果。
设置之前:

SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

Session altered.

SQL> col name for a60
SQL> select name,COMPLETION_TIME from v$archived_log where name is not null;

NAME COMPLETION_TIME
------------------------------------------------------------ -------------------
/data2/oradata/STAT/archive/1_5441_593258512.dbf 2006-11-20 10:49:57
/data2/oradata/STAT/archive/1_5442_593258512.dbf 2006-11-20 15:49:50

由于数据库并不繁忙,日志很久才会切换一次。

设置archive_lag_target参数:

SQL> show parameter archive_lag

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 0
SQL> alter system set archive_lag_target=1800;

System altered.

SQL> show parameter archive_lag

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 1800

此时可以看到日志切换时间发生改变:

[oracle@STAT ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.2.0 - Production on Mon Nov 20 21:31:31 2006

Copyright (c) 1982, 2005, Oracle. All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options

SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /data2/oradata/STAT/archive
Oldest online log sequence 5449
Next log sequence to archive 5451
Current log sequence 5451
SQL> !
[oracle@STAT ~]$ ll /data2/oradata/STAT/archive
total 125776
-rw-r----- 1 oracle oinstall 43030016 Nov 20 10:49 1_5441_593258512.dbf
-rw-r----- 1 oracle oinstall 43122688 Nov 20 15:49 1_5442_593258512.dbf
-rw-r----- 1 oracle oinstall 14172672 Nov 20 17:31 1_5443_593258512.dbf
-rw-r----- 1 oracle oinstall 3620864 Nov 20 18:02 1_5444_593258512.dbf
-rw-r----- 1 oracle oinstall 3511296 Nov 20 18:32 1_5445_593258512.dbf
-rw-r----- 1 oracle oinstall 3626496 Nov 20 19:02 1_5446_593258512.dbf
-rw-r----- 1 oracle oinstall 4903936 Nov 20 19:32 1_5447_593258512.dbf
-rw-r----- 1 oracle oinstall 3521536 Nov 20 20:02 1_5448_593258512.dbf
-rw-r----- 1 oracle oinstall 5144576 Nov 20 20:32 1_5449_593258512.dbf
-rw-r----- 1 oracle oinstall 3916800 Nov 20 21:02 1_5450_593258512.dbf

这个参数在DataGuard/Standby环境中是非常有效的。

-The End-


历史上的今天...
    >> 2011-11-21文章:
    >> 2008-11-21文章:
    >> 2007-11-21文章:
    >> 2004-11-21文章:
           Le Papillon(法语:蝴蝶)

By eygle on 2006-11-21 10:07 | Comments (3) | Advanced | 975 |

3 Comments

我設置它為30﹐卻不成功。數據庫為10.2.0.1

呵呵,今天和Oracle的Data Guard团队讨论了这个问题。

取值范围为60-7200,单位为秒
数据库版本为11.2.0.1


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com