归档日志路径三个参数DB_RECOVERY_FILE_DEST和LOG_ARCHIVE_DEST和LOG_ARCHIVE_DEST_n

LOG_ARCHIVE_DEST:指定归档文件存放的路径,该路径只能是本地磁盘,默认为’’。

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:\oracle\product\10.2.0\flash

                                               
_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:\oracle\product\10.2.0\flash_recovery_area';

alter
system set db_recovery_file_dest='E:\oracle\product\10.2.0\flash_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:\oracle\product\10.2.0\flash_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.

时间: 2024-09-28 12:02:21

归档日志路径三个参数DB_RECOVERY_FILE_DEST和LOG_ARCHIVE_DEST和LOG_ARCHIVE_DEST_n的相关文章

查看oracle归档日志路径1

查看oracle归档日志路径 1.修改归档日志的格式 默认格式是:" %t_%s_%r.dbf",我们尝试将格式修改为"%t_%s_%r.arch",这是一个静态参数,需要重新启动数据库才生效.sys@ora10g> show parameter log_archive_format NAME                  TYPE        VALUE--------------------- ----------- ----------------

查看oracle归档日志路径2

在Oracle中,数据一般是存放在数据文件中,不过数据库与Oracle最大的区别之一就是数据库可以在数据出错的时候进行恢复. 这个也就是我们常见的Oracle中的重做日志(REDO FILE)的功能了.在重做日志分成2部分,一个是在线重做日志文件,另外一个就是归档日志文件.      这里不详细说明在线重做日志,而是说一下归档日志(Archive Log).在线重做日志大小毕竟是有限的,当都写满了的时候,就面临着2个选择,第一个就是把以前在线重做日志从头擦除开始继续写,第二种就是把以前的在线重做

Linux/Unix shell 脚本清除归档日志文件

      对于DEV以及UAT环境,有些时候,数据库需要处于归档模式,但并不需要备份数据库.因此,archive归档日志不停的增长导致磁盘空间被大量耗用.对于这种情形,可以使用一个shell脚本来定时自动清除这些归档日志.本文给出了清除归档日志的脚本.   1.清除归档日志shell脚本   robin@SZDB:~/dba_scripts/custom/bin> more remove_arch_dump.sh #!/bin/bash # --------------------------

Oracle 归档日志

--==================== -- Oracle 归档日志 --====================       Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档.相应的日志被称为归档日志.   一.归档日志     是联机重做日志组文件的一个副本     包含redo记录以及一个唯一的log sequence number     对日志组中的一个日志文件进行归档,如果该组其中一个损坏,则另一个可用的日志将会被归档     对于归

delete archivelog all 无法彻底删除归档日志?

    最近在因归档日志暴增,使用delete archivelog all貌似无法清除所有的归档日志,到底是什么原因呢? 1.演示环境 SQL> select * from v$version where rownum<2; BANNER ---------------------------------------------------------------- Oracle Database 10g Release 10.2.0.3.0 - 64bit Production SQL&g

配置归档日志,让数据库管理更加顺畅

一.更改日志操作模式三步走. 默认情况下,Oracle数据库采用的是非归档模式.但是,非归档模式不能够防止因物理损坏而导致丢失数据问题.为此数据库管理员可能需要把日志操作模式从非归档模式转换为归档模式.其实,要进行这个转换的话,只需要通过简单的三个步骤即可.不过在进行操作之前,要需要注意.以下的操作都必须要求用户具有数据库管理员的权限,即只有SYSDBA或者SYSOPER身份才能够执行如下的操作. 要更改日志操作模式,具体操作步骤如下. 第一步:先确定当前的日志操作模式.当数据库管理员更改当前操

Oracle的归档日志

Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档.相应的日志被称为归档日志. 一.归档日志 是联机重做日志组文件的一个副本 包含redo记录以及一个唯一的log sequence number 对日志组中的一个日志文件进行归档,如果该组其中一个损坏,则另一个可用的日志将会被归档 对于归档模式的日志切换,当日志归档完成后,下一个日志才能被覆盖或重新使用 自动归档功能如开启,则后台进程arcn在日志切换时自动完成归档,否则需要手动归档 归档日志用途 恢复数

oracle物理结构(四)归档日志文件

归档日志文件是重做日志文件的截断备份,Oracle运行的两种模式:归档模式和不归档模式. 1.启用/禁用归档模式 SQL>archive log list; 查询归档模式 SQL>shutdown immediate SQL>startup mount SQL>alter database archivelog; SQL>alter database open; SQL>archive log list; Database log mode              A

oracle中升级到12.1.0.2之后rman无法删除已经归档日志

客户一个数据库,架构是2地3中心,本地有primary和standby,远程还有一个standby. primary的rman archivelog deletion policy是ship to all standby 同城standby的rman archivelog deletion policy是backup 1 time,备份在同城standby上进行. 远程standby的rman archivelog deletion policy是applied on all standby.