转至: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. golang中接口详解

    package main import ( "fmt" ) type Sayer interface { say() } type Mover interface { move() ...

  2. gin中绑定查询字符串或表单数据

    package main import ( "github.com/gin-gonic/gin" "log" "time" ) type P ...

  3. C# 使用Aspose.Cells 导出Excel

    今天在工作中碰到同事用了一种新型的方式导入excel,在此做个学习记录. 插件:Aspose.Cells 第一步:准备好导出的模板,例子: C#代码: #region 验证数据 if (model = ...

  4. plsql 触发器介绍 语句级别触发器、行级别触发器。

    /* 分类: 1.DDL触发器 执行create,alter,drop操作时,会激活的触发器 2.DML触发器 执行增.删除.修改时,激活的触发器 3.系统事件触发器 执行特定的系统事件时(启动.加载 ...

  5. Ubuntu 18.04 安装教程

    准备材料 Ubuntu安装U盘 足够的硬盘空间 未初始化的硬盘需要提前初始化 注意事项 Ubuntu安装盘的制作请参考我的另外一个博客,里面写清楚了怎么制作Ubuntu安装盘,步骤非常简单 请将要拿给 ...

  6. ApacheCN JavaScript 译文集(二) 20211123 更新

    使用 Meteor 构建单页 Web 应用 零.前言 一.制作 Meteor 应用 二.构建 HTML 模板 三.存储数据和处理集合 四.控制数据流 五.使我们的应用与路由通用 六.保持会话状态 七. ...

  7. 在终端或idea编译工具中的terminal中运行mvn install 失败

    原因是因为操作系统的差异导致,把所有参数加上引号即可. 如下所示: mvn install:install-file "-Dfile=cobra.jar" "-Dgrou ...

  8. linux内核中的eventfd

    转载请注明来源:https://www.cnblogs.com/hookjc/ eventfd 在内核版本,2.6.22以后有效.查看内核版本可以用命令 uname -r . [cpp] view p ...

  9. Centos下安装配置WordPress与nginx教程

    感谢大佬:https://www.howtoing.com/how-to-install-wordpress-with-nginx-on-centos-6-2 WordPress是一个免费和开源网站和 ...

  10. 性能测试之监控--zabbix通过jmx监控tomcat

    前提: 已经安装好了zabbix server 实验环境 Centos 7 Zabbix 3.0 Tomcat 7.0 JDK 1.8 安装JDK tar -zxvf jdk-8u181-linux- ...