广告
返回顶部
首页 > 资讯 > 数据库 >Oracle归档日志管理的方法有哪些
  • 238
分享到

Oracle归档日志管理的方法有哪些

2024-04-02 19:04:59 238人浏览 安东尼
摘要

这篇文章主要讲解了“oracle归档日志管理的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle归档日志管理的方法有哪些”吧!一般情况下,

这篇文章主要讲解了“oracle归档日志管理的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle归档日志管理的方法有哪些”吧!

一般情况下,数据库安装时选择的是默认NOARCHiveLOG模式。如果要开启ARCHIVELOG模式,则需要为归档日志路径设置初始化参数。

归档日志路径可以配置一个也可以配置多个。路径可以是本地路径,如本地文件系统,ASM磁盘组;也可以是远程路径,如备份数据库。设置多个归档日志路径,可以对归档日志做冗余,即使有一个目标盘损坏,也可以保证归档日志是可用的。

在配置参数时,归档日志的路径可以动态修改,在下一次日志切换的时候生效。

这里给出3种常用的归档路径的设置方案:单一归档路径方案、两路归档路径方案和多路归档路径的方案。

方案1:单一归档路径

如果只设置单一的归档目录,默认使用db_recovery_file_dest参数,使用Fast Recovery Area存放归档数据;也可手工配置log_archive_dest初始化参数,可以配置为本地文件系统,ASM磁盘组。使用log_archive_dest_n参数的方法在第三种方案进行讨论。

具体操作如下:

--如果使用fast recovery area存放归档日志,需要注意该区域有大小限制,建议将大小调大
SYS@cams> 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
SYS@cams> alter system set db_recovery_file_dest_size=10G;             
 
System altered.
 
SYS@cams> 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 10G
--如果使用本地路径存放归档日志,需要将db_recovery_file_dest参数置空,然后设置log_archive_dest参数。这里给出的是本地文件系统例子,读者可自行测试ASM磁盘组。
SYS@cams> alter system set db_recovery_file_dest='';
 
System altered.
 
SYS@cams> alter system set log_archive_dest='/u01/app/oracle/archive';
 
System altered.

需要将LOG_ARCHIVE_DEST_n和DB_RECOVERY_FILE_DEST参数置空,以免出现如下问题:

SYS@cams> alter system set log_archive_dest='LOCATioN=USE_DB_RECOVERY_FILE_DEST';
alter system set log_archive_dest='LOCATION=USE_DB_RECOVERY_FILE_DEST'
*
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

此时,可以看到trace日志的变化,LOG_ARCHIVE_DEST_1的默认值自动调整过程。其中,在使用Fast Recovery Area归档的情况下,LOG_ARCHIVE_DEST_1的默认值为USE_DB_RECOVERY_FILE_DEST。

Tue Dec 18 17:48:24 2018
ALTER SYSTEM SET db_recovery_file_dest_size='10G' SCOPE=BOTH;
Tue Dec 18 17:52:13 2018
Cleared LOG_ARCHIVE_DEST_1 parameter default value
Using LOG_ARCHIVE_DEST_1 parameter default value as /u01/app/oracle/product/11.2.0/db_1/dbs/arch
ALTER SYSTEM SET db_recovery_file_dest='' SCOPE=BOTH;
Tue Dec 18 17:52:28 2018
ALTER SYSTEM SET log_archive_dest='/u01/app/oracle/archive' SCOPE=BOTH;
--首先创建新的归档路径
[oracle@XLJ181 trace]$ mkdir -p /u01/app/oracle/archive
--此时对日志进行切换,触发写归档日志
SYS@cams> alter system switch logfile;
System altered.
--查看新生成的归档日志
[oracle@XLJ181 trace]$ ll /u01/app/oracle/archive
total 11960
-rw-r----- 1 oracle oinstall 12244992 Dec 18 17:57 1_25_994950965.dbf

trace日志中也可以看到LGWR switch操作

Tue Dec 18 17:57:10 2018
Thread 1 cannot allocate new log, sequence 26
Private strand flush not complete
  Current log# 1 seq# 25 mem# 0: /u01/app/oracle/oradata/cams/redo01.log
Thread 1 advanced to log sequence 26 (LGWR switch)
  Current log# 2 seq# 26 mem# 0: /u01/app/oracle/oradata/cams/redo02.log
Tue Dec 18 17:57:10 2018
Archived Log entry 20 added for thread 1 sequence 25 ID 0x9e3b45f3 dest 1:

方案2:两路归档路径

如果要设置两路归档路径,常用的方案是配置log_archive_dest和log_archive_duplex_dest参数。用log_archive_dest_n参数的方法在第三种方案进行讨论。

具体操作如下:

--创建新的归档路径
[oracle@XLJ181 trace]$ mkdir -p /u01/app/oracle/archive1
--设置log_archive_duplex_dest参数路径并切换日志触发写归档日志
SYS@cams> alter system set log_archive_duplex_dest='/u01/app/oracle/archive1';
 
System altered.
 
SYS@cams> alter system switch logfile;
 
System altered.
--查看新生成的归档日志文件,显然新生成的归档大小和文件名一致。两份归档日志互为冗余。
[oracle@XLJ181 trace]$ ll /u01/app/oracle/archive
total 15704
-rw-r----- 1 oracle oinstall 12244992 Dec 18 17:57 1_25_994950965.dbf
-rw-r----- 1 oracle oinstall  3830272 Dec 18 18:30 1_26_994950965.dbf
[oracle@XLJ181 trace]$ ll /u01/app/oracle/archive1
total 3744
-rw-r----- 1 oracle oinstall 3830272 Dec 18 18:30 1_26_994950965.dbf

查看trace日志,可以看到LGWR switch操作,然后分别在两个目录下写归档。

Tue Dec 18 18:30:01 2018
Thread 1 cannot allocate new log, sequence 27
Private strand flush not complete
  Current log# 2 seq# 26 mem# 0: /u01/app/oracle/oradata/cams/redo02.log
Thread 1 advanced to log sequence 27 (LGWR switch)
  Current log# 3 seq# 27 mem# 0: /u01/app/oracle/oradata/cams/redo03.log
Tue Dec 18 18:30:02 2018
Archived Log entry 21 added for thread 1 sequence 26 ID 0x9e3b45f3 dest 1:
Archived Log entry 22 added for thread 1 sequence 26 ID 0x9e3b45f3 dest 2:

方案3:多路归档路径

如果要设置多路归档路径,需要使用log_archive_dest_n参数,其中,n的取值为1到31的整数,也就是说,可以指定1到31个独立的路径作为归档日志的路径。

  log_archive_dest_n参数的取值可以选择LOCATION或SERVIDE关键字。如果使用LOCATION关键字,可以选择本地文件系统、ASM磁盘组或USE_DB_RECOVERY_FILE_DEST代表的闪回恢复区;如果使用SERVICE关键字,可以选择备库的网络连接标识符连接备份数据库。Oracle归档日志管理的方法有哪些

具体操作如下:

--创建本地归档目录
[oracle@XLJ181 admin]$ mkdir -p /u01/app/oracle/archive2
[oracle@XLJ181 admin]$ mkdir -p /u01/app/oracle/archive3
--配置log_archive_dest_n参数
SYS@cams> alter system set log_archive_duplex_dest='';
 
System altered.
 
SYS@cams> alter system set log_archive_dest='';
 
System altered.
 
SYS@cams> alter system set log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST';
 
System altered.
 
SYS@cams> alter system set log_archive_dest_2='LOCATION=/u01/app/oracle/archive2';
 
System altered.
 
SYS@cams> alter system set log_archive_dest_3='LOCATION=/u01/app/oracle/archive3';
 
System altered.

需要注意置空的顺序,以免出现如下错误

SYS@cams> alter system set log_archive_dest='';
alter system set log_archive_dest=''
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-16022: LOG_ARCHIVE_DEST cannot be NULL because LOG_ARCHIVE_DUPLEX_DEST is
non-NULL

需要将LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST参数置空,以免出现如下问题:

SYS@cams> alter system set log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST';
alter system set log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-16019: cannot use LOG_ARCHIVE_DEST_1 with LOG_ARCHIVE_DEST or
LOG_ARCHIVE_DUPLEX_DEST
--切换日志,触发写归档日志
SYS@cams> alter system switch logfile;
 
System altered.

查看新生成的归档日志文件,显然新生成的归档大小和文件名一致。两份归档日志互为冗余。

[oracle@XLJ181 admin]$ ll /u01/app/oracle/archive2
total 5440
-rw-r----- 1 oracle oinstall 4416512 Dec 18 19:09 1_27_994950965.dbf
-rw-r----- 1 oracle oinstall 1148416 Dec 18 19:23 1_28_994950965.dbf
[oracle@XLJ181 admin]$ ll /u01/app/oracle/archive3
total 5440
-rw-r----- 1 oracle oinstall 4416512 Dec 18 19:09 1_27_994950965.dbf
-rw-r----- 1 oracle oinstall 1148416 Dec 18 19:23 1_28_994950965.dbf

查看trace日志,看到错误提示,提示DB_RECOVERY_FILE_DEST未设置值

Tue Dec 18 19:23:59 2018
Errors in file /u01/app/oracle/diag/rdbms/cams/cams/trace/cams_arc3_29341.trc:
ORA-19801: initialization parameter DB_RECOVERY_FILE_DEST is not set
Errors in file /u01/app/oracle/diag/rdbms/cams/cams/trace/cams_arc3_29341.trc:
ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated
ORA-19801: initialization parameter DB_RECOVERY_FILE_DEST is not set
Archived Log entry 25 added for thread 1 sequence 28 ID 0x9e3b45f3 dest 2:
Archived Log entry 26 added for thread 1 sequence 28 ID 0x9e3b45f3 dest 3:

为DB_RECOVERY_FILE_DEST参数配置数值,切换日志

SYS@cams> alter system set DB_RECOVERY_FILE_DEST='/u01/app/oracle/fast_recovery_area';              
 
System altered.
 
SYS@cams> alter system switch logfile;
 
System altered.
 
SYS@cams> alter system switch logfile;
 
System altered.

查看trace日志信息,最后可看到同时写入了3个归档路径

Tue Dec 18 19:27:58 2018
**********************************************************
WARNING: Files may exists in db_recovery_file_dest
that are not known to the database. Use the RMAN command
CATALOG RECOVERY AREA to re-catalog any such files.
If files cannot be cataloged, then manually delete them
using OS command.
One of the following events caused this:
1. A backup controlfile was restored.
2. A standby controlfile was restored.
3. The controlfile was re-created.
4. db_recovery_file_dest had previously been enabled and
   then disabled.
**********************************************************
ALTER SYSTEM SET db_recovery_file_dest='/u01/app/oracle/fast_recovery_area' SCOPE=BOTH;
Tue Dec 18 19:27:58 2018
db_recovery_file_dest_size of 10240 MB is 5.63% used. This is a
user-specified limit on the amount of space that will be used by this
database for recovery-related files, and does not reflect the amount of
space available in the underlying filesystem or ASM diskgroup.
Tue Dec 18 19:28:01 2018
Thread 1 cannot allocate new log, sequence 30
Private strand flush not complete
  Current log# 2 seq# 29 mem# 0: /u01/app/oracle/oradata/cams/redo02.log
Thread 1 advanced to log sequence 30 (LGWR switch)
  Current log# 3 seq# 30 mem# 0: /u01/app/oracle/oradata/cams/redo03.log
Tue Dec 18 19:28:01 2018
Archived Log entry 27 added for thread 1 sequence 29 ID 0x9e3b45f3 dest 2:
Archived Log entry 28 added for thread 1 sequence 29 ID 0x9e3b45f3 dest 3:
Tue Dec 18 19:33:38 2018
Thread 1 cannot allocate new log, sequence 31
Private strand flush not complete
  Current log# 3 seq# 30 mem# 0: /u01/app/oracle/oradata/cams/redo03.log
Thread 1 advanced to log sequence 31 (LGWR switch)
  Current log# 1 seq# 31 mem# 0: /u01/app/oracle/oradata/cams/redo01.log
Tue Dec 18 19:33:39 2018
Expanded controlfile section 11 from 28 to 62 records
Requested to grow by 34 records; added 2 blocks of records
Archived Log entry 29 added for thread 1 sequence 30 ID 0x9e3b45f3 dest 1:
Archived Log entry 30 added for thread 1 sequence 30 ID 0x9e3b45f3 dest 2:
Archived Log entry 31 added for thread 1 sequence 30 ID 0x9e3b45f3 dest 3:

感谢各位的阅读,以上就是“Oracle归档日志管理的方法有哪些”的内容了,经过本文的学习后,相信大家对Oracle归档日志管理的方法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: Oracle归档日志管理的方法有哪些

本文链接: https://www.lsjlt.com/news/64711.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle归档日志管理的方法有哪些
    这篇文章主要讲解了“Oracle归档日志管理的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle归档日志管理的方法有哪些”吧!一般情况下,...
    99+
    2022-10-18
  • oracle之 Oracle归档日志管理
           在Oracle中,数据一般是存放在数据文件中,不过数据库与Oracle最大的区别之一就是数据库可以在数据出错的时候进行恢复。这个也就是我们常见的Or...
    99+
    2022-10-18
  • Oracle日志 归档模式管理
    一、查看当前归档模式 archive log list;   二、归档/不归档切换 shutdown immediate; -- 或shutdown normal startup mount; alter da...
    99+
    2021-03-23
    Oracle日志 归档模式管理
  • Oracle 11g正确删除归档日志方法
    1、用oracle用户登陆rman并连接数据库RMAN>connect target / RMAN>rman target /2、列出并确认归档日志路径RMAN>list arc...
    99+
    2022-10-18
  • ORACLE RMAN还原归档日志的方法是什么
    这篇文章主要介绍“ORACLE RMAN还原归档日志的方法是什么”,在日常操作中,相信很多人在ORACLE RMAN还原归档日志的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2022-10-19
  • rman备份归档日志的方法
    这篇文章主要介绍“rman备份归档日志的方法”,在日常操作中,相信很多人在rman备份归档日志的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”rman备份归档日志的方法”...
    99+
    2022-10-18
  • pgsql归档日志的配置方法
    这篇文章主要介绍“pgsql归档日志的配置方法”,在日常操作中,相信很多人在pgsql归档日志的配置方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pgsql归档日志的配置...
    99+
    2022-10-18
  • 数据库中手工rm删除归档日志对备份归档日志的影响有哪些
    这篇文章主要为大家展示了“数据库中手工rm删除归档日志对备份归档日志的影响有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库中手工rm删除归档日志对备份...
    99+
    2022-10-18
  • Oracle监听挂掉以及归档库日志满清理方法
    oracle数据监听挂了重启方法: --监听lsnrctl start --启动后稍有延时才能生效lsnrctl status lsnrctl s...
    99+
    2022-10-18
  • zap接收gin框架默认的日志并配置日志归档的方法
    这篇“zap接收gin框架默认的日志并配置日志归档的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“zap接收gin框架默...
    99+
    2023-06-30
  • 如何理解Oracle归档日志比联机重做日志小很多的情况
    本篇内容介绍了“如何理解Oracle归档日志比联机重做日志小很多的情况”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2022-10-18
  • oracle开启归档以及归档空间满的处理方法
    一、 查看是否开启归档模式   [oracle@db ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production ...
    99+
    2022-10-18
  • linux查看日志的方法有哪些
    这篇文章给大家分享的是有关linux查看日志的方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、命令格式: tail       [必要参数] ...
    99+
    2023-06-28
  • k8s查看pod日志的方法有哪些
    本文小编为大家详细介绍“k8s查看pod日志的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“k8s查看pod日志的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。通过kubectlkubect...
    99+
    2023-07-02
  • python归一化处理的方法有哪些
    在Python中,归一化处理的方法有以下几种:1. 最大最小归一化(Min-Max Scaling):将原始数据线性映射到[0, 1...
    99+
    2023-10-20
    python
  • 数据库日志文件过大清理的方法有哪些
    这篇文章主要介绍“数据库日志文件过大清理的方法有哪些”,在日常操作中,相信很多人在数据库日志文件过大清理的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据库日志文...
    99+
    2022-10-18
  • 数据库中RMAN删除归档日志出现RMAN-0813错误的处理方法是什么
    这篇文章主要讲解了“数据库中RMAN删除归档日志出现RMAN-0813错误的处理方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库中RMAN删除...
    99+
    2022-10-18
  • Oracle的内存管理方式有哪些
    这篇文章主要介绍“Oracle的内存管理方式有哪些”,在日常操作中,相信很多人在Oracle的内存管理方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle的内...
    99+
    2022-10-19
  • 常见的PHP响应路径日志方法有哪些?
    PHP响应路径日志方法是Web开发中非常重要的一部分,它可以帮助开发者追踪应用程序中的错误和问题。本文将介绍常见的PHP响应路径日志方法及其使用方法,希望能够帮助读者更好地进行Web开发。 一、PHP响应路径日志的重要性 在Web开发中,P...
    99+
    2023-08-03
    响应 path 日志
  • hse管理方法有哪些
    一、风险识别与控制 对风险进行识别; 对识别的风险就发生的可能性、概率、及其危害程度进行评估; 针对识别出的风险制定和采取控制措施; 制定应急预案和事故处置措施。 二、安全经验分享 将本人亲身经历或所见、...
    99+
    2023-10-29
    方法 有哪些 hse
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作