关于回滚段的理解

关于回滚段的理解

1.检查数据库自启动以来的回退率,如果

   transaction rollbacks/(transaction rollbacks+user commits)的值过高,应该引起注意

   sql语句如下:

   select name,value

   from v$sysdate

   where name in (‘user commits’,’transaction rollbacks’);

2.关于回滚段,如果是delete操作,回滚段会记录删除的整行的数据,如果是update操作,回滚段只会

  记录修改的字段,如果是insert操作,回滚段会记录插入行的rowid。所以,如果事务最后提交,只需

  在回滚段中标记事务已经提交。如果最后事务回滚,如果先前是delete操作,回退时将回滚段的数据写

  回数据块,如果是删除操作,将修改前的数据再写回去,如果是insert操作,根据记录的rowid把这条

  记录删除。

3.查询操作:

  在进行查询操作时,先将数据库读取到数据缓冲区中,如果发现要读取的数据块得sdn大于查询时的sdn,

  则需要从回滚段中读取改数据集,此时,会先将数据缓冲区中的改数据块做一个拷贝,在根据回滚段中

  的数据对整个拷贝的数据块做回滚,回滚完成后,再读取改数据块得数据。

4.延迟回滚段:

  当我们将表空间offline时,如果此时有事务使用该表空间,并且已经执行回滚操作。由于表空间不可用,

  但回滚成功的信息还会显示给用户,但实际上,并没有回滚,这个时候数据库将回滚信息写入系统回滚段,

  等到表空间再次online时,数据库从系统回滚段将信息回滚写入表空间。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值