- 2
- 0
- 约2.3千字
- 约 20页
- 2021-09-16 发布于河北
- 举报
Java程序员Oracle就业课程Lesson 8 数据库事务主讲:杨昊Q:952063095 理解数据库事务概念掌握数据库处理事务的方法目 标例如,银行转帐问题: 假定资金从帐户A转到帐户B,至少需要两步:帐户A的资金减少然后帐户B的资金相应增加 银行转帐帐户A帐户B事务的必要性事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行 事务是一个不可分割的工作逻辑单元 数据库事务事务必须具备以下属性:原子性(Atomicity):事务是一个完整的操作。事务的各步操作是不可分的(原子的);要么都执行,要么都不执行一致性(Consistency):当事务完成时,数据必须处于一致状态隔离性(Isolation):对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务永久性(Durability):事务完成后,它对数据库的修改被永久保持,事务日志能够保持事务的永久性事务的四个属性--ACID 当执行事务操作的时候(DML语句)时,Oracle会在被作用表上面加表锁.以防止其他用户改变表结构,同时会在被作用行上加行锁,以防止其他事务在应用行上执行 DML操作.如 会话A update 会话B alter事务1. 事务和锁在Oracle数据库中,为了确保数据库数据的读一致性,不允许其他用户读取脏数据(未提交事务).如 A update 但没提交 B select事务1. 事务和锁使用commit语句可以提交事务. 当执行了 commit语句之后,会确认事务变化,结束事务,删除保存点,释放锁. 当使用commit语句结束事务之后,其他会话可以看到事务变化后的新数据.当出现一下情况会自动提交事务:1. 当执行DDL语句,如create,alter,drop table..2. 当执行DCL语句, grant , revoke3. 当退出 sqlplus事务2. 提交事务保存点: 保存点是事务回退点, 他用于取消部分事务,当结束事务的时候, 会自动删除该事务所定义的所有保存点. 当执行 rollback 命令的时候,通过指定保存点可以取消部分事务.设置保存点: savepoint 保存点名称;取消部分事务: rollback to 保存点;这样保存点之前的操作提交,之后的操作取消.取消全部事务: rollback;当使用rollback取消事务的时候,会取消所有事务变化,结束事务,删除所有保存点并释放锁.当出现系统灾难或应用程序地址例外的时候,会自动回退其事务变化.事务3. 回退事务只读事务: 是指允许执行查询操作,而不允许执行任何DML操作的事务,当使用只读事务的时候,可以确保用户取得特定时间点的数据.假定企业需要在每天16时统计最近一天的消费信息,而不统计当天16时之后的销售信息,那么可以使用只读事务. 在设置了只读事务之后,尽管其他会话可能会提交新的事务,但只读事务将不会取得新的数据变化.从而确保特定时间点的数据信息.事务4. 只读事务使用只读事务: set transaction read only;Set transaction isolation level read committed 注意: 当设置只读事务的时候,该语句必须是事务开始的第1条语句.不能在 READ ONLY 事务处理中执行插入/删除/更新操作事务4. 只读事务只读事务可以使得用户取得特定时间点的数据信息,但当设置了只读事务的时候, 会话将不能执行delete/insert/update等dml操作,为了使得用户可以取得特定时间点的数据, 并且允许执行dml操作, 可以使用顺序事务.事务5. 顺序事务以第一个DML SQL语句执行开始以下面的事件为止 — COMMIT或者ROLLBACK语句被执行 — 一个DDL或者DCL语句执行(自动提交) — 用户退出SQL*Plus — 系统崩溃数据库事务使用COMMIT和ROLLBACK语句,你可以:确保数据一致在做永久改变之前可以预览数据改变组逻辑上的相关操作COMMIT和ROLLBACK语句的优点进行改变提交改变提交数据数据库中数据的改变被永久化不会丢失,即使系统崩溃。事务结构,旧事务状态被清除,新事务开始。旧事务中的锁定的行被释放,这些行现在可以被其它用户进行操作。在COMMIT之后的数据状态使用ROLLBACK命令放弃所有未决的改变数据的改变被撤回数据先前的状态被还原受影响行上面的锁被释放DELETE FROM copy_emp;22 rows deleted.ROLLBACK;Rollback complete.在Rollback之后数据的状态在下列环境下自动提交会发
您可能关注的文档
- 第7章消费者的个性、自我概念与生活方式.pptx
- 第7章现金流量表分析.pptx
- 第7章生产计划xin.pptx
- 第7章生产成本.pptx
- 第7章电力信息安全.pptx
- 第7章电子供应链、协同商务、企业内部电子商务和公司.pptx
- 第7章生物环境.pptx
- 第7章电子商务安全协议.pptx
- 第7章电子商务物流.pptx
- 第7章电子采购与招标采购.pptx
- 2025广东广州市天河区拟招聘英语实习老师1人备考题库附答案.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷附答案解析.docx
- 2025广东广州市越秀区流花街道办事处招聘综合事务中心辅助人员1人笔试历年题库附答案解析.docx
- 2025广东广州市花都区新雅街清初级中学招聘临聘教师1人备考历年题库带答案解析.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷带答案解析.docx
- 江苏省盐城市东台市三仓镇区中学2026届八年级数学第一学期期末教学质量检测试题含解析.doc
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人备考题库带答案解析.docx
- 江苏省盐城市亭湖区2026届数学八上期末考试试题含解析.doc
- 安徽省蚌埠市淮上区2026届数学八年级第一学期期末达标检测模拟试题含解析.doc
- 2025广东广湛城旅游轮有限公司招聘备考历年题库附答案解析.docx
原创力文档

文档评论(0)