回滚段:
>oracle9i中自动管理回滚段:
9i开始引入自动管理回滚段,如果选择使用自动管理,那么用户就不能创建或删除回滚段.
有几个新的参数:
1.undo_management: auto表示自动管理,manual表示手动
2.undo_tablespace: 自动管理模式下,当前实例使用那个Undo表空间
[注意:]此表空间的创建必须要写成 CREATE UNDO TABLESPACE "UNDOTBS3" DATAFILE
回滚段:
>oracle9i中自动管理回滚段:
9i开始引入自动管理回滚段,如果选择使用自动管理,那么用户就不能创建或删除回滚段.
有几个新的参数:
1.undo_management: auto表示自动管理,manual表示手动
2.undo_tablespace: 自动管理模式下,当前实例使用那个Undo表空间
[注意:]此表空间的创建必须要写成 CREATE UNDO TABLESPACE "UNDOTBS3" DATAFILE 'D:ORACLEORADATAORAZBHUNDOTBS3.DBF' SIZE 50M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
在Oracle的管理界面上创建的表空是非回滚段的表空,要不的.必须用语句
3.undo_retention: 表示在自动管理模式下,回滚段变得非激活后,回滚段的数据在被覆盖前的保留时间.9i中默认是3小时.
这个参数的调整可以有效的避免ORA-01555错误.
>回滚段的深入研究:
ITL事务槽: 事务必须获得一个ITL事务槽才能进行数据修改.ITL内容主要包含如下
XID:--- Transaction ID
Uba:--- Undo Block Address
Lck:--- Lock Status
一下是事务的全过程:
1.分配一个回滚段
2.在回滚段事务表中分配一个事务槽
3.分配undo block
4.更新数据块上的ITL事务槽
5.把前镜像记录在undo block内
6.更改数据块的内容
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8473004/viewspace-892734/ ,如需转载,请注明出处,否则将追究法律责任。