ITPub博客

首页 > 数据库 > Oracle > 基础开始——undo

基础开始——undo

原创 Oracle 作者:roypal 时间:2009-06-30 16:02:31 0 删除 编辑

undo
使用DML语句对数据进行了修改 oracle将修改前的数据保存至undo segment中 ,undo segment保存于undo tablespace中,未使用commit提交事务前 使用rollback可回滚这部分数据

show parameter undo
undo参数...

[@more@]

①undo_management 值为auto时 在空间不足时自动创建undo段
②undo_retention 该项值为在事务提交后存放在undo段内的数据仍将保存多少秒
③undo_tablespace 当前使用的undo表空间

ORA-01555 快照过旧
解决方案:扩大undo表空间

1.create undo tablespace undotbs2 datafile ' g:/undotbs2.dbf ' size 10m创建一个undo表空间 使用数据文件undotbs2.dbf 大小为10MB
此时的undotbs2不会被使用 因为默认处于offline状态

2.alter system set undo_tablespace = undotbs2修改数据库使用undotbs2回滚表空间 此刻其他回滚段将被置于offline状态

3.select * from dba_rollback_segs
查看所有undo表空间SEGMENT_ID 使用情况等信息

4.select * from v$rollstat
当前undo表空间USN(对应表空间SEGMENT_ID) 使用情况等信息

5.select * from v$transaction
查看当前事务使用undo的情况

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21143113/viewspace-1023641/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-18

  • 博文量
    29
  • 访问量
    32215