归档日志管理

1. 手动归档
SQL> alter database archivelog manual;

SQL> alter system archive log all  --使用all子句归档所有被写满的重做日志文件组
SQL> alter system archive log current --使用current子句归档当前的重做日志文件组

SQL> show parameter log_archive_max_processes --日志归档进程数  

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_max_processes            integer     4

2.设置归档目的地,初始化参数Log_archive_dest_n
log_archive_dest_n 最多可以设置31个归档目的地,
1-10用于指定本地的或远程的归档目的地,
11-31只能用于只用于指定远程的归档目的地

关键字(LOCATION:本地路径;SERVICE:远程路径)
alter system set log_archive_dest_1='LOCATION=/opt/oracle/arch';
alter system set log_archive_dest_2='LOCATION=USE_DB_RECOVERY_FILE_DEST'
alter system set log_archive_dest_3='LOCATION=+RECOVERY';
alter system set log_archive_dest_4='SERVICE=STANDBY1';

---
设置Log_archive_format,指定归档文件命名方式
SQL> alter system set log_archive_format='ARCH_%t_%s_%r.arc' scope=spfile;
%s 代表日志序列号(Log Sequence Number)
%S 代表日志序列号,不足3位左侧添加0补齐
%t 代表线程号(Thread Number)
%T 代表线程号,不足3位左侧添加0补齐
%r 代表重做日志的ID(Resetlogs ID)
%R 代表重做日志的ID,,不足3位左侧添加0补齐

Optional  可选的归档目的地,无论该归档目的地上时候成功归档,都覆盖重做日志文件
Mandatory 强制归档,必须成功归档的目的地,如果归档失败,重做日志文件将不能被覆盖,数据库将挂起
Reopen    指定重新归档的时间间隔,默认值为300,必须跟在Mandatory选项之后

SQL> alter system set log_archive_dest_1='LOCATION=/opt/oracle/arch  Mandatory';
SQL> alter system set log_archive_dest_2='LOCATION=USE_DB_RECOVERY_FILE_DEST Optional';

注意:以下初始化参数为一组的使用
    Log_archive_dest 主归档路径
    Log_archive_duplex_dest 次归档路路径
Log_archive_dest_n只能使用一组来设置归档目的地,不可与Log_archive_dest和Log_archive_duplex_dest同用

---
Log_archive_dest_state_n(n为整数,取1-31的某个值)
1. enable: 标识归档目的地可以使用
2. defer:  标识归档目的地暂时不可用
3. alterNate: 标识Log_archive_dest_n指定归档目的地为备用归档目的地.

SQL> alter system set log_archive_dest_state_5=ALTERNATE;

注意: 
1. 备用归档目的地状态为defer时候,当与其对应的归档目的地(主归档目的地)不可用时候,该备用目的地
状态变为Enable,代替不可用的主归档目的地,成为新归档目的地.
2. 备用归档目的所对应的主归档目的不能为Log_archive_dest_11到Log_archive_dest_31


SQL> alter system set log_archive_dest_5='LOCATION=/opt/oracle/arch5';
SQL> alter system set log_archive_dest_state_5=alterNate;
SQL> alter system set log_archive_dest_4='LOCATION=/opt/oracle/arch altername=Log_archive_dest_5 NOREOPEN';
重做日志文件被归档当主归档目的地/opt/oracle/arch4目录,如果/opt/oracle/arch4目录不可用,系统会报告一次错误,然后自动切换
到备用归档目的地/opt/oracle/arch5目录,同时主归档目的地的状态变为disabled,备用归档目的地状态变为Valid

SQL> select dest_name,status,destination from v$archive_dest;

DEST_NAME                                                                        STATUS             DESTINATION
-------------------------------------------------------------------------------- ------------------ -------------------------
LOG_ARCHIVE_DEST_1                                                               VALID              +ARCH   --归档存储到ASM中
LOG_ARCHIVE_DEST_2                                                               VALID              NET_ORCLDG  --归档存储到远程DG中,其中net_orcldg为远程网络服务名


SQL> select sequence#,first_change#,next_change# from v$archived_log;  --查看归档日志SCN起点和结束点SCN

 SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
---------- ------------- ------------
       155       1980744      1998384
       156       1998384      1998629
       156       1998384      1998629
       116       1998380      1998659
       116       1998380      1998659
       157       1998629      1999665

 

posted @ 2020-03-07 21:50  vmsysjack  阅读(284)  评论(0编辑  收藏  举报