1、 DDL操作能够隐式地提交一个事务。并且即使DDL执行失败,之前的事务也会被提交成功,而不会被回滚。原因:DDL语句分以下两步走:
第一步:如当前事务中包含有DML语句,则先利用COMMIT语句提交事务。
第二步:将DDL语句看做是一个只包含一条此DDL,SQL语句的新事务执行,并提交。
注:可以这样理解DDL操作:先结束原来的事务,然后开始自己的事务,并结束自己的事务。
2、 一个事务中可以设置多个保存点(SAVEPOIN SAVEPOINT_NAME)。
3、 事务命名(SET TRANSACTION NAME)。
在事务开始前使用SET TRANSACTION NAME语句为一个事务命名。
由于事务名与事务ID相绑定,所以同一时刻同一用户可以为不同事务赋予相同的事务名。为确保是在事务的开头使用SET 语句命名,一般先显示地用COMMIT语句结束先前的事务,再紧接着用SET语句命名一个新的事务。
4、提交注释:之前版本的ORACLE在提交事务时可以为事务添加一个注释。
如果对一个事务同时使用事务命名与提交注释,那么提交注释将被忽略。
5、 与事务相关的一个数据字典:v$transaction
6、 可恢复的空间分配问题:
在可恢复空间分配的模式下,当一个数据库操作在执行过程中遭遇空间分配失败时,oracle 可以暂时将该操作挂起,并在空间分配问题解决后恢复其执行。
被挂起的前提条件:
A. 在可恢复的空间分配模式下运行。
B. 无可用空间或达到最大的数据扩展限制或超出空间配额限制。
挂起后能够自动恢复的原因有:
管理员进行了空间分配问题的处理或其它查询使用的排序空间已被释放。
注:可通过SET SESSION 语句设置会话是否为可恢复模式。
7、分布式数据库、分布式事务与两步提交机制。两步提交机制对用户是透明的。
8、自治事务:
用户可以通过pragma 指令autonomous_transaction 将一个PL/SQL程序结构设定为自治事务。
自治事务中看不到调用者事务内任何未提交的数据修改。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10595277/viewspace-621037/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10595277/viewspace-621037/