3,491
社区成员
发帖
与我相关
我的任务
分享
2.3 没提交就关闭oracle
2.4 突然掉电
这不太可能吧,多半是你的操作失误,导致数据丢失。
oracle提交(commit)分为显示提交和隐式提交:
1.显示提交
commit/rollback;
2.隐式提交
2.1 DDL会导致隐式提交,注意:失败的DDL也会导致提交
sessionA> insert into t1 values(1);
1 row created.
sessionA>select count(*) from t1;
COUNT(*)
----------
2
sessionA>drop table xx;
drop table xx
*
ERROR at line 1:
ORA-00942: table or view does not exist
sessionB>select count(*) from t1;
COUNT(*)
----------
2
但是语法错误的DDL不会导致隐式提交
sessionA> insert into t1 values(1);
1 row created.
sessionA>select count(*) from t1;
COUNT(*)
----------
3
sessionA>drop table col t2;
drop table col t2
*
ERROR at line 1:
ORA-00933: SQL command not properly ended
sessionB>select count(*) from t1;
COUNT(*)
----------
2
2.2 DCL:特指grant,revoke
而alter session不会