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

时间:2022-03-07 20:54:06

2014-07-26 Created By BaoXinjian

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


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的值就是位置。

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


1. 警告日志概念

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

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

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

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

2. 警告日志的位置

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

3. 警告日志的简单例子

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

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

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


1. 跟踪日志概念

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

2. 跟踪日志的位置

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

3. 跟踪日志的简单例子

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

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

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


1. 审计日志概念

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

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

2. 审计日志的位置

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

3. 审计日志的简单例子

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

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

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


1. 重做日志概念

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

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

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

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

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

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

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

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

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

(3). 非归档模式

不适用与生产数据库

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

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

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

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

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

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

2. 重做日志的位置

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

3. 重做日志的简单例子

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

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


1. 归档日志概念

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

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

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

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

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

(2). 归档模式

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

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

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

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

备份与恢复

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

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

2. 归档日志的位置

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

3. 归档日志的简单例子

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

Thanks and Regards

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