查看oracle归档日志路径
转至: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归档日志路径的更多相关文章
- Oracle归档日志与非归档日志的切换及路径设置
--==================== -- Oracle 归档日志 --==================== Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的 ...
- Oracle 归档日志文件
今天数据群有人反应网站不能正常打开,经检查Oracle数据库远程连不上,提示信息:ORA-00257: archiver error. Connect internal only, until f ...
- 修改Oracle归档日志方法
修改Oracle归档日志的方法 Oracle默认安装的归档日志只有50M,在做大量操作的时候会经常切换日志文件,造成性能问题,下面是具体操作方法 1. 下面是查看现有归档日志大小: SQL> ...
- Oracle 归档日志管理
一.Oracle日志介绍 1.Oracle日志分类 分三大类: Alert log files--警报日志,Trace files--跟踪日志(用户和进程)和 redo log ...
- oracle归档日志增长过快处理方法
oracle归档日志一般由dml语句产生,所以增加太快应该是dml太频繁 首先查询以下每天的归档产生的情况: SELECT TRUNC(FIRST_TIME) "TIME", SU ...
- oracle归档日志管理
归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档 ...
- 清除oracle归档日志
清除oracle归档日志 1. 连接oracle报如下错误 ORA-00257: archiver error. Connect internal only, until freed 产生原因:出现O ...
- ORACLE归档日志满了之后,如何删除归档日志
当ORACLE归档日志满后如何正确删除归档日志 版权声明:本文为博主原创文章,未经博主允许不得转载. 当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入OR ...
- Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误
Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误 前言 这个问题在18年的时候遇到了,基本不注意并且集群或者数据库运行正常是很难注意到的. 忘记当时怎么发现的了 ...
随机推荐
- (转引)数据库索引(MySQL)
数据结构和算法基础 索引的本质:数据结构,帮助高效获取数据 数据库的查询:最基本的查询算法当然是顺序查找(linear search).二分查找(binary search).二叉树查找(binary ...
- redis分析系列之set命令
前言 最近研究下redis源码,现在从最基本的命令行操作来分析,redis是如何处理命令操作的 1. redis的set命令操作 我们在redis-cli执行下面的命令 set c c debug 发 ...
- Redis内存满了怎么办(新年快乐)
Redis内存满了怎么办(新年快乐) 入我相思门,知我相思苦. 长相思兮长相忆,短相思兮无穷极. 一.配置文件 Redis长期使用或者不设置过期时间,导致内存爆满或不足,可以到Redis的配置文件re ...
- Vue.js项目的兼容性与部署配置
一.处理兼容性问题的相关插件: 1> 解决移动端某些版本的浏览器,点击事件有3s延时触发的问题 · 安装 fastclick 依赖包:npm install fastclick --save-d ...
- plsql 视图中 为什么使用替代触发器
/* 什么是视图? 视图:数据库对象,存的是一个查询命令:当作一个虚拟的数据表来使用: 应用场景: 简化查询操作:不能直接在视图上进行create,insert,update操作: 创建视图? 需要管 ...
- JS异步加载AMD和CMD
CommonJS 是个规范,主要用于js后端,var foo = require("./foo");foo("Hi"); AMD前置加载 require.jsr ...
- for、while、do...while循环结构
循环结构分别有: while 循环 do...while 循环 for 循环 在Java5中引入了一种主要用于数组的增强型for循环 while 循环 while是最基本的循环,它的结构为: whil ...
- elasticsearch查询之大数据集分页性能测试
一.测试环境 python 3.7 elasticsearch 6.8 elasticsearch-dsl 7 安装elasticsearch-dsl pip install elasticsearc ...
- ByteArrayOutputStream内存流
简介 ByteArrayOutputStream 对byte类型数据进行写入的类 相当于一个中间缓冲层,创建ByteArrayOutputStream类实例时,内存中会创建一个byte数组类型的缓冲区 ...
- python基础语法_2基本数据类型
http://www.runoob.com/python3 大纲 Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionarys(字典 ...