12
返回列表 发新帖
楼主: cugshomi

shutdown abort为什么不回滚?

[复制链接]
论坛徽章:
0
11#
 楼主| 发表于 2007-11-2 16:06 | 只看该作者
我觉得shutdown abort有点违反了oracle的恢复机制 如果一个长事物没提交的话 shutdown abort肯定不会回滚的 这个是官方的说法,事实也证明是那样 到目前没看到有人出来解释为什么会不回滚 我看了eygle写的深入浅出 似乎也对这个问题一带而过 没有说明不回滚的原因 而一直以来的说法都是没有提交就回滚

使用道具 举报

回复
论坛徽章:
3742
生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41
12#
发表于 2007-11-2 18:12 | 只看该作者
abort只是一种关库的模式,不到万不得已,慎用
你在启动数据库的时候会rollback阿。

使用道具 举报

回复
论坛徽章:
4
生肖徽章:兔
日期:2007-08-15 17:25:14授权会员
日期:2007-09-28 18:48:04ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53
13#
发表于 2007-11-2 20:54 | 只看该作者
多看看SG或者concepts吧,这些东西需要多看自己多思考得出来的。
靠别人别人不一定能给你讲清楚

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
14#
发表于 2007-11-3 11:01 | 只看该作者
最初由 cugshomi 发布
[B]我觉得shutdown abort有点违反了oracle的恢复机制 如果一个长事物没提交的话 shutdown abort肯定不会回滚的 这个是官方的说法...[/B]


But when the database is started next time, Oracle will do the rollback (after it finishes roll forward). Does that answer the question?

Yong Huang

使用道具 举报

回复
论坛徽章:
0
15#
 楼主| 发表于 2007-11-5 14:01 | 只看该作者
最初由 Yong Huang 发布
[B]

But when the database is started next time, Oracle will do the rollback (after it finishes roll forward). Does that answer the question?

Yong Huang [/B]


But in fact when I start up database , it doesn't rollback, that is my question, "why after shutdown abort, startup database will not rollback ?"
pay attention , I did not commit my operation!

but no one can answer my question!

使用道具 举报

回复
论坛徽章:
0
16#
 楼主| 发表于 2007-11-5 14:04 | 只看该作者
最初由 chenzhen232 发布
[B]abort只是一种关库的模式,不到万不得已,慎用
你在启动数据库的时候会rollback阿。 [/B]


为什么你们都认为会ROLLBACK呢?回滚了我还需要问这个问题吗,谁都知道在一般恢复过程中都是commit前滚,uncommit回滚。 事实上根本不会!而且文档上也说不会。这才是我想知道的。

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
17#
发表于 2007-11-6 09:35 | 只看该作者
最初由 cugshomi 发布
[B]
But in fact when I start up database , it doesn't rollback, that is my question, "why after shutdown abort, startup database will not rollback ?"
pay attention , I did not commit my operation!
[/B]


How do you prove? Are you talking about this: insert into mytable values (123) -> shutdown abort -> startup -> select * from mytable and you see the record 123?

Here's a test:

conn yong/yong

SQL> create table mytable (x int);

Table created.

SQL> insert into mytable values (123);

1 row created.

[Here, I open a sys connection and shutdown abort and startup. Then back to this session.]

SQL> select * from mytable;
select * from mytable
            *
ERROR at line 1:
ORA-12571: TNSacket writer failure


SQL> conn yong/yong
Connected.
SQL> select * from mytable;

no rows selected

Yong Huang

使用道具 举报

回复
论坛徽章:
138
19周年集字徽章-19
日期:2020-06-08 08:30:56马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02路虎
日期:2013-11-22 12:26:18问答徽章
日期:2014-05-08 12:15:31
18#
发表于 2007-11-7 08:04 | 只看该作者
please post your detailed operation  ,  May be you do some operation  force oracle to commit  ,such as connect

使用道具 举报

回复
论坛徽章:
25
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442010世博会纪念徽章
日期:2010-07-30 12:07:232011新春纪念徽章
日期:2011-02-18 11:43:332010广州亚运会纪念徽章:高尔夫球
日期:2011-04-11 18:22:37蜘蛛蛋
日期:2011-08-17 08:44:40ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15复活蛋
日期:2011-12-15 09:06:552012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:202013年新春福章
日期:2013-02-25 14:51:24
19#
发表于 2007-11-7 20:43 | 只看该作者
最初由 antiper 发布
[B]我也提一个问题:
    当脏数据达到一定程度的时候会触发DBWR写,比如一个很大的事务,已经导致脏数据达到了一定的阀值,那么DBWR会进行写操作。就是虽然该事务还没有提交但是其部分改变已经写进数据文件,这个时候shutdown abort,数据库起来后是否能查询到这些改变呢? [/B]

shutdown abort时,并没有产生检查点,而当数据库startup后,将进行实例恢复,对于没有提交的数据,即便是写进了数据,还是被回滚的!

使用道具 举报

回复
论坛徽章:
25
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442010世博会纪念徽章
日期:2010-07-30 12:07:232011新春纪念徽章
日期:2011-02-18 11:43:332010广州亚运会纪念徽章:高尔夫球
日期:2011-04-11 18:22:37蜘蛛蛋
日期:2011-08-17 08:44:40ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15复活蛋
日期:2011-12-15 09:06:552012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:202013年新春福章
日期:2013-02-25 14:51:24
20#
发表于 2007-11-7 20:58 | 只看该作者
最初由 cugshomi 发布
[B]我觉得shutdown abort有点违反了oracle的恢复机制 如果一个长事物没提交的话 shutdown abort肯定不会回滚的 这个是官方的说法,事实也证明是那样 到目前没看到有人出来解释为什么会不回滚 我看了eygle写的深入浅出 似乎也对这个问题一带而过 没有说明不回滚的原因 而一直以来的说法都是没有提交就回滚 [/B]

说得很对,就象某些小型的信息管理系统,当录入人员好不容易把相关信息填满后,按[保存]按钮被提示"您还没有登陆"----心理的滋味可想而知!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表