归档的路径和名称
涉及到归档路径的参数有:
LOG_ARCHIVE_DEST_n
在10g中,如果我们没配置这2个参数,还和一个参数有关:
在archive log list中可以看到
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 139
Next log sequence to archive 141
Current log sequence 141
sys@ORALOCAL(10.1.26.26)>
sys@ORALOCAL(10.1.26.26)> show parameter recover
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string D:\oracle\product\10.2.0\flash
_recovery_area
db_recovery_file_dest_size big integer 2G
recovery_parallelism integer 0
sys@ORALOCAL(10.1.26.26)>
归档日志的名称和下面这个参数有关:
但是,上述的参数有的时候,配合还是有问题,我们来一一看看:
【情况一】刚刚安装完数据库,未配置时:
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string
log_archive_format string oralocal_%r_%T_%S.arc
sys@ORALOCAL(10.1.26.26)>
sys@ORALOCAL(10.1.26.26)> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 147
Next log sequence to archive 149
Current log sequence 149
sys@ORALOCAL(10.1.26.26)> show parameter DB_RECOVERY_FILE_DEST
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string D:\oracle\product\10.2.0\flash
_recovery_area
db_recovery_file_dest_size big integer 2G
sys@ORALOCAL(10.1.26.26)>
我们看到,此时设置的归档日志格式为oralocal_%r_%T_%S.arc,由于没设置log_archive_dest和log_archive_dest_1,因此归档路径根据DB_RECOVERY_FILE_DEST来。我们切出几个arch之后,去看看生成的归档如何:
System altered.
Elapsed: 00:00:00.39
sys@ORALOCAL(10.1.26.26)> /
System altered.
Elapsed: 00:00:00.20
sys@ORALOCAL(10.1.26.26)> /
System altered.
Elapsed: 00:00:04.14
sys@ORALOCAL(10.1.26.26)> host
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\hejianmin>cd D:\oracle\product\10.2.0\flash_recovery_area
C:\Documents and Settings\hejianmin>d:
D:\oracle\product\10.2.0\flash_recovery_area>
D:\oracle\product\10.2.0\flash_recovery_area>
D:\oracle\product\10.2.0\flash_recovery_area>ls
ORALOCAL
D:\oracle\product\10.2.0\flash_recovery_area>cd ORALOCAL
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL>ls
ARCHIVELOG
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL>cd ARCHIVELOG
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL\ARCHIVELOG>ls
2008_11_14 2008_11_19 2008_11_21 2008_11_27 2008_11_28 2008_12_01 2008_12_03 2008_12_04 2008_12_08 2008_12_23 2008_12_24
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL\ARCHIVELOG>cd 2008_12_24
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL\ARCHIVELOG\2008_12_24>ls -l
total 8028
-rwxrwxrwa 1 Administrators SYSTEM 3312640 Dec 24 10:28 O1_MF_1_146_4O34101L_.ARC
-rwxrwxrwa 1 Administrators SYSTEM 525824 Dec 24 10:45 O1_MF_1_147_4O351JNJ_.ARC
-rwxrwxrwa 1 Administrators SYSTEM 195072 Dec 24 11:27 O1_MF_1_148_4O37KH9S_.ARC
-rwxrwxrwa 1 Administrators SYSTEM 74240 Dec 24 11:39 O1_MF_1_149_4O386TYD_.ARC
-rwxrwxrwa 1 Administrators SYSTEM 1024 Dec 24 11:39 O1_MF_1_150_4O386WF9_.ARC
-rwxrwxrwa 1 Administrators SYSTEM 1536 Dec 24 11:39 O1_MF_1_151_4O386ZBD_.ARC
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL\ARCHIVELOG\2008_12_24>
我们看到当没有设置的时候,归档是放在DB_RECOVERY_FILE_DEST/<数据库SID>/ARCHIVELOG/<日期>的路径下,而且路径的归档名称是不按照之前设定的log_archive_format格式。
我们用rman做备份,发现能把目录下的日志全部备份走:
O1_MF_1_146_4O34101L_.ARC O1_MF_1_148_4O37KH9S_.ARC O1_MF_1_150_4O386WF9_.ARC
O1_MF_1_147_4O351JNJ_.ARC O1_MF_1_149_4O386TYD_.ARC O1_MF_1_151_4O386ZBD_.ARC
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL\ARCHIVELOG\2008_12_24>rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on 星期三 12月 24 10:50:51 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORALOCAL (DBID=3897889420)
RMAN> run{
2> backup archivelog all format 'd:\archbak_%u%p%s.rmn'
3> delete input;
4> }
Starting backup at 24-12月-08
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=143 devtype=DISK
channel ORA_DISK_1: starting archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=146 recid=125 stamp=674299684
input archive log thread=1 sequence=147 recid=126 stamp=674300722
input archive log thread=1 sequence=148 recid=127 stamp=674303279
input archive log thread=1 sequence=149 recid=128 stamp=674303963
input archive log thread=1 sequence=150 recid=129 stamp=674303964
input archive log thread=1 sequence=151 recid=130 stamp=674303967
input archive log thread=1 sequence=152 recid=131 stamp=674304714
channel ORA_DISK_1: starting piece 1 at 24-12月-08
channel ORA_DISK_1: finished piece 1 at 24-12月-08
piece handle=D:\ARCHBAK_0CK324MV112.RMN tag=TAG20081224T105203 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07
channel ORA_DISK_1: deleting archive log(s)
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_24\O1_MF_1_146_4O34101L_.ARC recid=125 stamp=6
74299684
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_24\O1_MF_1_147_4O351JNJ_.ARC recid=126 stamp=6
74300722
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_24\O1_MF_1_148_4O37KH9S_.ARC recid=127 stamp=6
74303279
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_24\O1_MF_1_149_4O386TYD_.ARC recid=128 stamp=6
74303963
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_24\O1_MF_1_150_4O386WF9_.ARC recid=129 stamp=6
74303964
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_24\O1_MF_1_151_4O386ZBD_.ARC recid=130 stamp=6
74303967
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_24\O1_MF_1_152_4O38YBN0_.ARC recid=131 stamp=6
74304714
Finished backup at 24-12月-08
RMAN>
RMAN> exit
Recovery Manager complete.
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL\ARCHIVELOG\2008_12_24>ls
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL\ARCHIVELOG\2008_12_24>
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL\ARCHIVELOG\2008_12_24>
【情况二】设置log_archive_dest,但是不设置log_archive_dest_1:
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string D:\oracle\product\10.2.0\ARCH_
TMP\ORALOCAL
log_archive_dest_1 string
log_archive_format string oralocal_%r_%T_%S.arc
sys@ORALOCAL(10.1.26.26)> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 152
Next log sequence to archive 154
Current log sequence 154
sys@ORALOCAL(10.1.26.26)>
在这里,我们看到了在log_archive_dest设置了一个路径,但是通过archive log list看到的还是DB_RECOVERY_FILE_DEST。我们来测试一把arch的切出。
total 5980
-rwxrwxrwa 1 Administrators SYSTEM 2998272 Dec 24 15:38 O1_MF_1_153_4O3P80KG_.ARC
-rwxrwxrwa 1 Administrators SYSTEM 61440 Dec 24 15:53 O1_MF_1_154_4O3Q2FQB_.ARC
-rwxrwxrwa 1 Administrators SYSTEM 1024 Dec 24 15:53 O1_MF_1_155_4O3Q2GQB_.ARC
-rwxrwxrwa 1 Administrators SYSTEM 1024 Dec 24 15:53 O1_MF_1_156_4O3Q2NRS_.ARC
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL\ARCHIVELOG\2008_12_24>cd D:\oracle\product\10.2.0\ARCH_TMP\ORALOCAL
D:\oracle\product\10.2.0\ARCH_TMP\ORALOCAL>ls -l
total 5980
-rwxrwxrwa 1 Administrators SYSTEM 2998272 Dec 24 15:38 ORALOCAL_670498572_001_00153.ARC
-rwxrwxrwa 1 Administrators SYSTEM 61440 Dec 24 15:53 ORALOCAL_670498572_001_00154.ARC
-rwxrwxrwa 1 Administrators SYSTEM 1024 Dec 24 15:53 ORALOCAL_670498572_001_00155.ARC
-rwxrwxrwa 1 Administrators SYSTEM 1024 Dec 24 15:53 ORALOCAL_670498572_001_00156.ARC
D:\oracle\product\10.2.0\ARCH_TMP\ORALOCAL>
我们看到分别在log_archive_dest和db_recovery_file_dest 都产生了归档,区别是在db_recovery_file_dest 路径下的归档格式不按照LOG_ARCHIVE_FORMAT,而log_archive_dest下的归档格式符合LOG_ARCHIVE_FORMAT。
我们测试一下备份:
2> backup archivelog all format 'd:\aaa_%u%p%s.rmn'
3> delete input;
4> }
Starting backup at 24-12月-08
current log archived
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=140 devtype=DISK
channel ORA_DISK_1: starting archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=153 recid=133 stamp=674318340
input archive log thread=1 sequence=154 recid=135 stamp=674319182
input archive log thread=1 sequence=155 recid=137 stamp=674319183
input archive log thread=1 sequence=156 recid=139 stamp=674319189
input archive log thread=1 sequence=157 recid=141 stamp=674323326
channel ORA_DISK_1: starting piece 1 at 24-12月-08
channel ORA_DISK_1: finished piece 1 at 24-12月-08
piece handle=D:\AAA_0DK32MSO113.RMN tag=TAG20081224T160224 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:13
channel ORA_DISK_1: deleting archive log(s)
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_24\O1_MF_1_153_4O3P80KG_.ARC recid=133 stamp=6
74318340
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_24\O1_MF_1_154_4O3Q2FQB_.ARC recid=135 stamp=6
74319182
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_24\O1_MF_1_155_4O3Q2GQB_.ARC recid=137 stamp=6
74319183
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_24\O1_MF_1_156_4O3Q2NRS_.ARC recid=139 stamp=6
74319189
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_24\O1_MF_1_157_4O3V3T87_.ARC recid=141 stamp=6
74323326
Finished backup at 24-12月-08
RMAN>
RMAN>
从rman的执行过程中我们看到只备份走了db_recovery_file_dest下的归档,对于log_archive_dest下的归档,都没备份走:
total 8500
-rwxrwxrwa 1 Administrators SYSTEM 2998272 Dec 24 15:38 ORALOCAL_670498572_001_00153.ARC
-rwxrwxrwa 1 Administrators SYSTEM 61440 Dec 24 15:53 ORALOCAL_670498572_001_00154.ARC
-rwxrwxrwa 1 Administrators SYSTEM 1024 Dec 24 15:53 ORALOCAL_670498572_001_00155.ARC
-rwxrwxrwa 1 Administrators SYSTEM 1024 Dec 24 15:53 ORALOCAL_670498572_001_00156.ARC
-rwxrwxrwa 1 Administrators SYSTEM 1290240 Dec 24 17:02 ORALOCAL_670498572_001_00157.ARC
D:\oracle\product\10.2.0\ARCH_TMP\ORALOCAL>cd D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_24\
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL\ARCHIVELOG\2008_12_24>ls -l
total 0
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL\ARCHIVELOG\2008_12_24>
【情况三】设置log_archive_dest_1,但是不设置log_archive_dest:
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string LOCATION=D:\oracle\product\10.
2.0\ARCH_TMP\ORALOCAL
log_archive_format string oralocal_%r_%T_%S.arc
sys@ORALOCAL(10.1.26.26)> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination D:\oracle\product\10.2.0\ARCH_TMP\ORALOCAL
Oldest online log sequence 157
Next log sequence to archive 159
Current log sequence 159
sys@ORALOCAL(10.1.26.26)>
我们看到,当设置log_archive_dest_1之后,用archive log list看到的已经是在log_archive_dest_1 上的路径,而不是db_recovery_file_dest上的。
通过几次切换arch,看到只有在log_archive_dest_1上产生了归档,且归档文件的格式是符合log_archive_format ,在DB_RECOVERY_FILE_DEST/
System altered.
Elapsed: 00:00:19.37
sys@ORALOCAL(10.1.26.26)> /
System altered.
Elapsed: 00:00:00.62
sys@ORALOCAL(10.1.26.26)> /
System altered.
Elapsed: 00:00:06.60
sys@ORALOCAL(10.1.26.26)> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL\ARCHIVELOG\2008_12_24>ls -l
total 0
D:\oracle\product\10.2.0\flash_recovery_area\ORALOCAL\ARCHIVELOG\2008_12_24>cd D:\oracle\product\10.2.0\ARCH_TMP\ORALOCAL
D:\oracle\product\10.2.0\ARCH_TMP\ORALOCAL>ls -l
total 1157
-rwxrwxrwa 1 Administrators SYSTEM 60928 Dec 24 17:53 ORALOCAL_670498572_001_00159.ARC
-rwxrwxrwa 1 Administrators SYSTEM 1024 Dec 24 17:53 ORALOCAL_670498572_001_00160.ARC
-rwxrwxrwa 1 Administrators SYSTEM 1536 Dec 24 17:53 ORALOCAL_670498572_001_00161.ARC
-rwxrwxrwa 1 Administrators SYSTEM 521216 Dec 24 18:02 ORALOCAL_670498572_001_00162.ARC
-rwxrwxrwa 1 Administrators SYSTEM 1024 Dec 24 18:02 ORALOCAL_670498572_001_00163.ARC
-rwxrwxrwa 1 Administrators SYSTEM 6656 Dec 24 18:02 ORALOCAL_670498572_001_00164.ARC
D:\oracle\product\10.2.0\ARCH_TMP\ORALOCAL>
看到只在log_archive_dest_1路径下产生了归档,且归档的名称是LOG_ARCHIVE_FORMAT的格式。
我们也再测试一下备份:
2> backup archivelog all format 'd:\aaa%u%p%s.rmn'
3> delete input;
4> }
Starting backup at 24-12月-08
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=159 recid=143 stamp=674326423
input archive log thread=1 sequence=160 recid=144 stamp=674326424
input archive log thread=1 sequence=161 recid=145 stamp=674326430
input archive log thread=1 sequence=162 recid=146 stamp=674326927
input archive log thread=1 sequence=163 recid=147 stamp=674326951
input archive log thread=1 sequence=164 recid=148 stamp=674326959
input archive log thread=1 sequence=165 recid=149 stamp=674328897
input archive log thread=1 sequence=166 recid=150 stamp=674328975
channel ORA_DISK_1: starting piece 1 at 24-12月-08
channel ORA_DISK_1: finished piece 1 at 24-12月-08
piece handle=D:\AAA0EK32SCH114.RMN tag=TAG20081224T173616 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
channel ORA_DISK_1: deleting archive log(s)
archive log filename=D:\ORACLE\PRODUCT\10.2.0\ARCH_TMP\ORALOCAL\ORALOCAL_670498572_001_00159.ARC recid=143 stamp=674326423
archive log filename=D:\ORACLE\PRODUCT\10.2.0\ARCH_TMP\ORALOCAL\ORALOCAL_670498572_001_00160.ARC recid=144 stamp=674326424
archive log filename=D:\ORACLE\PRODUCT\10.2.0\ARCH_TMP\ORALOCAL\ORALOCAL_670498572_001_00161.ARC recid=145 stamp=674326430
archive log filename=D:\ORACLE\PRODUCT\10.2.0\ARCH_TMP\ORALOCAL\ORALOCAL_670498572_001_00162.ARC recid=146 stamp=674326927
archive log filename=D:\ORACLE\PRODUCT\10.2.0\ARCH_TMP\ORALOCAL\ORALOCAL_670498572_001_00163.ARC recid=147 stamp=674326951
archive log filename=D:\ORACLE\PRODUCT\10.2.0\ARCH_TMP\ORALOCAL\ORALOCAL_670498572_001_00164.ARC recid=148 stamp=674326959
archive log filename=D:\ORACLE\PRODUCT\10.2.0\ARCH_TMP\ORALOCAL\ORALOCAL_670498572_001_00165.ARC recid=149 stamp=674328897
archive log filename=D:\ORACLE\PRODUCT\10.2.0\ARCH_TMP\ORALOCAL\ORALOCAL_670498572_001_00166.ARC recid=150 stamp=674328975
Finished backup at 24-12月-08
RMAN> exit
Recovery Manager complete.
D:\oracle\product\10.2.0\ARCH_TMP\ORALOCAL>ls -l
total 0
我们看到这个的备份也正常备份走了。
【总结】:
1.未配置LOG_ARCHIVE_DEST和LOG_ARCHIVE_DEST_n,以DB_RECOVERY_FILE_DEST为准,不按照LOG_ARCHIVE_FORMAT格式,生成1份归档,rman备份时候备走。
2.配置LOG_ARCHIVE_DEST,但未配置LOG_ARCHIVE_DEST_n。在DB_RECOVERY_FILE_DEST和LOG_ARCHIVE_DEST各自生成1份归档;在DB_RECOVERY_FILE_DEST下的arch名称不符合规范,在LOG_ARCHIVE_DEST下的arch符合LOG_ARCHIVE_FORMAT;rman只备份走DB_RECOVERY_FILE_DEST,但不备份走LOG_ARCHIVE_DEST下的arch。
3.配置LOG_ARCHIVE_DEST_n,但未配置LOG_ARCHIVE_DEST,以LOG_ARCHIVE_DEST_n为准,生成1份归档,在DB_RECOVERY_FILE_DEST下不产生归档。生成的arch按照LOG_ARCHIVE_FORMAT格式命名。rman备份时候备走LOG_ARCHIVE_DEST_n下的归档。
· 【文章发布信息】发表于: 2008-12-24 @ 21:15:40 · ||分类: Study note



CopyRight ©
yuyu 于 2008-12-25 @ 16:15:30 留言 :
越搞越没质量了。。。。
小荷 于 2008-12-25 @ 23:05:52 留言 :
re yuyu:不好意思让你见笑了,刚刚开始从9i转向10g,有些概念性的东西还没搞清。