15-事务管理.pdf
文本预览下载声明
Oracle Database Administration
事务管理
大纲
• COMMIT
• ROLLBACK
事务处理
• 事务结束的标志
–COMMIT
–ROLLBACK
事务结束
– 当提交时,Oracle指派一个独特
的数字:SCN SCN(Syatem
Change Number) ,该数字定义
在某个精确时间的数据库状态,
就像内存中的时间戳。
– SCN是序列数,而且总在增加。
SCN提供数据库的读的一致性视
图,数据库经常基于SCN恢复。
事务结束
– 当查询在执行阶段时,Oracle分
配当前的SCN;该SCN与每个数
据块的SCN 比较,如果数据块具
有更高的SCN,数据从回退段中
读出。
– SCN 记录在控制文件、数据文件
头、重做日志文件。
事务处理
•COMMIT
•发生时机
•数据库的改变
事务结束
• Oracle提交事务的时机:
–发出COMMIT命令;
–执行DDL语句;
– 与Oracle分离。
事务结束
提交后数据库的改变呢?
– 服务器进程产生SCN数并将其分配给回退
段,然后它给回退段作标记,表示提交事务。
– LGWR进程将重做日志缓存块和SCN数写入重
做日志文件。
– 服务器进程释放行和表保存的锁。
– 通知用户提交完成。
– 服务器进程将事务标记为完成。
事务处理
•ROLLBACK
•发生时机
•数据库的改变
事务结束
• Oracle回滚事务的时机:
–发出ROLLBACK命令;
–服务器进程异常结束;
–DBA停止会话。
事务结束
数据库的改变呢?
–使用回滚段项目撤消对数据库所作的更
改。
–服务器进程释放行和表保存的锁。
–服务器进程将事务标记为完成。
回顾
• Commit
• Rollback
时间结束
显示全部