关闭
侧边栏

什么是回滚和撤销

Posted by dbtan on 十二月 23rd, 2009

什么是回滚和撤销: 首先来介绍一下什么是回滚和撤销。我们知道,从Oracle 6版本到Oracle 9i版本,Oracle用数据库中的回滚段(Rollback)来提供撤销数据(Undo Data);而从Oracle 9i开始,Oracle还提供了一种新的撤销数据(Undo Data)管理方式,就是使用Oracle自动管理的撤销(Undo)表空间(Automatic Undo Managem
... ...
<阅读全文>

回滚与撤销

Posted by dbtan on 十二月 23rd, 2009

回滚与撤销: 为了保证数据库中多个用户间的读一致性和能够回退事务,Oracle必须拥有一种机制,能够为变更的数据构造一种前镜像(before image)数据(保存修改之前的旧值),以保证那够回滚或撤销对数据库所作的修改,同时为数据恢复以及一致性读服务。 这就是回滚(或撤销)。在之前的日志中已经提到Redo,我们说R
... ...
<阅读全文>

Redo故障的恢复

Posted by dbtan on 十二月 20th, 2009

Redo故障的恢复: 我们已经知道日志文件对于数据库来说非常重要,在实际使用过程中,可以会遇到各种各样的问题,接下来将介绍一些在日常数据库维护中经常会遇到的情况。 1. 丢失非活动日志组的故障恢复:如果数据库丢失的是非活动(INACTIVE)日志组,由于非活动日志组已经完成检查点,数据库不会发生数据损失,此时
... ...
<阅读全文>

能否不生成Redo

Posted by dbtan on 十二月 19th, 2009

能否不生成Redo: 正常的数据库必须生成Redo,这是数据库的机制,否则数据库在遇到故障或Crash时则无法恢复。但是Oracle为了增强某些特殊操作的性能,对于一些SQL语句,Oracle允许使用NOLOGGING子句,NOLOGGING可以使得日志生成大幅降低,但是必要日志(比如:对于字典表的修改)仍然会被记录。 可以使用NOLOGGING的
... ...
<阅读全文>

为什么热备份期间产生的Redo要比正常时多

Posted by dbtan on 十二月 19th, 2009

为什么热备份期间产生的Redo要比正常时多: 我们还要知道的是,在数据库处于热备份(使用Begin Backup进行备份时)状态时,会产生了比平常更多的日志。这是因为在热备份期间,Oracle为了解决SPLIT BLOCK的问题,需要在日志文件中记录修改的行所在的数据块的前镜像(image),而不仅仅是修改信息。为了理解这段话,我们
... ...
<阅读全文>


Copyright © 2009 - 2019 https://www.dbtan.com. All rights reserved.