天天看点

Archive Log的基本应用和启用

归档日志即重做日志的备份,使用归档日志的目的是为了实现介质恢复。

日志操作模式

1. Noarchivelog(非归档模式)

不保存重做日志。

不能在open状态下进行物理备份;要定期执行完全数据库备份;只能将数据库恢复到上次的完全备份点。

2. Archivelog

当进行日志切换时,ARCH进程会将重做日志的内容复制到归档日志中。

在归档重做日志前,新事务变化不能覆盖旧事务变化。

可以在open 状态下进行物理备份。

可以将数据库恢复到失败前的状态。

Oracle Redo Log模式

Elapsed: 00:00:00.03

Elapsed: 00:00:00.02

97 rows selected.

Elapsed: 00:00:00.27

NAME FIRST_CHANGE# NEXT_CHANGE# FIRST_TIME NEXT_TIME

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000070_0962644946.0001 4241143 4261261 2018-01-08 22:00:46 2018-01-09 01:07:32

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000071_0962644946.0001 4261261 4328022 2018-01-09 01:07:32 2018-01-09 22:01:12

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000072_0962644946.0001 4328022 4361569 2018-01-09 22:01:12 2018-01-10 09:21:04

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000073_0962644946.0001 4361569 4414925 2018-01-10 09:21:04 2018-01-10 22:00:35

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000074_0962644946.0001 4414925 4438662 2018-01-10 22:00:35 2018-01-11 02:00:38

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000075_0962644946.0001 4438662 4457139 2018-01-11 02:00:38 2018-01-11 10:08:44

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000076_0962644946.0001 4457139 4508210 2018-01-11 10:08:44 2018-01-11 22:22:37

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000077_0962644946.0001 4508210 4552303 2018-01-11 22:22:37 2018-01-12 12:00:36

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000078_0962644946.0001 4552303 4598294 2018-01-12 12:00:36 2018-01-12 22:23:35

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000079_0962644946.0001 4598294 4633267 2018-01-12 22:23:35 2018-01-13 07:06:06

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000080_0962644946.0001 4633267 4673785 2018-01-13 07:06:06 2018-01-13 13:16:27

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000081_0962644946.0001 4673785 4707598 2018-01-13 13:16:27 2018-01-13 18:00:46

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000082_0962644946.0001 4707598 4737114 2018-01-13 18:00:46 2018-01-13 22:16:57

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000083_0962644946.0001 4737114 4760771 2018-01-13 22:16:57 2018-01-14 00:17:34

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000084_0962644946.0001 4760771 4797971 2018-01-14 00:17:34 2018-01-14 05:27:27

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000085_0962644946.0001 4797971 4826958 2018-01-14 05:27:27 2018-01-14 08:47:44

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000086_0962644946.0001 4826958 4865442 2018-01-14 08:47:44 2018-01-14 12:28:02

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000087_0962644946.0001 4865442 4898783 2018-01-14 12:28:02 2018-01-14 16:18:12

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000088_0962644946.0001 4898783 4938985 2018-01-14 16:18:12 2018-01-14 22:08:45

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000089_0962644946.0001 4938985 4967429 2018-01-14 22:08:45 2018-01-15 01:18:50

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000090_0962644946.0001 4967429 5007404 2018-01-15 01:18:50 2018-01-15 07:29:15

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000091_0962644946.0001 5007404 5142845 2018-01-15 07:29:15 2018-01-15 15:53:21

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000092_0962644946.0001 5142845 5249046 2018-01-15 15:53:21 2018-01-15 16:37:31

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000093_0962644946.0001 5249046 5278163 2018-01-15 16:37:31 2018-01-16 01:00:32

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000094_0962644946.0001 5278163 5311651 2018-01-16 01:00:32 2018-01-16 13:00:21

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000095_0962644946.0001 5311651 5332295 2018-01-16 13:00:21 2018-01-16 15:52:10

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000096_0962644946.0001 5332295 5349625 2018-01-16 15:52:10 2018-01-16 22:00:41

C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000097_0962644946.0001 5349625 5379203 2018-01-16 22:00:41 2018-01-17 07:00:02

28 rows selected.

Elapsed: 00:00:00.08

v$archived_log记录的数据库所有的归档日志信息,在删除归档日志的时候不能在操作系统下面直接删除以为就可以了,v$archived_log里面的记录还是不会变话的,要想删除归档日志必须使用rman来删除,这样oracle数据库才知道变化,或者使用操作系统命令来删除也是可以的,但还是要使用rman来更新一下expired的日志。

2 name,

3 value,

4 description

5 from v$parameter

6 where name like 'log_archive_dest%'

7 /

63 rows selected.

Elapsed: 00:00:00.16

确定参数

也可以用

NAME TYPE VALUE

log_archive_dest string

log_archive_dest_1 string

log_archive_dest_10 string

log_archive_dest_11 string

log_archive_dest_12 string

log_archive_dest_13 string

log_archive_dest_14 string

log_archive_dest_15 string

log_archive_dest_16 string

log_archive_dest_17 string

log_archive_dest_18 string

log_archive_dest_19 string

log_archive_dest_2 string

log_archive_dest_20 string

log_archive_dest_21 string

log_archive_dest_22 string

log_archive_dest_23 string

log_archive_dest_24 string

log_archive_dest_25 string

log_archive_dest_26 string

log_archive_dest_27 string

log_archive_dest_28 string

log_archive_dest_29 string

log_archive_dest_3 string

log_archive_dest_30 string

log_archive_dest_31 string

log_archive_dest_4 string

log_archive_dest_5 string

log_archive_dest_6 string

log_archive_dest_7 string

log_archive_dest_8 string

log_archive_dest_9 string

log_archive_dest_state_1 string enable

log_archive_dest_state_10 string enable

log_archive_dest_state_11 string enable

log_archive_dest_state_12 string enable

log_archive_dest_state_13 string enable

log_archive_dest_state_14 string enable

log_archive_dest_state_15 string enable

log_archive_dest_state_16 string enable

log_archive_dest_state_17 string enable

log_archive_dest_state_18 string enable

log_archive_dest_state_19 string enable

log_archive_dest_state_2 string enable

log_archive_dest_state_20 string enable

log_archive_dest_state_21 string enable

log_archive_dest_state_22 string enable

log_archive_dest_state_23 string enable

log_archive_dest_state_24 string enable

log_archive_dest_state_25 string enable

log_archive_dest_state_26 string enable

log_archive_dest_state_27 string enable

log_archive_dest_state_28 string enable

log_archive_dest_state_29 string enable

log_archive_dest_state_3 string enable

log_archive_dest_state_30 string enable

log_archive_dest_state_31 string enable

log_archive_dest_state_4 string enable

log_archive_dest_state_5 string enable

log_archive_dest_state_6 string enable

log_archive_dest_state_7 string enable

log_archive_dest_state_8 string enable

log_archive_dest_state_9 string enable

Database log mode Archive Mode

Automatic archival Enabled

Archive destination C:\app\Administrator\virtual\product\12.2.0\dbhome_2\RDBMS

Oldest online log sequence 96

Next log sequence to archive 98

Current log sequence 98

创建Archive Log存放文件夹

Archive Log的基本应用和启用

System altered.

Elapsed: 00:00:00.05

log_archive_dest string C:\app\Administrator\virtual\a

rchivelog

存放地址改变 

Archive destination C:\app\Administrator\virtual\archivelog

Current log sequence 98 

切换日志

Elapsed: 00:00:00.10

Archive Log的基本应用和启用

还原默认值只需要将

然后重启库

Oldest online log sequence 99

Next log sequence to archive 101

Current log sequence 101

归档格式

log_archiveformat string ARC%S%R.%T

%s:日志序列号

l %S:日志序列号(带有前导)

l %t:重做线程编号

l %T:重做线程编号(带有前导)

l %a:活动ID号

l %d:数据库ID号

l %r:resetlogs的ID值

修改格式 alter system set log_archive_format=''

切换Redo Log

1:alter system checkpoint; 

强迫oracle进行以次检查点,确保所有提交的事务的改变都被写到磁盘数据文件上。但此时数据库必须是打开的状态

2: alter system archive log all;

手工归档所有的日志文件组

3:alter system archive log current; --建议在mount状态

手工归档活动的日志文件组

4: alter system switch logfile;

开始写新的日志文件组。不管当前日志文件组是否满了

在mount状态修改启用手动归档

alter database archivelog manual;

恢复

alter database archivelog;

状态查询 select log_mode from v$database;

设置flashback 相关

与flashback分开

Elapsed: 00:00:00.04

db_recovery_file_dest string

db_recovery_file_dest_size big integer 0

Archive destination c:\app\Administrator\virtual\archivelog

Oldest online log sequence 100

Next log sequence to archive 102

Current log sequence 102

2 ;

alter system set db_recovery_file_dest='C:\app\Administrator\virtual\FlashRecovery'

*

ERROR at line 1:

ORA-02097: parameter cannot be modified because specified value is invalid

ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE

alter database flashback on

ORA-38706: Cannot turn on FLASHBACK DATABASE logging.

ORA-38709: Recovery Area is not enabled.

Elapsed: 00:00:00.11

Database altered.

Elapsed: 00:00:02.25

db_recovery_file_dest string C:\app\Administrator\virtual\F

lashRecovery

db_recovery_file_dest_size big integer 300M

Archive Log的基本应用和启用

Oldest online log sequence 101

Next log sequence to archive 103

Current log sequence 103

LOG_ARCHIVE_DEST:指定归档文件存放的路径,该路径只能是本地磁盘,默认为’’。

LOG_ARCHIVE_DEST_n:默认值为’’。Oracle最多支持把日志文件归档到10个地方,n从1到30。归档地址可以为本地磁盘,或者网络设备。

DB_RECOVERY_FILE_DEST:指定闪回恢复区路径。

三者关系:

1、 如果设置了DB_RECOVERY_FILE_DEST,就不能设置LOG_ARCHIVE_DEST,默认的归档日志存放于DB_RECOVERY_FILE_DEST指定的闪回恢复区中。可以设置LOG_ARCHIVE_DEST_n,如果这样,那么归档日志不再存放于DB_RECOVERY_FILE_DEST中,而是存放于LOG_ARCHIVE_DEST_n设置的目录中。如果想要归档日志继续存放在DB_RECOVERY_FILE_DEST中,可以通过如下命令:alter system set log_archive_dest_1=’location=USE_DB_RECOVERY_FILE_DEST’;

2、 如果设置了LOG_ARCHIVE_DEST,就不能设置LOG_ARCHIVE_DEST_n和DB_RECOVERY_FILE_DEST。如果设置了LOG_ARCHIVE_DEST_n,就不能设置LOG_ARCHIVE_DEST。也就是说,LOG_ARCHIVE_DEST参数和DB_RECOVERY_FILE_DEST、LOG_ARCHIVE_DEST_n都不共存。而DB_RECOVERY_FILE_DEST和LOG_ARCHIVE_DEST_n可以共存。

3、 LOG_ARCHIVE_DEST只能与LOG_ARCHIVE_DUPLEX_DEST共存。这样可以设置两个归档路径。LOG_ARCHIVE_DEST设置一个主归档路径,LOG_ARCHIVE_DUPLEX_DEST设置一个从归档路径。所有归档路径必须是本地的。

4、 如果LOG_ARCHIVE_DEST_n设置的路径不正确,那么Oracle会在设置的上一级目录归档。比如设置LOG_ARCHIVE_DEST_1=’location=C:\archive1’,而OS中并没有archive1这个目录,那么Oracle会在C盘归档。

     本文转自whshurk 51CTO博客,原文链接:http://blog.51cto.com/shurk/2061883,如需转载请自行联系原作者