详解LOG_ARCHIVE_DEST与log_archive_dest_n区别

今天把一个新上线的数据库改为了归档模式,顺便修改了一下归档文件存放路径,开始配置的log_archive_dest,后来发现在闪回区同样还会有一份共两份,后来重新配置log_archive_dest_1变成了一份,下面请仔细看我的操作过程


SQLPLUS / as sysdba已


SQL> ALTER SYSTEM组log_archivelog_dest ='/备份/ archivedlog / SCOPE = SPFILE;


SQL> SHUTDOWN IMMEDIATE


SQL> STARTUP MOUNT


SQL> ALTER DATABASE ARCHIVELOG


SQL> ALTER DATABASE OPEN;


---------


注意:不可以直接启动安装力量,如果有数据需要恢复


---------


SQL> ALTER SYSTEM SWITCH LOGFILE;


SQL> ALTER SYSTEM SWITCH LOGFILE;


- 强制两次切换日志归档


用RMAN查看归档日志


RMAN>列表归档日志所有;


 


使用目标数据库控制文件替代恢复目录


 


归档日志副本列表


重点THRD序列S低时间名称


------------------------------------------


1 1 13 A 2011-05-18 9点26分05秒/ backup/archivedlog/1_13_751026649.dbf


2 1 13 A 2011-05-18 9点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>归档日志列表
数据库日志模式存档模式
自动存档启用
存档终点USE_DB_RECOVERY_FILE_DEST 
旧的联机日志序列13 
下一个日志序列进行归档15 
当前日志序列15


SQL> ALTER SYSTEM复位LOG_ARCHIVE_DEST范围= SPFILE SID ='*';


系统的改变。
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 ='/备份/ archivedlog / SCOPE = SPFILE; 
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 ='/的备份/ archivedlog /“SCOPE = SPFILE 

ERROR位于第1行:
ORA-32017:未能更新SPFILE 
ORA-16179:LOG_ARCHIVE_DEST_1“不允许使用SPFILE的增量变化


SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 ='LOCATION = /备份/ archivedlog的/'范围= spfile文件;


系统已更改。


SQL> SHUTDOWN IMMEDIATE 
数据库已经关闭。
已经卸载数据库。
ORACLE例程已经关闭。
SQL> STARTUP 
ORACLE实例启动。


总系统全局区4412407808字节的
固定大小2089696字节
大小可变1493175584字节的
数据库缓冲区2902458368字节
14684160字节
安装数据库的重做缓冲区。
数据库已经打开。
SQL>归档日志列表
数据库日志模式存档模式
自动存档启用
存档终点/备份/ archivedlog / 
旧在线日志序列13 
下一个日志序列进行归档15 
当前日志序列15


SQL> ALTER SYSTEM SWITCH LOGFILE


SQL> ALTER SYSTEM SWITCH LOGFILE


RMAN>列表归档日志所有;


 


使用目标数据库控制文件替代恢复目录


 


归档日志副本列表


重点THRD序列S低时间名称


------------------------------------------


1 1 13 A 2011-05-18 9点26分05秒/ backup/archivedlog/1_13_751026649.dbf


2 1 13 A 2011-05-18 9点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分三十八秒/ backup/archivedlog/1_16_751026649.dbf


- 现在变为一份了


总结:


老版本使用log_archive_dest配置归档日志路径最多可以配置2个,除了这个参数还有一个LOG_ARCHIVE_DUPLEX_DEST,这两个参数都只能配置本地路径,格式是log_archive_dest=’/backup1/xxx/’;


DB,log_archive_dest_n路径必须加位置或服务


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


官方:


对于企业版用户,这个参数已被取代赞成LOG_ARCHIVE_DEST_n参数。如果Oracle企业版的安装或已安装,但你没有指定任何LOG_ARCHIVE_DEST_n参数,这个参数是有效的。


LOG_ARCHIVE_DEST是适用的,如果你正在运行的数据库在ARCHIVELOG模式下,或从归档重做日志恢复数据库。LOG_ARCHIVE_DEST与LOG_ARCHIVE_DEST_n参数是不兼容的,并且必须被定义为空字符串(“”)或(“”)时,任何LOG_ARCHIVE_DEST_n参数的值不是空字符串。归档重做日志文件时,使用一个文本字符串指定的磁盘文件或磁带设备默认的位置和根。(归档到磁带上不支持所有的操作系​​统。)的值不能是原始分区。


如果LOG_ARCHIVE_DEST没有明确的定义和所有的LOG_ARCHIVE_DEST_n参数为空字符串值,LOG_ARCHIVE_DEST设置为一个操作系统特定的缺省值在实例启动时。


此参数指定要覆盖的目标,无论是手动归档或指定一个不同的目的地,使用的SQL * Plus语句ARCHIVE LOG START文件规范的自动归档,其中,filespec是新的归档目的地。要永久地改变了目的地,使用的语句ALTER SYSTEM SET LOG_ARCHIVE_DEST =文件规范,其中,filespec是新的归档目的地。


LOG_ARCHIVE_DEST也不LOG_ARCHIVE_FORMAT都不是完整的文件或目录说明符本身,他们只需要形成一个有效的文件路径后的变量代入的LOG_ARCHIVE_FORMAT和两个参数连接在一起。

你可能感兴趣的:(Oracle)