Topic: 归档日志模式和不归档日志模式

  Print this page

1.归档日志模式和不归档日志模式 Copy to clipboard
Posted by: 九佰
Posted on: 2003-06-14 23:18

数据库是否要运行在ARCHIVELOG(归档日志)模式是我们在使用数据库的时候必须要考虑的。
归档日志文件中包含数据库运行期间的改动信息。

ARCHIVELOG模式的优点:
·有可能进行完全恢复。由于对数据库所做的全部改动就保存在日志文件中,如果因为包括介质失效在内的某种失效而导致数据库文件丢失的话,可以利用物理备份和归档日志完全恢复数据库,不会丢失任何数据。所有已经提交的事务都可以查到。
·有可能进行联机备份。允许用户在进行数据备份的同时使用数据库。
·表空间可以立即脱机。
·如果一个分布式数据库系统的所有节点都运行在ARCHIVELOG模式下,可以进行分布式恢复。
·提供更多的恢复选择。
·通过使用一个备用数据库,能够提供最大限度的灾难保护手段。

ARCHIVELOG模式的缺点:
·保存归档日志文件需要更多的磁盘空间。
·DBA需要更多的时间来管理数据库。

NOARCHIVELOG模式的特点:
·由于数据文件的丢失,如果需要恢复,只能恢复到最后一个完全脱机数据库备份。在最后一个完全脱机备份后的数据改动都将丢失。因此,需要进行非常频繁的脱机备份。
·必须进行完整的数据库备份,不能仅备份部分数据库。
·不能进行联机备份,脱机备份过程中不能使用数据库。
·表空间不能立即脱机。
·DBA的管理行工作减少

2.Re:归档日志模式和不归档日志模式 [Re: 九佰] Copy to clipboard
Posted by: runaway
Posted on: 2003-06-17 12:40

归档日志模式会由于Log文件切换后的Archive影响数据库的处理速度。
恢复并非只是为了在介质失效之后恢复数据库,归档日志模式的好处是可以做到按照时间点进行恢复。

3.Re:归档日志模式和不归档日志模式 [Re: 九佰] Copy to clipboard
Posted by: 九佰
Posted on: 2003-06-17 22:00

归档模式可以实现完全恢复和不完全恢复
完全恢复通常是归档模式下数据库所在的介质出现意外的情况下使用
不完全恢复则是在数据发生错误输入并且已经提交的情况下使用的

在进行不完全恢复的时候,可以实现Cancle-based、time-based和Change-based三种选择,其中change-based是最灵活的

通常使用较多的是time-based和cancle-based

另外,针对于介质失效的情况,使用备用数据库(standby database)是一个比较好的选择方案

4.Re:归档日志模式和不归档日志模式 [Re: 九佰] Copy to clipboard
Posted by: davidself
Posted on: 2003-06-19 08:07

在chinaunix看到的一篇:

采用Oracle ArchiveLog模式和非ArchiveLog模式对备份恢复的影响
备份的目的在于,当系统或数据库出现问题时,能够快速将数据库进行恢复。对于Oracle数据库,一般有两种备份方式:“物理备份”和“逻辑备份”。“物理备份”指的是以copy数据文件方式进行备份;“逻辑备份”指的是用export等方式将数据从数据库中抽取出来。物理备份又可以分为冷备份和热备份。以下是各种备份的说明及前提条件。
- Cold Backup(冷备份) 主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件、控制文件、联机日志文件、ini文件。
- Hot Backup(热备份) 指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在(Archive Log)归档方式下。
- Export(逻辑备份)这是最简单的备份方法,可按数据库中某个表、某个用户或整个数据库来导出,并且支持全部、累计、增量三种方式。使用这种方法,数据库必须处于打开状态,而且如果数据库不是在restrict状态将不能保证导出数据的一致性。

“物理备份”方式以相当于copy数据文件的方式进行备份,恢复时可以快速以相当于copy的方式将备份的数据copy回来,所以备份速度特别是恢复速度非常快。

如果不采用Archive Log模式运行Oracle数据库,只有两种可用的备份方法:冷备份或export逻辑备份。根据关键业务服务器的特点,停下数据库进行冷备份是根本不可能的,因此如果不采用Archive Log,只能进行逻辑备份。

如果仅采用“逻辑备份”方式,恢复时会有以下两个主要问题:
1. 无法恢复到最近时间点的数据。只能恢复到上一次export时的数据状态,当天的数据将丢失。Archive Log模式下的物理备份可以用数据文件备份及Archive Log备份,将数据库恢复到数据库失败前的时间点,不会丢失数据。
2. 完成恢复可能需要很长时间。恢复只能用import方法进行,所以需要的时间包括:
a. create database及所有的tablespace: 以每2分钟初始化一个2G的数据文件来计算,建立一个400G的Oracle数据库需要约6.7个小时。
b. import。时间较难确定,但保守估计应在10个小时以上(如果import过程中出现问题,恢复时间将延长)
3. 恢复时步骤较多,易出现人为故障。

由于 这些原因,一般备份/恢复时都把export/import的方式做为辅助备份/恢复方式,对一些重要的表进行二级保护。这种备份方式也称为“逻辑备份”方式,当某些重要的表被意外删除时可进行逻辑import恢复。

而对于整个数据库的日常备份/恢复,需要采用“物理备份”方式,即以相当于copy数据文件的方式进行备份,恢复时可以快速以相当于copy的方式将备份的数据copy回来。一般物理备份/恢复都采用Oracle RMAN工具来进行。

下面是“逻辑备份”与“物理备份”在数据库故障时的恢复比较:

1. Oracle逻辑错误造成无法启动
逻辑恢复: 重新create database及各tablespace,import。可恢复到上次export的数据
物理恢复: 将所有datafile copy回来,并利用archivelog将数据库recover到故障前的状态

2. 某一个datafile故障或丢失
逻辑恢复: 重新create database及各tablespace,import。可恢复到上次export的数据
物理恢复: 将该datafile copy回来

3. 某一个tablespace故障
逻辑恢复: 重新create database及各tablespace,import。可恢复到上次export的数据
物理恢复: 将该tablespace copy回来

4. 意外drop table
逻辑恢复: Import 该table
物理恢复: 将备份恢复到另一服务器上,export该table,在原数据库中import

5. 意外drop user
逻辑恢复: Import 该user
物理恢复: 将备份恢复到另一服务器上,export该user,在原数据库中import

6. 意外drop tablespace
逻辑恢复: 情况较复杂,恢复易造成数据库表之间的参照完整性被破坏。在此不做分析
物理恢复: 情况较复杂,恢复易造成数据库表之间的参照完整性被破坏。在此不做分析

在进行数据库的恢复时,一定要了解Oracle数据库的原理,分析故障的原因,然后针对故障的情况进行相应的恢复。例如以下情况:
- Oracle程序文件损坏?
- control file损坏?
- Online redo log损坏?
- datafile损坏?
- archive log损坏?
- table或其中数据被意外删除?

不同情况下需要采用的恢复手段都是不尽相同的,需根据损坏的情况进行相应的恢复步骤。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923