楼主: biti_rainy

[精华] oracle的事务与锁与回滚段 的block 的一点摸索

[复制链接]
论坛徽章:
42
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:022011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:08ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23
41#
发表于 2005-4-4 15:03 | 只看该作者
因为光用32bit的SCN是不够的,所以分了SCN Base和SCN Wrap, 加在一起是48 bit, 至于没有用64位的SCN可能是历史原因了.

使用道具 举报

回复
论坛徽章:
0
42#
发表于 2005-4-4 16:15 | 只看该作者
又是一个精华贴

使用道具 举报

回复
论坛徽章:
4
2011新春纪念徽章
日期:2011-02-18 11:43:35
43#
发表于 2005-4-4 21:21 | 只看该作者
最初由 ITjane 发布
[B]設置較大的inittrans,是不是就意味著oracle會分配更多的資源來管理事務.我一直不楚應該設置大inittrans還是.請指教 [/B]
设置inittrans参数是为了减少itl动态分配,动态分配的itl使用pctfree的空间,所以最大事务数可能达不到maxtrans

使用道具 举报

回复
论坛徽章:
22
2010新春纪念徽章
日期:2010-03-01 11:08:33马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:09
44#
发表于 2005-4-5 18:52 | 只看该作者
最初由 xzh2000 发布
[B]TO 版主:
alter system dump datafile 3 block 10579;

你怎么能确定要DUMP的块号是10579? [/B]

SQL> select rowid ,
  2    dbms_rowid.rowid_relative_fno(rowid) file_no,
  3    dbms_rowid.rowid_block_number(rowid) block_number
  4  from emp
  5  /

ROWID                 FILE_NO BLOCK_NUMBER
------------------ ---------- ------------
AAAHIFAABAAAUMSAAA          1        82706
AAAHIFAABAAAUMSAAB          1        82706
AAAHIFAABAAAUMSAAC          1        82706
AAAHIFAABAAAUMSAAD          1        82706
AAAHIFAABAAAUMSAAE          1        82706

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2006-09-11 15:36:37
45#
发表于 2005-4-7 11:40 | 只看该作者

Re: 可以的

最初由 biti_rainy 发布
[B]

假如存在顺序未提交事务 a,b,c

分别存在before  image a1,b1,c1

a1 是原始数据
b1包含了a 的改变
c1包含了a和b的改变

就算提交了任何一个 事务  的数据
也可以通过before  image 的数据来回滚


这里要提醒注意的一点是:

回滚不是用 回滚段中的block 去替换 datafile 中的block
如果是这样那肯定无法  恢复  到不丢失数据状态

回滚,是 DML 的逆操作

也就是
insert ----  delete
delete --- insert
update-----update [/B]


這里的 b1 為何會包括 a 的改變呀。
我的理解是﹐三個 事務 都是回滾段中的同一個塊中存在的 block image 中來讀取 before image 的﹐因為它們只是有先后的不同﹐然而事務并沒有提交呀。 不然我們 在各個 事務中進行 select 時那如何得到這一致性的呀。

如在 事務 c 中進行 select ﹐因為有事務 a﹑b  先進行改變﹐那它的 before image 還是原來那個未曾改變的塊吧﹐而不至少已含有 a 的改變....

使用道具 举报

回复
论坛徽章:
0
46#
发表于 2008-3-20 10:13 | 只看该作者
这个帖子很好,能在梳理一下就好了

使用道具 举报

回复
论坛徽章:
15
奥运会纪念徽章:击剑
日期:2008-07-17 14:58:53懒羊羊
日期:2015-03-04 14:52:11马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:152012新春纪念徽章
日期:2012-01-04 11:53:54ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262011新春纪念徽章
日期:2011-02-18 11:42:472011新春纪念徽章
日期:2011-01-04 10:35:17ITPUB9周年纪念徽章
日期:2010-10-08 09:34:01
47#
发表于 2009-10-10 18:54 | 只看该作者
而今biti大师何在?

使用道具 举报

回复
论坛徽章:
0
48#
发表于 2009-10-11 21:56 | 只看该作者
牛人啊,看不懂

使用道具 举报

回复
论坛徽章:
5
2010新春纪念徽章
日期:2010-03-01 11:08:292010广州亚运会纪念徽章:击剑
日期:2010-11-12 17:46:592010广州亚运会纪念徽章:排球
日期:2010-11-12 17:47:152011新春纪念徽章
日期:2011-02-18 11:43:352010广州亚运会纪念徽章:网球
日期:2011-04-12 12:29:56
49#
发表于 2010-2-10 11:39 | 只看该作者
这里的PI是不是传说中的_row_cr

使用道具 举报

回复
论坛徽章:
7
授权会员
日期:2010-12-06 19:50:26数据库板块每日发贴之星
日期:2011-09-03 01:01:01迷宫蛋
日期:2011-09-08 16:30:08ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04玉石琵琶
日期:2012-02-21 15:04:38最佳人气徽章
日期:2012-03-13 17:39:18
50#
发表于 2010-2-10 12:55 | 只看该作者
原帖由 lsq_008 于 2009-10-10 18:54 发表
而今biti大师何在?


阿里巴巴首席dba!也是我的偶像!

使用道具 举报

回复

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

本版积分规则 发表回复

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