DBA_Oracle日志文件 - altert / trace /audit / redo / archive log(概念)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 2014-07-26 Created By BaoXinjian 一、摘要 1. 日志 简称日志一般指的是联机重做日志文件(Redlog)。 主要功能是恢复异常关闭的数据库和保证数据的完整性、一致性。

 2014-07-26 Created By BaoXinjian

一、摘要


1. 日志

简称日志一般指的是联机重做日志文件(Redlog)。

主要功能是恢复异常关闭的数据库和保证数据的完整性、一致性。

还有可恢复近期丢失的数据(这要看重做日志文件的容量)。

重做文件的原理是:把DML(Insert、Update、Delete)语句所处理的前后记录都写入重做日志文件中。

当数据库的数据出故障时利用重做日志文件中的数据重新运行一次之前做过的业务,以此来恢复数据库中除了故障的数据。

重做日志文件至少要有两组,一般是三组。写满第一组写第二组,写满第二组写第三组,写满第三组返回覆盖写第一组

 

2. 日志类型

(1). 警告日志 altert log

alert日志: 在系统初始化参数文件设置的background_dump_dest对应的就是它的位置。

(2). 跟踪日志 trace log

trace日志:一般放seesion追踪的信息,对应系统初始化参数文件参数user_dump_dest对应的就是它的位置。

(3). 审计日志 audit log

audit日志:审计的信息,对应系统初始化参数文件参数audit_file_dest对应的就是它的位置。

(4). 重做日志 redo log

redo日志:存放数据库的更改信息,select member from v$logfile; member就代表它的位置归档日志。

(5). 归档日志 archive log

archive日志的历史备份,select * from v$parameter where name like 'log_archive_dest%'; 它的value的值就是位置。

 

二、警告日志


1. 警告日志概念

ORACLE警告日志记录一些信息和操作ORACLE数据库时的错误警告。

当数据库出现问题时,警告日志很快会给你指出问题所在。

比如说表不能增加存储空间,回滚段问题等等都包含在警告日志中。正因为如此,我们每天都要检查警告日志文件,看看数据库有没有什么异常?

必须说明的是,当碰到ora-0600这个错误时,你应该与oracle技术支持联系一下,

2. 警告日志的位置

3. 警告日志的简单例子

 

三、跟踪日志


1. 跟踪日志概念

Trace file(追踪文件)是以trc为后续的文本文件,它记录了各种sql操作及所消耗的时间等,根据trace文件我们就可以了解哪些sql导致了系统的性能瓶颈,进而采取恰当的方式调优.

2. 跟踪日志的位置

3. 跟踪日志的简单例子 

 

 

四、审计日志


1. 审计日志概念

 审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/)或数据库(存储在system表空间中的 SYS.AUD$表中,可通过视图dba_audit_trail查看)中。默认情况下审计是没有开启的。

不管你是否打开数据库的审计功能,以下这些操作系统会强制记录:用管理员权限连接Instance;启动数据库;关闭数据库。

2. 审计日志的位置

3. 审计日志的简单例子 

 

五、重做日志


1. 重做日志概念

(1). 重做日志文件,记录了对数据库修改的信息,包括用户对数据修改和数据库管理员对数据库结构的修改

      它主要用于在发生故障的时候和数据库备份文件配合恢复数据库,一般发生故障有2个情况:一个是介质损坏另外一个是用户误操作。

      每个数据库至少有两个日志文件组,每组至少包含1个或者多个日志成员,这里要多个日志成员的原因是防止日志文件组内某个日志文件损坏后及时提供备份,所以同一组的日志成员一般内容信息相同,但是存放位置不同。

(2). 日志文件是循环使用的

当第一个日志文件达到一定数量时,就会停止写入,而转向第二个日志文件;

第二个满转向第三个日志文件;

第三个满就向第一个日志文件写入;

而第一个日志文件有没有自动备份就涉及到归档或者不归档的问题;

当数据库自动对原来的日志文件进行备份的话就叫归档模式,不需要对数据库进行自动备份就叫非归档模式;

(3). 非归档模式

      不适用与生产数据库

      创建数据库时,缺省的日志管理模式为非归档模式

      当日志切换,检查点产生后,联机重做日志文件即可被重新使用

      联机日志被覆盖后,介质恢复仅仅支持到最近的完整备份

      不支持联机备份表空间,一个表空间损坏将导致整个数据库不可用,需要删除掉损坏的表空间或从备份恢复

      对于操作系统级别的数据库备份需要将数据库一致性关闭

      应当备份所有的数据文件、控制文件(单个)、参数文件、密码文件、联机日志文件(可选)

2. 重做日志的位置

3. 重做日志的简单例子 

 

 

六、归档日志


1. 归档日志概念

(1). 归档日志(Archive Log)是非活动的重做日志备份.

通过使用归档日志,可以保留所有重做历史记录,

当数据库处于ARCHIVELOG模式并进行日志切换式,

后台进程ARCH会将重做日志的内容保存到归档日志中.

当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库.

(2). 归档模式

        能够对联机日志文件进行归档,生产数据库强烈建议归档

        在日志切换时,下一个即将被写入日志组必须归档完成之后,日志组才可以使用

        归档日志的Log sequence number信息会记录到控制文件之中

        必须有足够的磁盘空间用于存放归档日志

        备份与恢复

            支持热备份,且当某个非系统表空间损坏,数据库仍然处于可用状态,且支持在线恢复

            使用归档日志能够实现联机或脱机时点恢复(即可以恢复到指定的时间点、指定的归档日志或指定的SCN) 

2. 归档日志的位置

 

3. 归档日志的简单例子 

 因数据库未启动归档日志模式,所以无归档日志备份

 

Thanks and Regards

ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
12天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
12天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
|
1月前
|
SQL 存储 关系型数据库
美团面试:binlog、redo log、undo log的底层原理是什么?它们分别实现ACID的哪个特性?
老架构师尼恩在其读者交流群中分享了关于 MySQL 中 redo log、undo log 和 binlog 的面试题及其答案。这些问题涵盖了事务的 ACID 特性、日志的一致性问题、SQL 语句的执行流程等。尼恩详细解释了这些日志的作用、所在架构层级、日志形式、缓存机制以及写文件方式等内容。他还提供了多个面试题的详细解答,帮助读者系统化地掌握这些知识点,提升面试表现。此外,尼恩还推荐了《尼恩Java面试宝典PDF》和其他技术圣经系列PDF,帮助读者进一步巩固知识,实现“offer自由”。
美团面试:binlog、redo log、undo log的底层原理是什么?它们分别实现ACID的哪个特性?
|
1月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1638 14
|
12天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的联机重做日志文件与数据写入过程
在Oracle数据库中,联机重做日志文件记录了数据库的变化,用于实例恢复。每个数据库有多组联机重做日志,每组建议至少有两个成员。通过SQL语句可查看日志文件信息。视频讲解和示意图进一步解释了这一过程。
|
30天前
|
存储 关系型数据库 MySQL
MySQL中的Redo Log、Undo Log和Binlog:深入解析
【10月更文挑战第21天】在数据库管理系统中,日志是保障数据一致性和完整性的关键机制。MySQL作为一种广泛使用的关系型数据库管理系统,提供了多种日志类型来满足不同的需求。本文将详细介绍MySQL中的Redo Log、Undo Log和Binlog,从背景、业务场景、功能、底层实现原理、使用措施等方面进行详细分析,并通过Java代码示例展示如何与这些日志进行交互。
73 0
|
2月前
|
存储 缓存 关系型数据库
redo log 原理解析
redo log 原理解析
40 0
redo log 原理解析
|
运维 Oracle 关系型数据库
|
1月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
163 64
|
22天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
29 7

推荐镜像

更多