跳转到内容

Oracle 和 DB2 比较与兼容性/进程模型/事务管理/Oracle

来自维基教科书,开放的书籍,面向开放的世界

在 Oracle 中,事务在连接到数据库后隐式开始,之后在每个 SQL 语句之后,在提交或回滚之后开始。根据定义,事务在您提交、回滚或断开与数据库的连接时结束。在每个 DDL 语句(例如 Alter、Drop、Create)之后都会发出隐式提交。这种隐式事务控制意味着每个会话只能有一个逻辑事务,这是 Oracle 的另一个功能,旨在通过防止事务嵌套来简化事务控制。

也可以在事务期间设置保存点。虽然您可能不知道事务是否已完成到足以提交的程度,但您可能知道事务的某些部分已成功执行(并且这些可能是已成功执行的重大工作单元,消耗了大量资源)。如果您在这些元素成功执行后设置了一个保存点,那么随后整个事务出现的问题可以回滚到此保存点。这使您可以选择尝试修复问题并继续,继续进行另一组操作,甚至在适当的时候回滚整个事务。

事务管理通过 Orace 在撤消日志缓冲区和缓冲区高速缓存中保存修改数据的之前和之后映像而成为可能。此时提交将强制日志写入器 (LGWR) 将撤消日志缓冲区条目复制到磁盘上的撤消日志文件组。在日志切换时,LGWR 将调用检查点,将缓冲区高速缓存中所有已更改(称为“脏”)块刷新到磁盘。

华夏公益教科书