ORACLE归档路径优先级
Mar062013
前一段时间在ITPUB上,看到有人发帖咨询ORACLE归档日志路径的问题,今天有时间整理一下,默认情况下ORACLE的归档路径有两个位置,如果启用了闪回恢复区,默认归档日志会保存在闪回恢复区内,如果没有开启闪回恢复区,归档日志会保存在$ORACLE_HOME/rdbms目录下,闪回恢复区的优先级高于$ORACLE_HOME/rdbms。请看下面的测试。
1. 关闭闪回恢复区。
SQL> alter system set db_recovery_file_dest=''; 系统已更改。 SQL> show parameter db_reco NAME TYPE VALUE ------------------------------------- ----------- ------------ db_recovery_file_dest string db_recovery_file_dest_size big integer 4977M
2. 查看归档日志路径。
SQL> archive log list 数据库日志模式 存档模式 自动存档 启用 存档终点 D:appstreamproduct11.2.0dbhome_1RDBMS 最早的联机日志序列 482 当前日志序列 484
在闪回恢复区没有开启的情况下,归档路径已经改为$ORACLE_HOME/rdbms目录下,下面在打开闪回恢复区。LINUX环境是在$ORACLE_HOME/dbs/arch目录下。
SQL> alter system set db_recovery_file_dest=''; System altered. SQL> archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination /u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch Oldest online log sequence 17 Current log sequence 19
3. 开启闪回恢复区
SQL> alter system set db_recovery_file_dest='D:appstreamflash_recovery_area'; 系统已更改。
4. 查看归档路径
SQL> archive log list 数据库日志模式 存档模式 自动存档 启用 存档终点 USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列 482 当前日志序列 484
可以看到在在开启闪回恢复区后,归档路径自动改为了闪回恢复区,说明ORACLE在选择归档目录位置时,闪回恢复区优先于$ORACLE_HOME/rdbms,当然这是在没有手动指定归档路径时ORACLE默认选择的归档路径,如果手动指定了归档路径,那么归档路径就会改为手动指定的路径。
5. 手动指定归档路径
SQL> alter system set log_archive_dest_1='location=D:ARCH'; 系统已更改。
6. 查看归档路径
SQL> archive log list 数据库日志模式 存档模式 自动存档 启用 存档终点 D:ARCH 最早的联机日志序列 482 当前日志序列 484
本实验证明手动指定的归档路径的优先级最高,其次是闪回恢复区,再次才是$ORACLE_HOME/rdbms 目录。