Oracle日志操作模式(归档模式和非归档模式的优点和缺点)

今天我将谈谈我对这两种运行模式的理解,并就如何提高Oracle数据库的安全性提出一些可行的建议。

一、非归档模型的优缺点。

非归档模式是一种不重做历史的日志操作模式。它只能用来保护程序的故障,但不能保护媒体的损坏,如果数据库采用日志操作模式,那么当日志交换完成时,新的日志将直接覆盖原始日志文件的内容,并且不会保留原始日志文件中的数据。
这听起来可能很难理解,作者给出了一个简单的例子,它将更清晰。现在,例如,有四的Oracle数据库日志组和日志序列号是11, 12, 13,和14,分别。当数据库事务的变化充满了第一个日志组文件(编号11),Oracle数据库会自动切换到第二个日志组文件(编号12)。类比是反过来的。当第三个日志组文件(序列号13)都满了,他们改用第四日志组(序列号为14)。当第四个日志组(序列号14)是满,他们切换到第一个日志组(序列号为15)。在这里,虽然序列号不同于第一个日志文件组的日志组仍然是相同的。在这一点上,作为数据库的操作模式为非归档模式,对日志文件的第一集的内容(序号11)不归档,新的日志文件的内容将直接覆盖第一个日志组文件的内容。如果第一个日志文件组(编号15),切换到第二日志文件组,新内容将不会申请第二日志文件组的原始数据直接覆盖日志文件12下。

通过以上分析,可以归纳出非归档操作日志模式的一些特点。

一是当检查点完成后,后台程序可以覆盖原来的内容重做日志。也就是说,当日志切换,后续日志文件的内容可以覆盖原有日志文件的内容没有归档以前的日志文件的内容。在这种情况下,当数据文件损坏,数据库管理员可以只恢复到过去的完全分离点。例如,数据库有四个日志组。如果日志组序列号为16,数据库管理员进行完整的备份,数据文件损坏时,日志组序列号为28。在这一点上,该中间日志文件的内容被覆盖掉,所以在这一点上,数据库管理员可以只有恢复到完全备份,而不是恢复点的数据时,数据库文件损坏,即编号是28。如果数据文件是在事故中受损的是序列号的18倍,可以恢复数据库的第一个(编号16恢复数据),然后使用重做日志文件(编号:17, 18),可将数据恢复到故障数据。所以虽然你不需要文件的重做日志文件,节省磁盘空间,但它带来的麻烦到后续数据库的恢复,从而降低了数据库的安全性为此,如何选择,还是需要数据库管理员根据企业自身的情况作出选择。

二,当数据库备份时,所有数据文件和控制文件必须备份。按照我上面提到的,因为重做日志将被覆盖后,所以,基本上,数据库管理员可以不通过重做日志文件,数据恢复数据库的重做日志文件,或者,它是不可能的恢复所有的数据。由于这个原因,所有的数据文件和控制文件必须备份时数据库备份执行。同时,你也必须使用SHUTDOWNNORMAL和其他命令关闭数据库。
U3000 U3000
二、归档日志模式。

归档日志模式对应于非归档日志模式,它指的是日志操作模式,保留重做日志历史。这个日志操作模式不仅可用于保护常规的失败,但也给媒体损伤保护。如果数据库管理员设置日志归档日志模式,当后台进程是做日志切换,后台程序会自动复制到归档重做日志的日志内容,归档日志是不活跃的备用重做日志。

现在,例如,有四的Oracle数据库日志组和日志序列号是11, 12, 13,和14,分别。当数据库事务的变化充满了第一个日志组文件(序列号为11),后台程序将切换到第二个日志组(序列号12)。但在这之前切换,数据库有一个进程,负责将文件内容复制在第一个日志组为归档日志。类比是反过来的。这是归档日志模式和非归档日志模式最本质的区别。但是,这种差异有数据库的安全性带来了巨大的变化。

如果日志序列号是28,有一个数据文件错误或服务器硬盘损坏事故,因为日志文件记录所有数据的变化,由于数据库备份。此外,这些日志文件和数据库备份文件存储在其他媒体,所以数据库管理员可以将数据库还原到数据损坏时介质损坏(即日志文件序列号为28)。从保护数据库的数据来看,这是一个理想的状态。

如果非归档模型与归档模型进行比较,可以找到以下特性。
首先,当有媒体的损坏(如硬盘损坏或意外删除数据文件)或常规的故障,如服务器突然断电,数据库管理员可以防止由归档日志文件丢失的数据。非归档模式往往只能够应付日常的失败。因此,它的应用范围比较大的非归档。

二是数据备份的限制。如上所述,如果数据库处于非归档模式,数据库是由SHUTDOWNNORMAL和其他命令关闭数据库备份,归档模式,当数据库处于打开状态,数据库管理员仍然可以备份数据库,并不会影响数据库的正常使用。除了之间的本质差异数据库备份数据库恢复,有很大的差别。如果数据库采用归档日志模式,它不仅可以进行完全恢复,也有助于恢复数据库到一个特定的点上与归档日志文件在数据库的帮助。发生意外故障时,数据的安全性的保护最大。
但是,如果采取了归档模式,则必须牺牲一定数量的磁盘空间。

三。如何选择合适的日志操作模式

非归档模式只能用于恢复数据时,常规的失败,并不能用来保护媒体免受损害,当数据库中的数据文件被意外损坏,非归档模式没有对策。归档模式不仅可用于保护常规失败,也要恢复数据库的原始数据,最大程度当介质失败。在这一点上,数据库管理员可以使用数据库的备份文件,归档日志文件,重做日志文件恢复数据库中的数据发生故障的地方。

由于归档模式和非归档模式有自己的特点,当采用归档日志模式,当采用非归档模式,这个问题的答案是说公众的合理,和婆婆是合理的。恐怕没有固定的答案几年辩论。在这方面,我提出了自己的观点。这不是标准答案,仅供参考。

要做的第一件事是看在数据库中的数据变化的频率。当数据库中的数据的变化是比较小的,宜采用非归档模式。相反,如果数据库中的数据的变化更加频繁,如一些商业操作系统,它是最好能够使用归档模式。

其次,我们要看企业数据丢失的态度。如果企业具有很高的数据安全性的要求,如银行,不允许任何数据丢失,最好是能使用归档日志模式。当一个数据库失败,它可以帮助数据库管理员数据恢复到最大程度。同样,当一个企业可以允许部分数据损坏,非归档模式可以通过节省额外的成本和日志文件备份磁盘空间时切换日志组。

另外,如果数据库需要全天候运行。因为在非归档模式下,你必须用shutdownnormal等命令备份数据库关闭数据库。这是不是在所有天气操作数据库的要求一致。在归档模式下,即使数据库的开放状态,它还可以备份,并且不会影响数据库的正常运行。因此,如果数据库需要全天候运行,最好使用。虽然数据库必须支付额外的费用,我认为这是值得的。毕竟,硬件投资有价的数据是无价的。

数据库管理员应根据企业的实际情况选择合适的日志操作模式,这使得重做日志和归档日志成为Oracle数据库的一个真正的保护伞。