Oracle的归档日志

Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档。相应的日志被称为归档日志。

一、归档日志

是联机重做日志组文件的一个副本

包含redo记录以及一个唯一的log sequence number

对日志组中的一个日志文件进行归档,如果该组其中一个损坏,则另一个可用的日志将会被归档

对于归档模式的日志切换,当日志归档完成后,下一个日志才能被覆盖或重新使用

自动归档功能如开启,则后台进程arcn在日志切换时自动完成归档,否则需要手动归档

归档日志用途

恢复数据库

更新standby数据库

使用LogMiner 提取历史日志的相关信息

二、日志的两种模式

1.非归档模式

不适用与生产数据库

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

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

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

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

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

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

2.归档模式

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

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

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

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

Oracle 9i 需要设置参数log_archive_start=true 才能够进行自动归档

备份与恢复

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

本栏目更多精彩内容:http://www.bianceng.cn/database/Oracle/

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

三、两种模式的切换设置及手动归档

1.非归档到归档模式

a.一致性关闭数据库(shutdown [immediate | transactional |normal])

b.启动到mount阶段(startup mount)

c.切换到归档模式(alter database archivelog  [manual])

d.切换到open阶段(alter database open)

e.对数据做一个完整备份(full backup)

--演示非归档到归档模式

SQL> ARCHIVE LOG LIST    --查看数据库是否处于归档模式

Database log mode              No Archive Mode

Automatic archival             Disabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     14

Current log sequence           16

SQL> SELECT log_mode FROM v$database;  --查看数据库是否处于归档模式

LOG_MODE

------------

NOARCHIVELOG      

SQL> SHUTDOWN IMMEDIATE;     --一致性关闭数据库

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> STARTUP MOUNT;         --启动到mount状态

ORACLE instance started.

Total System Global Area  251658240 bytes

Fixed Size                  1218796 bytes

Variable Size              75499284 bytes

Database Buffers          171966464 bytes

Redo Buffers                2973696 bytes

Database mounted.

SQL> ALTER DATABASE ARCHIVELOG;  --切换到自动归档模式

Database altered.

SQL> ALTER DATABASE OPEN;        --切换到open状态

Database altered.

SQL> ARCHIVE LOG LIST;           --查看数据库的归档状态

Database log mode              Archive Mode    --已置为归档模式

Automatic archival             Enabled         --对日志进行自动归档

Archive destination            USE_DB_RECOVERY_FILE_DEST

时间: 2024-10-29 16:15:56

Oracle的归档日志的相关文章

Oracle归档日志写满(ora-00257)了怎么办_oracle

oracle数据库报错ORA-00257: archiver error. Connect internal only, until freed ,如何解决呢?此问题定位在归档日志满了,下面把具体解决办法总结分享给大家. 解决办法: SQL> select * from V$FLASH_RECOVERY_AREA_USAGE; --查看归档内容使用情况 FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILE

Oracle基于用户管理的不完全恢复(四)完全恢复时丢失部分归档日志

案例3--在做完全恢复时,丢失了部分归档日志 (recover database until cancel;) 1.基于cancel 的不完全恢复 --模拟环境 SQL> col table_name for a20 SQL> col tablespace_name for a10 SQL> select table_name,tablespace_name from user_tables; TABLE_NAME           TABLESPACE ---------------

oracle物理结构(四)归档日志文件

归档日志文件是重做日志文件的截断备份,Oracle运行的两种模式:归档模式和不归档模式. 1.启用/禁用归档模式 SQL>archive log list; 查询归档模式 SQL>shutdown immediate SQL>startup mount SQL>alter database archivelog; SQL>alter database open; SQL>archive log list; Database log mode              A

查看oracle归档日志路径2

在Oracle中,数据一般是存放在数据文件中,不过数据库与Oracle最大的区别之一就是数据库可以在数据出错的时候进行恢复. 这个也就是我们常见的Oracle中的重做日志(REDO FILE)的功能了.在重做日志分成2部分,一个是在线重做日志文件,另外一个就是归档日志文件.      这里不详细说明在线重做日志,而是说一下归档日志(Archive Log).在线重做日志大小毕竟是有限的,当都写满了的时候,就面临着2个选择,第一个就是把以前在线重做日志从头擦除开始继续写,第二种就是把以前的在线重做

查看oracle归档日志路径1

查看oracle归档日志路径 1.修改归档日志的格式 默认格式是:" %t_%s_%r.dbf",我们尝试将格式修改为"%t_%s_%r.arch",这是一个静态参数,需要重新启动数据库才生效.sys@ora10g> show parameter log_archive_format NAME                  TYPE        VALUE--------------------- ----------- ----------------

归档—监控ORACLE数据库告警日志

ORACLE的告警日志里面包含许多有用的信息,尤其是一些ORACLE的ORA错误信息,所以有必要及时归档.监控数据库告警日志的ORA错误,及时提醒数据库管理员DBA处理这些错误信息,那么我们首先来看看告警日志的内容片断: Thread 1 advanced to log sequence 37749 (LGWR switch) Current log# 6 seq# 37749 mem# 0: /u01/oradata/SCM2/redo06.log Thu Jun 27 15:02:30 20

【Oracle】 rman 删除归档日志的命令

   因为数据仓库上asm的磁盘空间不足,需要删除早期的归档日志,查看资料有以下两种方式: delete archivelog until time 'sysdate-N'; delete archivelog all completed before 'sysdate-N'; 这两个命令的差别在哪里呢? 使用list 命令来查看一下究竟... RMAN>  list archivelog until time 'sysdate-1'; using target database control

Oracle 归档日志

--==================== -- Oracle 归档日志 --====================       Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档.相应的日志被称为归档日志.   一.归档日志     是联机重做日志组文件的一个副本     包含redo记录以及一个唯一的log sequence number     对日志组中的一个日志文件进行归档,如果该组其中一个损坏,则另一个可用的日志将会被归档     对于归

Oracle RMAN 清除归档日志

      在开发环境及UAT环境经常碰到需要清除归档日志的情形,对于这个问题方法有很多.可以直接使用rm方式清除归档日志,也可以使用find命令来查找符合条件的记录来清除归档日志,或者直接写个shell脚本来搞定.这样在DEV或者UAT还可以,但是在Prod环境还是建议使用RMAN提供的命令来搞定比较妥当.因为rm,find方式删除了实际的归档日志也释放了空间,但对应的存储在控制文件中的归档信息并没有彻底清除.依旧占用着一些空间未能及时清除而需要控制文件通过age out方式来释放空间.本文描