我的dg库
快速恢复区是:
SYS@JLPROJCT3> show parameter recover
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /backup/
db_recovery_file_dest_size big integer 500G
SQL> show parameter log_archive_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string location=/backup/
VALID_FOR=(ALL_LOGFILES,ALL_
ROLES)
DB_UNIQUE_NAME=JLPROJCT
归档路径怎么会是:
SYS@JLPROJCT3> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination $ORACLE_HOME/dbs/arch
Oldest online log sequence 594
Next log sequence to archive 0
我知道默认归档是在闪回恢复区 ,这是怎么回事呢? 原来我的log_archive_dest_1参数中 DB_UNIQUE_NAME设置错了, DB_UNIQUE_NAME应该为备库的唯一名,而我写的是主库的唯一名,导致它失效,而standby库的归档位置和这三个位置有关 :standby_archive_dest,log_archive_dest_1,standby_archive_dest默认值(?/dbs/arch) ,因为我的log_archive_dest_1失效,又没有设置standby_archive_dest,所以归档变成了standby_archive_dest的默认位置,也就是:?/dbs/arch,
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_archive_dest string $ORACLE_HOME/dbs/arch
一般oracle数据库归档路径小结:
默认归档是在闪回恢复区: 就是说 如果没有设置log_archive_dest_1这个参数(就是说这个参数值为“ ”,即没有值) 那么归档就会在闪回恢复区,如果同时设置了 log_archive_dest_1和db_recovery_file_dest 那么恢复区 应该在 log_archive_dest_1指定的路径,
更改log_archive_dest_1参数可更改归档日志目录(pfile/spfile中参数db_recovery_file_dest指定的目录将无效)
SQL> alter system set log_archive_dest_1='location=/data/oracle/log1/archive_log';
Linux:alter system set log_archive_dest_1='location=/u01/oracle/log/archive_log';
System altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /data/oracle/log1/archive_log
Oldest online log sequence 26
Next log sequence to archive 28
将log_archive_log设置为默认值时,归档目录将会变为?/dbs/arch。
SQL> alter system set log_archive_dest_1='';
System altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination ?/dbs/arch
Oldest online log sequence 33
Next log sequence to archive 35
Current log sequence 35
SQL> shutdown immediate;
重启数据库后,归档目录变回为闪回恢复区:db_recovery_file_dest指定的目录。
startup mount;
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /backup/
Oldest online log sequence 33
Next log sequence to archive 35
Current log sequence 35
总结:归档路径和这三个路径有关系: log_archive_dest_1 >db_recovery_file_dest_1 >$ORACLE_HOME/dbs/arch
优先级如上所示,原来你设置了log_archive_dest_1,然后你又把log_archive_dest_1设置成了默认值,那么归档位置就变成了?/dbs/arch
,但是重启后又会变成db_recovery_file_dest指定的路径。值得注意的是dg的standby库:他的归档路径
实际上 standby_archive_dest优先级>
log_archive_dest_1的优先级>standby_archive_dest默认值(?/dbs/arch) 但是
在11g,已经不建议使用STANDBY_ARCHIVE_DEST,也就是说建议配置dg的时候尽量使用standby redo logfile,原理层面:主库的LOG_ARCHIVE_DEST_n='service'默认的arch传输方式,primary会远程将archived log传输到standby_archive_dest下(没有设置就会放到LOG_ARCHIVE_DEST_n),如果备库利用standby redo log在备库端自动归档,也就是说传的是redo,那么归档日志将会被放置到LOG_ARCHIVE_DEST_n(没有设置的话,就会放到STANDBY_ARCHIVE_DEST)。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29654823/viewspace-1472766/
,如需转载,请注明出处,否则将追究法律责任。