Oracle 的归档日志文件

这篇具有很好参考价值的文章主要介绍了Oracle 的归档日志文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、概念

归档是将联机重做日志以文件的形式保存到硬盘,联机日志归档的前提条件是数据库要处于归档模式。当数据库处于 ARCHIVELOG 模式并进行日志切换时,后台进程 ARCH 会将联机重做日志的内容保存到归档日志中,当数据库出现介质故障时,使用数据文件备份、归档日志和联机重做日志可以完全恢复数据库到正常状态。

Oracle 数据库设置为归档模式之后,如果归档空间写满,数据库的 redo 文件不能归档,会出现数据库挂起的问题,导致 数据库无法使用。

2、查看数据库是否为归档模式

SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /app/archiveOldest online log sequence 30Next log sequence to archive 34Current log sequence 34SQL> select log_mode from v$database;LOG_MODE------------------------------------ARCHIVELOG

3、打开或关闭归档模式

如果需要打开或关闭归档模式,在数据库处于 mount 状态时使用如下命令:

3.1 打开归档模式

alter database archivelog;

3.2 关闭归档模式

alter database noarchivelog;

4、配置归档的位置

当数据库处于归档模式时,进行日志切换时后台进程将自动生成归档日志。

4.1 查看归档进程数

初始化参数 LOG_ARCHIVE_MAX_PROCESSES 用于指定最大归档进程个数。通过改变该初始化参数的取值,可以动态地增加或减少归档进程的个数。

SQL> show parameter LOG_ARCHIVE_MAX_PROCESSES;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_max_processes            integer     4

4.2 配置归档的位置

可以使用 LOG_ARCHIVE_DEST_n 配置多个归档位置:该参数最多可以指定 10 个归档位置。格式如下:

ALTER SYSTEM SET log_archive_dest_1 = 'location = 路径1';
ALTER SYSTEM SET log_archive_dest_2 = 'location = 路径2';
.....

4.2.1 查看归档文件

SQL> select sequence#, name from v$archived_log;
SEQUENCE#  NAME
---------- --------------------------------------------------------------------------------
34 /app/archive/orcl_62725153_0000000034_1_1125947150.dbf

可知归档的文件位置 /app/archive/

4.2.2 修改归档日志的位置为:/home/oracle/archivelog

SQL> alter system set log_archive_dest_1 = 'location=/app/archive' scope = both sid='*';
SQL> archive log list;
SQL> alter system switch logfile;
SQL> select sequence#, name from v$archived_log;
SQL> select sequence#, name from v$archived_log;
SEQUENCE#  NAME
---------- --------------------------------------------------------------------------------
34 /app/archive/orcl_62725153_0000000034_1_1125947150.dbf
35 /app/archive/orcl_62725153_0000000035_1_1125947150.dbf

5、配置归档日志文件的名称格式

初始化参数 LOG_ARCHIVE_FORMAT 用于指定归档日志文件的名称格式。设置该初始化参数时,可以指定以下匹配符:

(1)%s:日志序列号;

(2)%S:日志序列号(带有前导 0);

(3)%t:线程编号;

(4)%T:线程编号(带有前导 0);

(5)%a:活动 ID 号;

(6)%d:数据库 ID 号;

(7)%r:RESETLOGS的ID值。

归档日志的文件名称格式设置如下:

SQL> alter system set LOG_ARCHIVE_FORMAT = 'orcl_%d_%S_%t_%r.dbf' scope = spfile sid='*';

重启数据库使设置生效

SQL> shutdown immediate
SQL> startup

查看参数 LOG_ARCHIVE_FORMAT 的值:

SQL> show parameter LOG_ARCHIVE_FORMAT
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_format                   string      orcl_%d_%S_%t_%r.dbf

查看归档日志:

SQL> select sequence#, name from v$archived_log;

6、删除归档日志

6.1 手工删除归档日志文件

[oracle@node1 archive]$ cd /app/archive/
[oracle@node1 archive]$ ll -r
总用量 4516
-rw-r----- 1 oracle oinstall   10752 2月   2 10:54 orcl_62725153_0000000036_1_1125947150.dbf
-rw-r----- 1 oracle oinstall   54784 2月   2 10:51 orcl_62725153_0000000035_1_1125947150.dbf
-rw-r----- 1 oracle oinstall 4551680 2月   2 10:46 orcl_62725153_0000000034_1_1125947150.dbf
[oracle@node1 archive]$ rm -rf orcl_62725153_0000000034_1_1125947150.dbf
[oracle@node1 archive]$ ll
总用量 68
-rw-r----- 1 oracle oinstall 54784 2月   2 10:51 orcl_62725153_0000000035_1_1125947150.dbf
-rw-r----- 1 oracle oinstall 10752 2月   2 10:54 orcl_62725153_0000000036_1_1125947150.dbf

查看归档日志:

SQL> select sequence#, name from v$archived_log;
SEQUENCE#  NAME
---------- --------------------------------------------------------------------------------
34 /app/archive/orcl_62725153_0000000034_1_1125947150.dbf
35 /app/archive/orcl_62725153_0000000035_1_1125947150.dbf
36 /app/archive/orcl_62725153_0000000036_1_1125947150.dbf

虽然物理文件已经删除,但是归档日志文件的信息还在。

6.2 用 RMAN 删除数据库记录的归档列表信息

[oracle@node1 ~]$ rman target /

RMAN> list archivelog all;

List of Archived Log Copies for database with db_unique_name ORCL
=====================================================================

Key     Thrd Seq     S Low Time 
------- ---- ------- - ---------
36      1    34      X 02-FEB-23
        Name: /app/archive/orcl_62725153_0000000034_1_1125947150.dbf

37      1    35      A 02-FEB-23
        Name: /app/archive/orcl_62725153_0000000035_1_1125947150.dbf

38      1    36      A 02-FEB-23
        Name: /app/archive/orcl_62725153_0000000036_1_1125947150.dbf


RMAN> crosscheck archivelog all;

released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1996 device type=DISK
validation failed for archived log
archived log file name=/app/archive/orcl_62725153_0000000034_1_1125947150.dbf RECID=36 STAMP=1127731566
validation succeeded for archived log
archived log file name=/app/archive/orcl_62725153_0000000035_1_1125947150.dbf RECID=37 STAMP=1127731881
validation succeeded for archived log
archived log file name=/app/archive/orcl_62725153_0000000036_1_1125947150.dbf RECID=38 STAMP=1127732067
Crosschecked 3 objects

RMAN> delete expired archivelog all;

released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1996 device type=DISK
List of Archived Log Copies for database with db_unique_name ORCL
=====================================================================

Key     Thrd Seq     S Low Time 
------- ---- ------- - ---------
36      1    34      X 02-FEB-23
        Name: /app/archive/orcl_62725153_0000000034_1_1125947150.dbf


Do you really want to delete the above objects (enter YES or NO)? yes
deleted archived log
archived log file name=/app/archive/orcl_62725153_0000000034_1_1125947150.dbf RECID=36 STAMP=1127731566
Deleted 1 EXPIRED objects
RMAN> select sequence#, name from v$archived_log;select sequence#, name from v$archived_log;
SEQUENCE#  NAME
---------- --------------------------------------------------------------------------------
34 
35 /app/archive/orcl_62725153_0000000035_1_1125947150.dbf
36 /app/archive/orcl_62725153_0000000036_1_1125947150.dbf

6.3 清除 v$archived_log 视图中的过期信息

使用 RMAN 命令删除归档后,v$archived_log 视图中的 name 列为空,但其他列的信息仍然存在。出现这种现象的原因是因为使用 RMAN 命令在删除归档日志的时候不能够清除控制文件中的内容。文章来源地址https://www.toymoban.com/news/detail-516418.html

6.3.1 清除控制文件中关于 v$archived_log 的信息

SQL> execute sys.dbms_backup_restore.resetCfileSection(11);
PL/SQL procedure successfully completed.

6.3.2 查询发现 v$archived_log 视图中的信息全部被清除了

SQL> select sequence#, name from v$archived_log;
 SEQUENCE# NAME
---------- --------------------------------------------------------------------------------

6.3.3 将未过期的归档文件信息重新注册到控制文件中

RMAN> catalog start with '/app/archive/';

using target database control file instead of recovery catalog
searching for all files that match the pattern /app/archive/

List of Files Unknown to the Database
=====================================
File Name: /app/archive/orcl_62725153_0000000035_1_1125947150.dbf
File Name: /app/archive/orcl_62725153_0000000036_1_1125947150.dbf

Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: /app/archive/orcl_62725153_0000000035_1_1125947150.dbf
File Name: /app/archive/orcl_62725153_0000000036_1_1125947150.dbf
RMAN> select sequence#, name from v$archived_log;
 SEQUENCE# NAME
---------- --------------------------------------------------------------------------------
        35 /app/archive/orcl_62725153_0000000035_1_1125947150.dbf
        36 /app/archive/orcl_62725153_0000000036_1_1125947150.dbf

到了这里,关于Oracle 的归档日志文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ORACLE 10G版本数据库系统产生大量归档日志问题的分析

    近期接到用户告知 数据库归档暴增,导致生产库归档空间满,手动删除后,归档空间很快就会满。 立即登陆数据库系统,查询发现归档日志异常增长,从以前的每小时产生3 00M ,增长到每小时产生5 9150M 。拉取问题时段的A WR 报告,将问题S QL 提交给应用运维人员,应用修复

    2024年02月03日
    浏览(55)
  • Oracle 数据库表性能优化

    最近在一次工作过程中,遇到了oralce 表性能慢的问题。一个历史表,一个月将近1000多万的数据量,想查询这个表的数据,只使用了一个简单的语句,却一个多小时都查不出来。于是决定对Oracle 的这张表的性能进行一下优化。本人不是一个专门搞数据库这块的dba,所以只能粗

    2024年02月03日
    浏览(58)
  • oracle rac-归档满处理

    有客户反馈数据库无法使用了,客户手动启动报错如下 SQL startup; ORACLE instance started. Total System Global Area 2.6924E+10 bytes Fixed Size            2265984 bytes Variable Size         1.3959E+10 bytes Database Buffers     1.2952E+10 bytes Redo Buffers           11202560 bytes Database mounted. ORA-16038: l

    2024年02月08日
    浏览(43)
  • oracle19c容器数据库rman备份特性-----性能优化(三)

    目录 冗余备份片 1.备份的时候指定 2.rman配置中设定 归档备份(将备份集保留) 二级备份(将备份文件保留) 1.备份闪回恢复区的恢复文件 2.备份所有恢复文件 recovery catalog database 1.創建recovery catalog 2.创建VPC  data recovery advisor 备份 如果一个数据文件很大,可以设置多通道并

    2024年02月01日
    浏览(56)
  • Oracle 性能优化之AWR、ASH和ADDM(含报告生成和参数解读)

    🏆 文章目标:本篇介绍Oracle性能优化相关的工具,如AWR、ASH和ADDM。 🍀 Oracle 性能优化之AWR、ASH和ADDM ✅ 创作者:Jay… 🎉 个人主页:Jay的个人主页 🍁 展望:若本篇讲解内容帮助到您,请帮忙点个赞吧,再点点您的小手关注下,您的支持是我继续写作的最大动力,谢谢🙏

    2024年02月05日
    浏览(76)
  • 谈谈Oracle甲骨文可视化文件查看器:AutoVue

    目录 AutoVue基本介绍 AutoVue 2D Professional AutoVue 3D Professional Advanced AutoVue EDA Professional AutoVue Electro-Mechanical Professional AutoVue Office AutoVue VueLink 集成 AutoVue Web服务 AutoVue VueBeans集成 最后的最后总结 本文内容来源于ORACLE官网( AutoVue 企业可视化解决方案 | Oracle 中国)及自己整理而来

    2024年02月06日
    浏览(37)
  • 查询服务器tns文件路径,oracle数据库tns配置方法详解

    Oracle中TNS的完整定义:transparence Network Substrate透明网络底层, 监听服务是它重要的一部分,不是全部,不要把TNS当作只是监听器。 上图中的CGDB和STDCG就是对应的TNS,HOST是指向数据库服务器的IP,当然局域网内用计算机名称也是可以的。通过客户端Net Manager创建一个连接到数据

    2024年02月09日
    浏览(68)
  • SpringBoot实现文件记录日志,日志文件自动归档和压缩

    😊 @ 作者: Eric 💖 @ 主页: https://blog.csdn.net/weixin_47316183?type=blog 🎉 @ 主题: SpringBoot实现文件记录日志,日志文件自动归档和压缩 ⏱️ @ 创作时间: 2023年08月06日 Logback 是一个Java日志框架,它是 log4j 的后继者,被广泛用于应用程序中记录日志。 Logger(日志记录器): L

    2024年02月14日
    浏览(34)
  • 清理 Oracle 的监听日志

    用户的双节点 Oracle 11g rac 集群,近期发现硬盘空间使用过多,其中的一个节点【/oracle】目录空间使用了接近 90%,另一个节点使用了 95%。以其中的一个节点为例,详细情况如下: 使用【du】命令查看【/oracle】目录的空间占用情况,发现【/oracle/app/crs_base/diag/tnslsnr/his01/listen

    2024年02月14日
    浏览(45)
  • oracle警告日志\跟踪日志磁盘空间清理

    问题现象: 通过查看排查到alert和tarce占用大量磁盘空间 警告日志 /u01/app/oracle/diag/rdbms/orcl/orcl/alert 跟踪日志 /u01/app/oracle/diag/rdbms/orcl/orcl/trace 解决方案: 用adrci清除日志 确定目录 查看homepath是不是所要处理的日志目录 设置homepath(不支持多个路径) 清空警告日志 1440是按分钟算

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包