您的位置:首页 > 其它

Specifying Alternate Destinations

2015-11-02 11:40 239 查看


Specifying Alternate Destinations

To specify that a location be an archive destination
only in the event of a failure of another destination, you can make it an alternate destination. Both local and remote destinations can be alternates. The following example makes
LOG_ARCHIVE_DEST_4
an
alternate for
LOG_ARCHIVE_DEST_3
:
ALTER SYSTEM SET LOG_ARCHIVE_DEST_4 = 'LOCATION=/disk4/arch';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_3 = 'LOCATION=/disk3/arch MAX_FAILURE=1
ALTERNATE=LOG_ARCHIVE_DEST_4';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_4=ALTERNATE;

SQL> SELECT dest_name, status, destination FROM v$archive_dest;

DEST_NAME               STATUS    DESTINATION
----------------------- --------- ----------------------------------------------
LOG_ARCHIVE_DEST_1      VALID     /disk1/arch
LOG_ARCHIVE_DEST_2      VALID     /disk2/arch
LOG_ARCHIVE_DEST_3      VALID     /disk3/arch
LOG_ARCHIVE_DEST_4      ALTERNATE /disk4/arch

通过测试:
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = 'LOCATION=G:\testb' scope=spfile;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = 'LOCATION=F:\test\a NOREOPEN MAX_FAILURE=1 ALTERNATE=LOG_ARCHIVE_DEST_2' scope=spfile;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ALTERNATE  scope=spfile;
shut immediate;
startup

SQL> show parameter log_archive_dest_
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1                   string      LOCATION=I:\test  MANDATORY  M
AX_FAILURE=1 ALTERNATE=LOG_ARC
HIVE_DEST_2
log_archive_dest_2                   string      LOCATION=F:\test1  MANDATORY

SQL> select dest_id,dest_name,status,destination,REOPEN_SECS,failure_count,max_failure from v$archive_dest where dest_name in ('LOG_ARCHIVE_DEST_1','LOG_ARCHIVE_DEST_2');

DEST_ID DEST_NAME                                          STATUS    DESTINATION                                REOPEN_SECS FAILURE_COUNT MAX_FAILURE
---------- -------------------------------------------------- --------- -------------------------------------------------- ----------- ------------- -----------
1 LOG_ARCHIVE_DEST_1                                 VALID     I:\test                                            300             0           1
2 LOG_ARCHIVE_DEST_2                                 ALTERNATE F:\test1                                           300             0           0

alter system switch logfile;
切换n个 log;
alter system switch logfile;

I:\test 所在的盘i盘撑满
继续切换日志
alter system switch logfile;

可以发现日志切换到了   F:\test1   盘
我们可以查看日志目录的状态:

SQL> select dest_id,dest_name,status,destination,REOPEN_SECS,failure_count,max_failure from v$archive_dest where dest_name in ('LOG_ARCHIVE_DEST_1','LOG_ARCHIVE_DEST_2');
DEST_ID DEST_NAME                                          STATUS    DESTINATION                                REOPEN_SECS FAILURE_COUNT MAX_FAILURE
---------- -------------------------------------------------- --------- -------------------------------------------------- ----------- ------------- -----------
1 LOG_ARCHIVE_DEST_1                                 DISABLED  I:\test                                            300             1           1
2 LOG_ARCHIVE_DEST_2                                 VALID     F:\test1                                           300             0           0

在I盘满后,如果要切换回原来的LOG_ARCHIVE_DEST_1 为主盘,LOG_ARCHIVE_DEST_2 为备盘,可以切换
alter system set  LOG_ARCHIVE_DEST_STATE_1=ENABLE;
alter system set  LOG_ARCHIVE_DEST_STATE_2=ALTERNATE;

SQL> select dest_id,dest_name,status,destination,REOPEN_SECS,failure_count,max_failure from v$archive_dest where dest_name in ('LOG_ARCHIVE_DEST_1','LOG_ARCHIVE_DEST_2')
DEST_ID DEST_NAME                                          STATUS    DESTINATION                                REOPEN_SECS FAILURE_COUNT MAX_FAILURE
---------- -------------------------------------------------- --------- -------------------------------------------------- ----------- ------------- -----------
1 LOG_ARCHIVE_DEST_1                                 VALID     I:\test                                            300             1           1
2 LOG_ARCHIVE_DEST_2                                 ALTERNATE F:\test1                                           300             0           0
然后再切日志alter system switch logfile; 归档又会切到LOG_ARCHIVE_DEST_1 地址

相关参数:
location   配置本地归档位置
service   配置远程归档位置(即DG)
mandatory   必须成功归档到指定路径之后,redo日志才能被复用。备库上慎用
optional   可选的归档目标,如果归档失败,放弃归档
reopen=n   归档失败后重试周期,默认值300秒
AFFIRM—specifies that a redo transport destination acknowledges received redo data after writing it to the standby redo log.

NOAFFIRM—specifies that a redo transport destination acknowledges received redo data before writing it to the standby redo log.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: