转至:https://blog.csdn.net/u010098331/article/details/50729896/

查看oracle归档日志路径

1.修改归档日志的格式

默认格式是:“ %t_%s_%r.dbf”,我们尝试将格式修改为“%t_%s_%r.arch”,这是一个静态参数,需要重新启动数据库才生效。 
sys@ora10g> show parameter log_archive_format 

NAME                  TYPE        VALUE 
--------------------- ----------- -------------------------------------- 
log_archive_format    string      %t_%s_%r.dbf 

sys@ora10g> alter system set log_archive_format='%t_%s_%r.arch' scope=spfile; 

System altered. 

2.修改修改归档日志的位置 
1)使用“archive log list”命令查看一下默认情况下归档日志存放的位置 
sys@ora10g> archive log list; 
Database log mode              Archive Mode 
Automatic archival             Enabled 
Archive destination            USE_DB_RECOVERY_FILE_DEST 
Oldest online log sequence     98 
Next log sequence to archive   100 
Current log sequence           100 

2)上面结果提到USE_DB_RECOVERY_FILE_DEST这个Archive destination,其实我们可以去掉“USE_”使用“DB_RECOVERY_FILE_DEST”得到数据库中的参数详解。 
sys@ora10g> show parameter DB_RECOVERY_FILE_DEST 

NAME                  TYPE        VALUE 
--------------------- ----------- -------------------------------------- 
db_recovery_file_dest string      /oracle/app/oracle/flash_recovery_area 

3)将db_recovery_file_dest参数置空 
alter system set db_recovery_file_dest = '' scope=spfile; 

4)以防万一,将log_archive_dest参数也置空 
alter system set log_archive_dest = '' scope=spfile; 

5)我们这里采用的生效参数是log_archive_dest_1,修改方法如下。请注意语法 
alter system set log_archive_dest_1 = 'location=/oracle/arch/ora10g' scope=spfile; 

6)重新启动数据库,使上述所有修改的参数生效。 
sys@ora10g> shutdown immediate; 
Database closed. 
Database dismounted. 
ORACLE instance shut down. 
sys@ora10g>  
sys@ora10g> startup; 
ORACLE instance started. 

Total System Global Area 2.1475E+10 bytes 
Fixed Size                  2111160 bytes 
Variable Size            2399144264 bytes 
Database Buffers         1.9059E+10 bytes 
Redo Buffers               14663680 bytes 
Database mounted. 
Database opened. 

7)确认修改成功 
(1)第一种确认方法:使用“archive log list”命令关注“Archive destination”信息 
sys@ora10g> archive log list; 
Database log mode              Archive Mode 
Automatic archival             Enabled 
Archive destination            /oracle/arch/ora10g 
Oldest online log sequence     121 
Next log sequence to archive   123 
Current log sequence           123 

(2)第二种确认方法:手工归档一下,通过v$archived_log视图确认 
sys@ora10g> alter system switch logfile; 

System altered. 

sys@ora10g> col NAME for a40 
sys@ora10g> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'; 

Session altered. 

sys@ora10g> select recid, name, first_time from v$archived_log; 

     RECID NAME                                     FIRST_TIME 
---------- ---------------------------------------- ------------------- 
         1                                          2009-06-06 01:38:39 
         2                                          2009-06-06 05:50:32 
... 这省略之前的归档日志信息 ... 
       132 /oracle/arch/ora10g/1_123_688786498.arch 2009-09-20 11:26:26 

8)上面的修改过程,也可以通过直接修改pfile文件达到目的 
列一下修改之后的关键参数内容: 
$ cat $ORACLE_HOME/dbs/initora10g.ora 
这里省略不关心的其他参数 
*.log_archive_format='%t_%s_%r.arch' 
*.db_recovery_file_dest='' 
*.log_archive_dest='' 
*.log_archive_dest_1='location=/oracle/arch/ora10g' 

3.修改流程介绍完毕,我们再一起讨论一些有趣的现象。 
1)有趣现象一:使用log_archive_dest参数,不使用上面提到的log_archive_dest_1参数一样可以达到修改归档路径的目的 
精简式列一下这个修改流程: 
(1)修改归档文件格式 
alter system set log_archive_format='%t_%s_%r.arch' scope=spfile;  
(2)将db_recovery_file_dest置空 
alter system set db_recovery_file_dest = '' scope=spfile; 
(3)将log_archive_dest_1置空 
alter system set log_archive_dest_1 = '' scope=spfile; 
(4)启用log_archive_dest参数 
alter system set log_archive_dest = '/oracle/arch/ora10g' scope=spfile; 
(5)重启数据库使上面的所有参数生效 
shutdown immediate; 
startup; 
(6)当然,上面的过程一样可以通过修改pfile的方法来完成 
修改后的pfile关键参数内容如下 : 
*.log_archive_format='%t_%s_%r.arch' 
*.db_recovery_file_dest='' 
*.log_archive_dest='/oracle/arch/ora10g' 
*.log_archive_dest_1='' 

上面的方法一样可以达到修改归档路径的目的,不过不推荐使用log_archive_dest这个参数,在10g中,建议您使用log_archive_dest_n参数完成修改。 

2)有趣现象二:如果db_recovery_file_dest和log_archive_dest两个参数同时设置,会在这两个目录中同时产生归档日志 
(1)修改pfile,实验可以使用如下参数进行 
*.log_archive_format='%t_%s_%r.arch' 
*.db_recovery_file_dest='/oracle/app/oracle/flash_recovery_area' 
*.log_archive_dest='/oracle/arch/ora10g' 
*.log_archive_dest_1='' 

(2)使用pfile重新启动数据库 
sys@ora10g> shutdown immediate; 
sys@ora10g> startup pfile = '/oracle/app/oracle/product/10.2.0/db_1/dbs/initora10g.ora'; 

(3)“有趣”现象出现了 
sys@ora10g> alter system switch logfile; 
sys@ora10g> alter system switch logfile; 
sys@ora10g> col NAME for a40 
sys@ora10g> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'; 
sys@ora10g> select recid, name, first_time from v$archived_log; 

     RECID NAME                                     FIRST_TIME 
---------- ---------------------------------------- ------------------- 
       137 /oracle/arch/ora10g/1_128_688786498.arch 2009-09-20 12:09:29 
       138 /oracle/arch/ora10g/1_129_688786498.arch 2009-09-20 12:09:29 
       139 /oracle/arch/ora10g/1_130_688786498.arch 2009-09-20 12:09:30 
       140 /oracle/app/oracle/flash_recovery_area/O 2009-09-20 12:09:30 
           RA10G/archivelog/2009_09_20/o1_mf_1_130_ 
           5ccccmw6_.arc 

       141 /oracle/arch/ora10g/1_131_688786498.arch 2009-09-20 12:20:03 
       142 /oracle/app/oracle/flash_recovery_area/O 2009-09-20 12:20:03 
           RA10G/archivelog/2009_09_20/o1_mf_1_131_ 
           5cccd5kt_.arc 

(4)结论 
两个目录都会生成归档日志,内容是一样的; 
/oracle/app/oracle/flash_recovery_area目录下生成的归档文件的格式没有受log_archive_format参数影响,也就是说:log_archive_format的参数只对log_archive_dest和log_archive_dest_n生效。 

3)有趣现象三:db_recovery_file_dest和log_archive_dest_n同时设置时,只有log_archive_dest_n的目录产生日志 
(1)修改pfile,实验可以使用如下参数进行 
*.log_archive_format='%t_%s_%r.arch' 
*.db_recovery_file_dest='/oracle/app/oracle/flash_recovery_area' 
*.log_archive_dest='' 
*.log_archive_dest_1='location=/oracle/arch/ora10g' 

(2)使用pfile重新启动数据库 
sys@ora10g> shutdown immediate; 
sys@ora10g> startup pfile = '/oracle/app/oracle/product/10.2.0/db_1/dbs/initora10g.ora'; 

(3)实验结果如下 
sys@ora10g> alter system switch logfile; 
sys@ora10g> alter system switch logfile; 
sys@ora10g> col NAME for a40 
sys@ora10g> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'; 
sys@ora10g> select recid, name, first_time from v$archived_log; 

     RECID NAME                                     FIRST_TIME 
---------- ---------------------------------------- ------------------- 
       138 /oracle/arch/ora10g/1_129_688786498.arch 2009-09-20 12:09:29 
       139 /oracle/arch/ora10g/1_130_688786498.arch 2009-09-20 12:09:30 
       140 /oracle/app/oracle/flash_recovery_area/O 2009-09-20 12:09:30 
           RA10G/archivelog/2009_09_20/o1_mf_1_130_ 
           5ccccmw6_.arc 

       141 /oracle/arch/ora10g/1_131_688786498.arch 2009-09-20 12:20:03 
       142 /oracle/app/oracle/flash_recovery_area/O 2009-09-20 12:20:03 
           RA10G/archivelog/2009_09_20/o1_mf_1_131_ 
           5cccd5kt_.arc 

       143 /oracle/arch/ora10g/1_132_688786498.arch 2009-09-20 12:20:21 
       144 /oracle/arch/ora10g/1_133_688786498.arch 2009-09-20 12:32:58 

(4)结论 
比照“有趣现象二”的结论,看到这里只有log_archive_dest_1参数设置的归档路径生效了。 

3)有趣现象四:log_archive_dest和log_archive_dest_1参数不能同时设置 
(1)修改pfile,实验可以使用如下参数进行,db_recovery_file_dest参数设置与否都不会影响我们的实验结果 
*.log_archive_format='%t_%s_%r.arch' 
*.db_recovery_file_dest='/oracle/app/oracle/flash_recovery_area' 
*.log_archive_dest='/oracle/arch/ora10g' 
*.log_archive_dest_1='location=/oracle/arch/ora10g' 

(2)使用pfile重新启动数据库时就会报错,不能这样进行设置 
sys@ora10g> shutdown immediate; 
sys@ora10g> startup pfile = '/oracle/app/oracle/product/10.2.0/db_1/dbs/initora10g.ora'; 
ORA-16019: cannot use LOG_ARCHIVE_DEST_1 with LOG_ARCHIVE_DEST or LOG_ARCHIVE_DUPLEX_DEST

(4)结论 
log_archive_dest和log_archive_dest_1参数不能同时设置,即如果启用了log_archive_dest_1参数就不能再使用log_archive_dest参数重复设置了。 
通过这个实验,可以得到一个结论:log_archive_dest这个参数只是为了向后兼容而存在的,因此在9i之后的版本Oracle中如果需要修改归档文件生成路径的话,还是建议您使用log_archive_dest_n参数。 

4.总结 
相信,如果您能静心阅之,此时,您一定已经掌握了归档日志生成路径和归档日志生成格式的修改技法。 

同时,通过这些发现的有趣现象,我们也看到了一些Oracle的细节差异。大家慢慢发掘ing。 

友情提示:生产环境上的任何修改操作必须谨慎!请充分测试后实施,防止类似本实验中那些“有趣现象”的发生。

查看oracle归档日志路径的更多相关文章

  1. Oracle归档日志与非归档日志的切换及路径设置

    --==================== -- Oracle 归档日志 --==================== Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的 ...

  2. Oracle 归档日志文件

      今天数据群有人反应网站不能正常打开,经检查Oracle数据库远程连不上,提示信息:ORA-00257: archiver error. Connect internal only, until f ...

  3. 修改Oracle归档日志方法

    修改Oracle归档日志的方法 Oracle默认安装的归档日志只有50M,在做大量操作的时候会经常切换日志文件,造成性能问题,下面是具体操作方法 1. 下面是查看现有归档日志大小:   SQL> ...

  4. Oracle 归档日志管理

    一.Oracle日志介绍 1.Oracle日志分类 分三大类: Alert log files--警报日志,Trace files--跟踪日志(用户和进程)和            redo log ...

  5. oracle归档日志增长过快处理方法

    oracle归档日志一般由dml语句产生,所以增加太快应该是dml太频繁 首先查询以下每天的归档产生的情况: SELECT TRUNC(FIRST_TIME) "TIME", SU ...

  6. oracle归档日志管理

    归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档 ...

  7. 清除oracle归档日志

    清除oracle归档日志 1. 连接oracle报如下错误 ORA-00257: archiver error. Connect internal only, until freed 产生原因:出现O ...

  8. ORACLE归档日志满了之后,如何删除归档日志

    当ORACLE归档日志满后如何正确删除归档日志 版权声明:本文为博主原创文章,未经博主允许不得转载. 当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入OR ...

  9. Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误

    Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误 前言 这个问题在18年的时候遇到了,基本不注意并且集群或者数据库运行正常是很难注意到的. 忘记当时怎么发现的了 ...

随机推荐

  1. 3D建模服务提供更高效、专业的能力,“筑”力开发者

    3D建模服务(3D Modeling Kit)是HMS Core在图形图像领域又一技术开放.3D建模产品的定位就是要做快速.简洁.低成本的3D制作能力,并陆续开放给有3D模型.动画游戏制作等能力诉求的 ...

  2. 阿里巴巴发布最佳实践 | 阿里巴巴DevOps实践指南

    编者按:本文源自阿里云云效团队出品的<阿里巴巴DevOps实践指南>,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电 ...

  3. 你需要的Grid布局入门教程

    一.Grid布局概述 首先,Grid 布局与 Flex布局 有一定的相似性,都可以指定容器内部多个项目的位置.但是,Grid 布局远比 Flex 布局强大! Flex 布局是轴线布局,只能指定&quo ...

  4. plsql 数据库事件触发器

    --4.数据库事件触发器 需要超管的权限 /* 数据库事件触发器有数据库级和模式级两种. 前者定义在整个数据库上,触发事件是数据库事件,如数据库的启动.关闭,对数据库的登录或退出. 后者定义在模式上, ...

  5. 类加载器(JVM)

    一.JVM概述 JVM是java是二进制字节码的运行环境 特点: 一次编译,到处运行(跨平台) 自动内存管理 自动垃圾回收功能 常见的JVM Sun Classic VM:世界上第一款商用的java虚 ...

  6. 为什么内部类调用的外部变量必须是final修饰的?

    感谢原文:https://blog.csdn.net/u010393325/article/details/80643636 因为生命周期的原因.方法中的局部变量,方法结束后这个变量就要释放掉,fin ...

  7. shell 的here document 用法 (cat << EOF) (转)

    什么是Here Document Here Document 是在Linux Shell 中的一种特殊的重定向方式,它的基本的形式如下 cmd << delimiter Here Docu ...

  8. Springcloud-微服务

    1.什么是微服务? 通过阅读马丁弗勒关于描述微服务的文章(https://martinfowler.com/articles/microservices.html),在此特作仅用作个人理解的关于微服务 ...

  9. 问题描述:Navicat连不上MySQL数据库

    发现Navicat连不上MySQL后我首先觉得是MySQL的服务没有打开, 然后再cmd里面 启动MySQL服务 输入: net start mysql 发现没有此服务,然我网上找了一下 先初始化My ...

  10. Spring-BeanFactory体系介绍

    1 BeanFactory介绍 BeanFactory是Spring中的根容器接口,所有的容器都从从它继承而来,ApplicationContext中对于BeanDefinition的注册,bean实 ...