归档日志是联机重做日志组文件的一个副本,包含redo记录和一个唯一的log sequence number.
对日志组的一个日志文件进行归档,如果改组其中一个损坏,则另一个可用的日志将会被归档
归档日志的用途
a.恢复数据库
b.更新standby数据库
c.使用logminer提取历史日志相关信息
1.非归档模式,即创建数据库时默认缺省的日志管理模式。
此模式下,当日志切换,检查点产生后,联机重做日志文件即可被重新使用,联机日志被覆盖后,介质恢复
仅仅支持到最近的完整备份
2.归档模式
在日志切换时,下一个即将被写入日志组必须归档完成之后,日志组才可以使用,
归档日志的log sequence number信息会被记录到控制文件之中。
1.aechive log list --显示日志操作模式,还可以显示归档位置,自动归档以及要归档的日志序列号等信息
sys@ORCL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 5
Next log sequence to archive 8
Current log sequence
2.显示日志操作模式
sys@ORCL> select name,log_mode from v$database;
NAME LOG_MODE
--------- ------------
ORCL ARCHIVELOG
3.显示归档日志信息
sys@ORCL> select name,sequence#,first_change# from v$archived_log;
4.显示归档日志位置
sys@ORCL> select destination from v$archive_dest;
DESTINATION
----------------------------------------------------------------------------------------------------
USE_DB_RECOVERY_FILE_DEST
5.显示日志历史信息
sys@ORCL> select * from v$loghist;
THREAD# SEQUENCE# FIRST_CHANGE# FIRST_TIM SWITCH_CHANGE#
---------- ---------- ------------- --------- --------------
1 1 1715719 14-MAR-16 1743102
1 2 1743102 15-MAR-16 1744236
1 1 1744236 15-MAR-16 1793404
6.显示归档进程信息
sys@ORCL> select * from v$archive_processes;
PROCESS STATUS LOG_SEQUENCE STAT
---------- ---------- ------------ ----
0 ACTIVE 0 IDLE
1 ACTIVE 0 IDLE
7.执行手工归档
sys@ORCL> alter system archive log current;
System altered.
8.配置归档进程
sys@ORCL> alter system set log_archive_max_processes=4;
System altered.
a.创建归档目录
[oracle@redhat5 oracle]$ mkdir /oracle/app/oracle/archivelog1
[oracle@redhat5 oracle]$ mkdir /oracle/app/oracle/archivelog2
b.改变参数设置
SQL> alter system set log_archive_dest_1='location=/oracle/app/oracle/archivelog1' scope=spfile;
System altered.
SQL> alter system set log_archive_dest_2='location=/oracle/app/oracle/archivelog2' scope=spfile;
System altered
c.重启验证
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 839282688 bytes
Fixed Size 2233000 bytes
Variable Size 503319896 bytes
Database Buffers 331350016 bytes
Redo Buffers 2379776 bytes
Database mounted.
Database opened.
SQL> show parameter archive_log
SQL> show parameter log_archive_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string location=/oracle/app/oracle/ar
chivelog1
d.
SQL> alter system archive log current;
System altered.
查看新创建的目录下是否有文档日志
查看归档目的地的相关状态信息
select dest_name,status,archiver,destination,log_sequence,reopen_secs,transmit_mode,process from v$archive_dest;
e.停用log_archive_dest_state_2
SQL> alter system set log_archive_dest_state_2=defer; --enable会禁用相应的归档位置,enable则会激活
System altered.
SQL> show parameter log_archive_dest_state;
此时再手工归档,可以看出archivelog1比archivelog2多出几个归档文件