文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

oracle的启动与关闭原理-事务commit或者rollback

2024-04-02 19:55

关注


4、事务

4.1事务的概念

    从第一个DML语句开始执行,以rollback或者commit为结束标记,之前所有的DML操作(insert,update,delete )都是属于这个事务的范围内。



4.2 事务的提交操作

(1)首先解锁一个用户并改密码

SQL> alter user scott account unlock;

User altered.

SQL> alter user scott identified by scott;

User altered.

(2)连接到scott用户
SQL> conn scott/scott;
Connected.

(3)创建一个tt的表
SQL> create table tt(
  2  id number
  3  );

SQL> insert into tt values(1);

1 row created.

SQL> select * from tt;

    ID
----------
     1

SQL> insert into tt values(2);

1 row created.

SQL> select * from tt;

    ID
----------
     1
     2

SQL> commit;        --这是一个事务的结束

Commit complete.

---------------------------------        这是另外一个事务

SQL> update tt set id=3 where id=2;

1 row updated.

SQL> select * from tt;

    ID
----------
     1
     3

SQL> rollback;                --这个事务到这里结束

Rollback complete.

SQL> select * from tt;

    ID
----------
     1
     2


两个问题:

(1).提交的事务是不是就一定会写磁盘里面
     不一定  ?  因为系统的读写是异步的,提交了的数据有可能还在脏块列表中,等到有足够多脏块时
              DBWn进程才会把一批次的脏块信息写进磁盘。
 
(2).没有提交的事务是不是就不会写到磁盘
     不一定  ?  因为脏块链表的空间有限,如果一次性对数据进行大量的修改,会产生大量的脏块超出脏块
              链表的长度,此时 DBWn进程会将脏块信息写进磁盘,如果用户提交了,数据已经写进磁盘,
              如果用户进行回滚操作,也没问题,Oracle将会利用undo表空间回滚断的旧镜像将以前的信
              息在磁盘中还原回去。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯