千家信息网

如何查看修改oracle归档日志路径

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关如何查看修改oracle归档日志路径,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.修改归档日志的格式默认格式是:" %t_%s_%r
千家信息网最后更新 2026年11月03日如何查看修改oracle归档日志路径

这篇文章将为大家详细讲解有关如何查看修改oracle归档日志路径,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。


1.修改归档日志的格式

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

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_format string %t_%s_%r.dbf
SQL> alter system set log_archive_format='%t_%s_%r.arch' scope=spfile;

System altered

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

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

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/app/oracle/fast_recovery_
area
db_recovery_file_dest_size big integer 4182M

3)将db_recovery_file_dest参数置空
SQL> alter system set db_recovery_file_dest = '' scope=spfile;
System altered.

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

5)我们这里采用的生效参数是log_archive_dest_1,修改方法如下。请注意语法
alter system set log_archive_dest_1 = 'location=/oradata/arch/ora10g' scope=spfile;
alter system set log_archive_dest_1='LOCATION=/oradata/arch/archivelogvalid_for=(all_logfiles,all_roles) db_unique_name=ocrl' 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 hh34: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 hh34: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 hh34: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参数。

关于"如何查看修改oracle归档日志路径"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

参数 日志 有趣 数据 数据库 现象 路径 实验 同时 方法 格式 结论 内容 文件 目录 面的 两个 目的 篇文章 结果 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 智能科技公司是互联网公司吗 互联网科技资迅 金融科技创新监管互联网金融 互联网科技公司有哪些 互联网巨头投资的硬核科技 互联网之后的科技是什么 武汉健翔互联网络科技有限公司 互联网科技产业特征 佛山市翊博互联网络科技有限公司 爱医互联网络科技 互联网方面的科技前沿 银行科技岗属于互联网吗 互联网安防科技感 广州有谷有贝互联网科技有限公司 互联网时代科技型公司的机会 互联网科技博主张洲 杭州科技互联网公司有哪些 上海互联网科技园景观 互联网科技创新方面的资料 颐高云石互联网科技 上海挚品互联网科技有限公司 新华互联网科技 美国互联网科技 浩特互联网科技 汇久创客互联网科技 融贸通互联网科技 汉立互联网科技有限公司联系电话 众安科技工业互联网合作 互联网科技包装股份有限公司上市 互联网科技的前景
0