概述
LOG_ARCHIVE_DEST_n:默认值为’’。Oracle最多支持把日志文件归档到10个地方,n从1到10。归档地址可以为本地磁盘,或者网络设备。
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盘归档。
--===============================================================
测试:
SYS@ tsid > show parameter db_recovery_file_dest
NAME TYPE VALUE
--------------------- ---------- ------------------------------
db_recovery_file_dest string E:oracleproduct10.2.0flash
_recovery_area
SYS@ tsid > alter system set log_archive_dest='e:archive';
alter system set log_archive_dest='e:archive'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-16018: cannot use LOG_ARCHIVE_DEST with LOG_ARCHIVE_DEST_n or DB_RECOVERY_FILE_DEST
SYS@ tsid > alter system set db_recovery_file_dest='';
System altered.
SYS@ tsid > alter system set log_archive_dest='e:archive';
System altered.
SYS@ tsid > alter system set log_archive_dest_1='e:archive1';
alter system set log_archive_dest_1='e:archive1'
*
ERROR at line 1:
ORA-32017: failure in updating SPFILE
ORA-16179: incremental changes to "log_archive_dest_1" not allowed with SPFILE
SYS@ tsid > alter system set db_recovery_file_dest='E:oracleproduct10.2.0flash_recovery_area';
alter system set db_recovery_file_dest='E:oracleproduct10.2.0flash_recovery_area'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-16019: cannot use db_recovery_file_dest with LOG_ARCHIVE_DEST or LOG_ARCHIVE_DUPLEX_DEST
SYS@ tsid > alter system set log_archive_dest='';
System altered.
SYS@ tsid > alter system set db_recovery_file_dest='E:oracleproduct10.2.0flash_recovery_area';
System altered.
SYS@ tsid > alter system set log_archive_dest_1='location=e:archive1';
System altered.
SYS@ tsid > alter system switch logfile;
System altered.
E盘中没有archive1目录,直接在E盘下生成了归档日志文件,验证了上面第4点。
SYS@ tsid > alter system set log_archive_dest_1='';
System altered.
最后
以上就是怕黑白开水为你收集整理的归档日志路径三个参数DB_RECOVERY_FILE_DEST和LOG_ARCHIVE_DEST和LOG_ARCHIVE_DEST_n的全部内容,希望文章能够帮你解决归档日志路径三个参数DB_RECOVERY_FILE_DEST和LOG_ARCHIVE_DEST和LOG_ARCHIVE_DEST_n所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复