Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档。相应的日志被称为归档日志。
一、归档日志
是联机重做日志组文件的一个副本
包含redo记录以及一个唯一的log sequence number
对日志组中的一个日志文件进行归档,如果该组其中一个损坏,则另一个可用的日志将会被归档
对于归档模式的日志切换,当日志归档完成后,下一个日志才能被覆盖或重新使用
自动归档功能如开启,则后台进程arcn在日志切换时自动完成归档,否则需要手动归档
归档日志用途
恢复数据库
更新standby数据库
使用LogMiner 提取历史日志的相关信息
二、日志的两种模式
1.非归档模式
不适用与生产数据库
创建数据库时,缺省的日志管理模式为非归档模式
当日志切换,检查点产生后,联机重做日志文件即可被重新使用
联机日志被覆盖后,介质恢复仅仅支持到最近的完整备份
不支持联机备份表空间,一个表空间损坏将导致整个数据库不可用,需要删除掉损坏的表空间或从备份恢复
对于操作系统级别的数据库备份需要将数据库一致性关闭
(单个)、参数文件、密码文件、联机日志文件(可选)
2.归档模式
能够对联机日志文件进行归档,生产数据库强烈建议归档
在日志切换时,下一个即将被写入日志组必须归档完成之后,日志组才可以使用
归档日志的Log sequence number信息会记录到控制文件之中
必须有足够的磁盘空间用于存放归档日志
=true 才能够进行自动归档
备份与恢复
支持热备份,且当某个非系统表空间损坏,数据库仍然处于可用状态,且支持在线恢复
(即可以恢复到指定的时间点、指定的归档日志或指定的SCN)
三、两种模式的切换设置及手动归档
1.非归档到归档模式
.一致性关闭数据库(shutdown
b.启动到mount阶段(startup mount)
)
.切换到open阶段(alter database open)
.对数据做一个完整备份(full backup)
--演示非归档到归档模式
> ARCHIVE LOG LIST --查看数据库是否处于归档模式
Database log mode No
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
log
Current log
> SELECT log_mode FROM v$database; --查看数据库是否处于归档模式
LOG_MODE
------------
NOARCHIVELOG
> SHUTDOWN IMMEDIATE; --一致性关闭数据库
Database closed.
Database dismounted.
.
> STARTUP MOUNT; --启动到mount状态
.
Total System Global Area 251658240 bytes
Size
Size
Database
Redo Buffers 2973696 bytes
Database mounted.
> ALTER DATABASE ARCHIVELOG; --切换到自动归档模式
Database altered.
> ALTER DATABASE OPEN; --切换到open状态
Database altered.
> ARCHIVE LOG LIST; --查看数据库的归档状态
Database log mode Archive Mode --已置为归档模式
--对日志进行自动归档
Archive destination USE_DB_RECOVERY_FILE_DEST
log
log sequence to
Current log