关于数据库事务的问题 3条SQL语句分别执行数据库3张表的更新操作3条语句执行完毕再一次性COMMIT,如果3条语句没有执行完,没有COMMIT,数据库会自动回滚的,在数据库重新启动时。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不要怕,回滚了,你再重新执行就可以了。原因: 你没有 执行完,所以也不会 commit ,日志就不会标记完成。就当没发生过这事儿一样。 会回滚到更新前的状态,重启后有SMON进程来完成 数据库中的事务是原子的,只有完全执行后,commit,才会提交,把数据更新到数据库中,如果没有执行完,数据库的事务会自动回滚,回到操作之前一致的状态,然后重启后重新执行就可以了。 事务的原子性要求,如果把一个事务看作是一个程序,它要么完整的被执行,要么完全不执行。就是说事务的操纵序列或者完全应用到数据库或者完全不影响数据库。假如用户在一个事务内完成了对数据库的更新,这时所有的更新对外部世界必须是可见的,或者完全没有更新。前者称事务已提交,后者称事务撤销。DBMS必须确保由成功提交的事物完成的所有操作在数据库内有完全的反映,而失败的事务对数据库完全没有影响。一个事务内部的操作及正在操作的数据必须封锁起来,不被企图进行修改的事务看到。分离性是DBMS针对并发事务间的冲突提供的安全保证。DBMS可以通过加锁在并发执行的事务间提供不同级别的分离。 oracle数据库插入数据没有commit,是不会提交到数据库中的 没commit的话。就没关系啦。不过很容易锁表的哦。锁表后这个表你就只能查询了,不能操作里面的数据 ,需要去sys用户下kill掉 Oracle,SQL语句中/*+ */是什么技术呢? Oracle 10gR2 RAC维护遇到的问题 如何给用户授于表空间权限 oracle10g中上传文件报错 oracle建表的问题,往大家多多指导 MTS_DISPATCHERS 参数怎么确定? 如何申明一个静态或动态的游标? oracel中将一张表的数据导入别一张表 oracle在linux下安装出错. 求助.... hibernate query.list() 方法为什会卡死 oracle数据迁移
假如用户在一个事务内完成了对数据库的更新,这时所有的更新对外部世界必须是可见的,或者完全没有更新。前者称事务已提交,后者称事务撤销。DBMS必须确保由成功提交的事物完成的所有操作在数据库内有完全的反映,而失败的事务对数据库完全没有影响。
一个事务内部的操作及正在操作的数据必须封锁起来,不被企图进行修改的事务看到。分离性是DBMS针对并发事务间的冲突提供的安全保证。DBMS可以通过加锁在并发执行的事务间提供不同级别的分离。