oracle 11g的日志文件和归档方式的相关操作
首先我们知道,日志文件在任何一个数据库中都是起着非常重要的作用。
日志文件存放在(以我的安装路径为例)D:\app\Administrator\oradata\orcl
一、联机重做日志
Oracle数据库有联机重做日志(联机:可以随时被使用 重做:redo),这个日志是记录对数据库所做的所有修改(言下之意就是查询不被记录在日志中),包括对表作的数据改变,对系统做的改变等。可以使用它,来维护数据的完整性,以及进行数据库的恢复,可以进行日志挖掘。
产生过程:①将用户所做的操作先记录到日志缓冲区成为一条一条的重做条目
② 通过LGWR这个进程将这些重做条目记录到重做日志这个硬盘上的文件中(联机日志文件)
举例:用户对数据库进行了DML修改,然后执行了commit操作,恰巧此时数据库宕机了,数据库的操作将会被保存下来,数据库再次启动时,有前滚、回滚两个操作,只要是用户commit的操作都不会丢失,但没有commit的操作也一定不会被保存。在这个过程中,之前所提到的联机重做日志文件将会被用到。
二、日志文件的分类
日志文件分为在线日志文件(=联机重做日志文件=联机日志文件)和归档日志文件(在线日志文件的历史备份)两类。归档日志文件是在线日志文件的历史备份。 由于在线日志文件是不停的来记录数据库的修改的,且其空间是有限的,我们就把联机日志文件中记录的东西备份到归档日志文件中。
三、日志组的含义
日志按照组来组织,每一个组里面有多个文件。日志组按照循环方式来工作,所以ORACLE中,至少应该有两个日志组,当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时 候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。
四、数据库的两种运行方式
- 非归档模式 联机日志组在切换的时候该日志中所记录的日志会被丢弃,被新的日志记录所覆盖,旧的日志信息没有保留,则我们也不能恢复到旧的日志所反映的时间点。
- 归档模式 联机日志组在切换的时候该日志就会发生归档,如果使用该方式可以进行任意的灾难性恢复。
非归档日志方式可以避免实例故障(内存崩溃,计算机死机,数据库坏了,后台进程坏了),但无法避免介质故障(数据文件所在的物理磁盘坏掉了)。在此方式下,数据库只能实施冷备份
归档日志方式产生归档日志,用户可以使用归档日志完全恢复数据库
知识扩充:
冷备份(cold backup),也被称为离线备份,是指在关闭数据库并且数据库不能更新的状况下进行的数据库完整备份。冷备份发生在数据库已经正常关闭的情