详解log_archive_dest与log_archive_dest_n区别
今天把一个新上线的数据库改为了归档模式,顺便修改了一下归档文件存放路径,开始配置的log_archive_dest,后来发现在闪回区同样还会有一份共两份,后来重新配置log_archive_dest_1变成了一份,下面请仔细看我的操作过程
sqlplus / as sysdba
sql>alter system set log_archivelog_dest=’/backup/archivedlog/’ scope=spfile;
sql>shutdown immediate
sql>startup mount
sql>alter database archivelog
sql>alter database open;
————————–
note: 不可以直接startup mount force,如果有数据需要recover
—————————
sql>alter system switch logfile;
sql>alter system switch logfile;
–强制两次切换日志归档
用rman 查看归档日志
RMAN> list archivelog all; using target database control file instead of recovery catalog List of Archived Log Copies Key Thrd Seq S Low Time Name ------- ---- ------- - ------------------- ---- 1 1 13 A 2011-05-18 09:26:05 /backup/archivedlog/1_13_751026649.dbf 2 1 13 A 2011-05-18 09:26:05 /oracle/flash_recovery_area/AHJCYL/archivelog/2011_05_18/o1_mf_1_13_6x68b3yp_.arc 3 1 14 A 2011-05-18 09:30:43 /backup/archivedlog/1_14_751026649.dbf 4 1 14 A 2011-05-18 09:30:43 /oracle/flash_recovery_area/AHJCYL/archivelog/2011_05_18/o1_mf_1_14_6x68b5lj_.arc
—在log_archive_dest一份同时闪回区又一份
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 13
Next log sequence to archive 15
Current log sequence 15
SQL> alter system reset log_archive_dest scope=spfile sid=’*’;
System altered.
SQL> alter system set log_archive_dest_1=’/backup/archivedlog/’ scope=spfile;
alter system set log_archive_dest_1=’/backup/archivedlog/’ scope=spfile
*
ERROR at line 1:
ORA-32017: failure in updating SPFILE
ORA-16179: incremental changes to “log_archive_dest_1” not allowed with SPFILE
SQL> alter system set log_archive_dest_1=’LOCATION=/backup/archivedlog/’ scope=spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 4412407808 bytes
Fixed Size 2089696 bytes
Variable Size 1493175584 bytes
Database Buffers 2902458368 bytes
Redo Buffers 14684160 bytes
Database mounted.
Database opened.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /backup/archivedlog/
Oldest online log sequence 13
Next log sequence to archive 15
Current log sequence 15
SQL> alter system switch logfile
SQL> alter system switch logfile
RMAN> list archivelog all;
using target database control file instead of recovery catalog
List of Archived Log Copies
Key Thrd Seq S Low Time Name
------- ---- ------- - ------------------- ----
1 1 13 A 2011-05-18 09:26:05 /backup/archivedlog/1_13_751026649.dbf
2 1 13 A 2011-05-18 09:26:05 /oracle/flash_recovery_area/AHJCYL/archivelog/2011_05_18/o1_mf_1_13_6x68b3yp_.arc
3 1 14 A 2011-05-18 09:30:43 /backup/archivedlog/1_14_751026649.dbf
4 1 14 A 2011-05-18 09:30:43 /oracle/flash_recovery_area/AHJCYL/archivelog/2011_05_18/o1_mf_1_14_6x68b5lj_.arc
5 1 15 A 2011-05-18 09:30:45 /backup/archivedlog/1_15_751026649.dbf
6 1 16 A 2011-05-18 10:05:38 /backup/archivedlog/1_16_751026649.dbf
–现在变为一份了
总结:
老版本使用log_archive_dest配置归档日志路径最多可以配置2个,除了这个参数还有一个LOG_ARCHIVE_DUPLEX_DEST,这两个参数都只能配置本地路径,格式是log_archive_dest=’/backup1/xxx/’;
到了企业版,log_archive_dest这个参数已被oracle不推荐,如果用log_archive_dest_n最多可以配置10个路径,而且可以是本地也可以是远程的standby DB,log_archive_dest_n路径必须加location或service
log_archive_dest与log_archive_dest_n两个参数冲突,如果指定了log_archive_des后log_archive_dest_n显示指定不会起作用
如果指定了log_archive_dest路径,oracle会隐式启用log_archive_dest_10,默认路径为闪回区,所以上面备份会两份,如果显示指定log_archive_dest_10为空串,将不会再备份到闪回区
这两组参数都是静态参数,修改后必须重启数据库生效,如果都未批定会用系统默认:闪回区
转载请声明出处
http://www.anbob.com/?p=752
官方:
For Enterprise Edition users, this parameter has been deprecated in favor of the LOG_ARCHIVE_DEST_
n
parameters. If Oracle Enterprise Edition is not installed or it is installed, but you have not specified any LOG_ARCHIVE_DEST_
n
parameters, this parameter is valid.
LOG_ARCHIVE_DEST
is applicable only if you are running the database in ARCHIVELOG
mode or are recovering a database from archived redo logs. LOG_ARCHIVE_DEST
is incompatible with the LOG_ARCHIVE_DEST_
n
parameters, and must be defined as the null string (“”) or (‘ ‘) when any LOG_ARCHIVE_DEST_
n
parameter has a value other than a null string. Use a text string to specify the default location and root of the disk file or tape device when archiving redo log files. (Archiving to tape is not supported on all operating systems.) The value cannot be a raw partition.
If LOG_ARCHIVE_DEST
is not explicitly defined and all the LOG_ARCHIVE_DEST_
n
parameters have null string values, LOG_ARCHIVE_DEST
is set to an operating system-specific default value on instance startup.
To override the destination that this parameter specifies, either specify a different destination for manual archiving or use the SQL*Plus statement ARCHIVE LOG START
filespec
for automatic archiving, where filespec
is the new archive destination. To permanently change the destination, use the statement ALTER SYSTEM SET LOG_ARCHIVE_DEST =
filespec
, where filespec
is the new archive destination.
Neither LOG_ARCHIVE_DEST
nor LOG_ARCHIVE_FORMAT
have to be complete file or directory specifiers themselves; they only need to form a valid file path after the variables are substituted into LOG_ARCHIVE_FORMAT
and the two parameters are concatenated together.
目前这篇文章有1条评论(Rss)评论关闭。