分类: Oracle
2011-06-07 21:35:57
每个数据块都有事务槽,默认的事务槽个数是1,最多可以达到255个事务槽
SQL> select TABLE_NAME,TABLESPACE_NAME,INI_TRANS,MAX_TRANS from dba_tables where TABLE_NAME='DEPT';
TABLE_NAME TABLESPACE_NAME INI_TRANS MAX_TRANS
------------------------------ ------------------------------ ---------- ----------
DEPT USERS 1 255
修改事务槽个数
alter database
SQL> alter table dept initrans 20;
SQL> select TABLE_NAME,TABLESPACE_NAME,INI_TRANS,MAX_TRANS from dba_tables where TABLE_NAME='DEPT';
TABLE_NAME TABLESPACE_NAME INI_TRANS MAX_TRANS
------------------------------ ------------------------------ ---------- ----------
DEPT USERS 20 255
事务槽里都记录什么呢?
当前事务的id、事务所使用的undo数据块的地址、SCN号和当前事务是否提交的标记。
只有当事务槽的事务提交或者回滚后,当前事务槽才能被其他事务覆盖。