>>读者群| 网站统计数据 | 热点排行 回复 | egoSurf | gqgai | eygle | 百度eygle |11g| ACE en cn
August 8, 2008
置顶:《循序渐进Oracle》一书及相关信息
《循序渐进Oracle》一书已经出版,在这里我将和本书相关的信息整理汇总,供大家参考:
1.《循序渐进Oracle》一书的章节信息
内容简介 | 第一章目录 | 第三章目录
第一章连载-之一、之二、之三、之四、之五、之六、之七、之八、之九、之十
第一章PDF完整版下载
2.《循序渐进Oracle》的其他信息
写作规划 | 代码及服务 | 购买途径 | 《循序渐进Oracle》在China-Pub | 作者简介 | 勘误表|
3.《深入浅出Oracle》的相关信息
购买方式 | 代码与服务|勘误表 |
Posted by eygle at 11:28 AM | Permalink | Comments (56) | Books (112)
July 24, 2008
言论之:马云 与 巴菲特
今天在Donews看到一则关于马云的新闻,题为:马云呼吁阿里巴巴全体准备过冬
其中提到一段马云说过的话:
"大家也许还记得,在二月的员工大会上我说过:冬天要来了,我们要准备过冬!当时很多人不以为然!"
马云透露,其实当阿里巴巴股票在上市后被炒到发行价近3倍的时候,在一片喝彩的掌声中,背后的乌云和雷声已越来越近。原因是,任何来得迅猛的激情和狂热,退下去的速度也会同样惊人。因此,他不希望看到大家对股价有缺乏理性的思考。而亲历了阿里巴巴B2B上市的人会记得,马云在上市当天公开给股民们泼冷水,称"希望炒短期的人不要买阿里巴巴",电子商务是一项长期的事业。
去年12月,马云曾在一个论坛中坦言,阿里巴巴上市的一个重要原因,是为了融资给"过冬"做准备。
马云这段话让我想起了巴菲特的一句名言:
只有在潮水退去 的时候,你才知道谁一直在裸泳。
现在是退潮的时候了,这几天看电视,新闻报道浙江、温州以及广东的小企业,正在成批的倒闭,严冬来临,谁准备好了冬装?
一直看好阿里巴巴,只是没机会买阿里的股票!阿里一路走好!
-The End-
Posted by eygle at 3:51 PM | Permalink | Comments (4) | Life (354)
2PC、XA、DTP与两阶段提交
2PC是指Oracle的两阶段提交协议(Two-Phase Commit protocol)。2PC用于确保所有分布式事务能够同时提交(Commit)或者回滚(Rollback),以便使的数据库能够处于一致性状态(consistent state)。
分布式事务可以通过DBA_2PC_PENDING 和 DBA_2PC_NEIGHBORS 字典视图查看。
分布式事务处理是指一个事务可能涉及多个数据库操作
分布式事务处理的关键是必须有一种方法可以知道事务在任何地方所做的所有动作,提交或回滚事务必须产生一致的结果(全部提交或全部回滚)。
XA是X/Open DTP组织(X/Open DTP group)定义的两阶段提交协议,XA被许多数据库(如Oracle和DB2)和中间件等工具(如CICS 和 Tuxedo).本地支持 。
X/Open DTP模型(1994)包括应用程序(AP)、事务管理器(TM)、资源管理器(RM)、通信资源管理器(CRM)四部分。在这个模型中,通常事务管理器(TM)是交易中间件,资源管理器(RM)是数据库,通信资源管理器(CRM)是消息中间件。
一般情况下,某一数据库无法知道其它数据库在做什么,因此,在一个DTP环境中,交易中间件是必需的,由它通知和协调相关数据库的提交或回滚。而一个数据库只将其自己所做的操作(可恢复)影射到全局事务中。
XA就是X/Open DTP定义的交易中间件与数据库之间的接口规范(即接口函数),交易中间件用它来通知数据库事务的开始、结束以及提交、回滚等。XA接口函数由数据库厂商提供。通常情况下,交易中间件与数据库通过XA 接口规范,使用两阶段提交来完成一个全局事务,XA规范的基础是两阶段提交协议。
在第一阶段,交易中间件请求所有相关数据库准备提交(预提交)各自的事务分支,以确认是否所有相关数据库都可以提交各自的事务分支。当某一数据库收到预提交后,如果可以提交属于自己的事务分支,则将自己在该事务分支中所做的操作固定记录下来,并给交易中间件一个同意提交的应答,此时数据库将不能再在该事务分支中加入任何操作,但此时数据库并没有真正提交该事务,数据库对共享资源的操作还未释放(处于锁定状态)。如果由于某种原因数据库无法提交属于自己的事务分支,它将回滚自己的所有操作,释放对共享资源上的锁,并返回给交易中间件失败应答。
在第二阶段,交易中间件审查所有数据库返回的预提交结果,如所有数据库都可以提交,交易中间件将要求所有数据库做正式提交,这样该全局事务被提交。而如果有任一数据库预提交返回失败,交易中间件将要求所有其它数据库回滚其操作,这样该全局事务被回滚。
在Oracle数据库中,可以通过运行xaview.sql (位于ORACLE_HOME/rdbms/admin目录下)创建相关的视图。
这个脚本的信息如下:
Rem ==================================================================/
Rem NAME
Rem XAVIEW.SQL
Rem FUNCTION
Rem Create the view necessary to do XA recovery scan of prepared
Rem and heuristically completed transactions.
Rem NOTES
Rem The view 'XATRAN' basically combines information from two
Rem different types of tables:
Rem pending_trans$ & pending_sessions$
Rem x$k2gte2
Rem The view v$pending_xatrans$ combines and then filters information
Rem from the table pending_trans$ and pending_sessions$ into format
Rem that satisfy XA criteria.
Rem Then the view v$xatrans$ combines information from x$k2gte2 and
Rem v$pending_xatrans$.
Rem MODIFIED
Rem ncramesh 08/04/98 - change for sqlplus
Rem cchew 07-15-92 - added fmt column
Rem cchew 05-22-92 - No more fmt=0 condition
Rem cchew 01-19-92 - Creation
Rem ==================================================================
DROP VIEW v$xatrans$;
DROP VIEW v$pending_xatrans$;
CREATE VIEW v$pending_xatrans$ AS
(SELECT global_tran_fmt, global_foreign_id, branch_id
FROM sys.pending_trans$ tran, sys.pending_sessions$ sess
WHERE tran.local_tran_id = sess.local_tran_id
AND tran.state != 'collecting'
AND BITAND(TO_NUMBER(tran.session_vector),
POWER(2, (sess.session_id - 1))) = sess.session_id)
/
CREATE VIEW v$xatrans$ AS
(((SELECT k2gtifmt, k2gtitid_ext, k2gtibid
FROM x$k2gte2
WHERE k2gterct=k2gtdpct)
MINUS
SELECT global_tran_fmt, global_foreign_id, branch_id
FROM v$pending_xatrans$)
UNION
SELECT global_tran_fmt, global_foreign_id, branch_id
FROM v$pending_xatrans$)
Oracle XA是Oracle实施的X/Open Distributed Transaction Processing (DTP) XA接口。ORACLE XA随软件发布,不需要独立安装部署。
Specific to XA, Oracle Database10g Release 2 provides services that are optimized to support Distributed Transaction Processing (DTP). This feature optimizes XA transaction recovery. All the in-flight prepared transactions belonging to a DTP service of the failed instance are pushed to the disk table before the DTP service is re-started on the any of the surviving instances. In-flight transaction prepare info is written to the undo area and only if the transaction fails, this information is pushed into the appropriate system table to allow external recovery to take place. During normal operations, this push is done lazily. But as soon as the DTP service fails over users expect the failed (prepared) distributed transaction info on the system table to able to recover the transaction. Thus we make sure all the required information is propagated to the system tables before starting the DTP service on one of the surviving instances. This ensures that all the in-doubt transactions will be reported by xa_recover() and a following xa_commit() or,xa_rollback() will be able to complete the in-doubt transactions. This feature also guarantees that all branches of single global distributed transactions are maintained at a single RAC instance.
This mechanism optimizes the XA recovery by recovering the transactions once, at speed, as part of the transaction recovery code. The XA/DTP feature also guarantees correctness by ensuring that all branches of a transaction are maintained at the same database instance. This includes switch over and failover of services for planned and unplanned outages. The feature is only available for services declared as DTP.
参考文档:
http://www.oracle.com/technology/products/database/clustering/pdf/bestpracticesforxaandrac.pdf
Posted by eygle at 10:14 AM | Permalink | Comments (2) | FAQ (111)
July 23, 2008
《深入浅出Oracle》修订初稿定稿
经过几周连续的修订工作,到今天,《深入浅出Oracle》的修订已经基本完成。
修订后,新书增加了一章,扩展为10章,全书的整体结构没有太大变化,但是在书名的三个方向都做了极大的扩展。
入门:在基础方面增加或详细描述了相关知识
进阶:对深入部分进行进一步深入阐述,对10g与11g的一些新特性进行补充,但是新特性的补充是根据全书架构需要进行的,并非盲目,这不是一本新特性的专门介绍图书。
诊断案例:增加了一些这几年遇到的有趣案例,结合分布到各个章节。
内容的增加并没有引起页码的太多扩展,修订中对原书的代码会引用部分进行了严格压缩,使得内容更丰富,节奏更紧凑。
目前修订完成的内容共有550页左右,在最后的定稿过程中会进一步压缩,最终应该控制全书在500页左右。
目前粗略的估计一下,除了修正之前的存在的一些问题,新书增加了大约150页,也就是大于30%的新内容,最后定稿后,新内容份额估计还会有所增加。
每次打开书稿就总是想添加新的东西进去,这样显然是没有穷尽的,所以,最后一次从头到尾定稿后,全书的内容就会确定下来,希望这一工作能够早日结束!
-The End-
Posted by eygle at 8:37 AM | Permalink | Comments (9) | Books (112)
July 22, 2008
不丹 与 梁朝伟、刘嘉玲的婚礼
最近越来越多的听到不丹这个国家,前一段在 窦文涛 的锵锵三人行中反复提到不丹的民主化进程,今天看到梁朝伟、刘嘉玲的婚礼正是在这个国家进行。
为什么选择这个国家呢?
刘嘉玲透露,去年两人就定下了今年7月21日完婚,但是婚礼举行的地点不丹,却是直到今年4月份才决定。在那之前她和伟仔讨论过很多地方,例如法国南部、佛罗伦萨、巴黎、日本和东南亚等地,但都感觉"少了一点什么",直到不丹一地出现,两人终于心领神会,当下决定这是现阶段最理想的婚礼地点。大约十年前知道有不丹这个国家的刘嘉玲,6月份首度到访不丹,她形容心情是:"我一到这里就感觉心里很踏实、很平和,我看到这里的人快乐不是因为物质上的丰富,而是精神层面的满足,终于明白为什么大家说不丹是'快乐国度'。"
不丹是怎样一个国家呢?
面积3.8万平方公里。位于喜马拉雅山脉东段南坡,其东、北、西三面与中国接壤,南部与印度交界,为内陆国。北部山区气候寒冷,中部河谷较温和,南部丘陵平原属湿润的亚热带气候。国土面积的74%为森林所覆盖,其中有26%的地区被划定为保护地。
人口:约73万。不丹族占80%,其余为尼泊尔族等。西部不丹语言"宗卡"和英语为官方用语,南部操尼泊尔语。藏传佛教(噶举派)为不丹的国教。
为什么这个国家被称为快乐国度呢?
在2006年7月27日,一份包含全球178个国家的最新国家排名出炉,立即吸引全世界目光。因为,它所使用的指针,不是一般的经济指针,而是"快乐"。
这份报告,称为《世界快乐地图》(World Map of Happiness),由英国莱斯特大学社会心理学者怀特(Adrian White)编制。在报告中,北欧小国的丹麦,被选为全球最快乐的国家。
位处喜马拉雅山麓下的不丹,排名全球第八快乐的国家。人均所得仅1400美元的不丹,她的快乐名次竟与最高人均所得国卢森堡相同(两国同分)。
"最快乐的穷国"不丹,人均所得仅卢森堡的1/43,中国的1/5,却在"快乐"上,把富国,包括美国、英国、德国、法国等七大工业国(G7)先进国家,全都比下去。
下面就是这张世界快乐地图:
最近这个国家的国王,为了推进国家的民主化进程,选择了退位,试图通过民主选举制度来确立国家的未来之路,这个国王曾在美国和英国学习,获得英国牛津大学政治学硕士学位。2008年3月,不丹举行了议会选举。这位年轻潇洒的国王将保持国家元首的身份,但他将指导不丹民主化进程。
主动放弃王权,实施民主制度,使得不丹被世界所关注,窦文涛讲过一段有意思的故事:
那么很平静的一个国家。很纯朴。你知道他为了要让百姓适应民主生活搞得什么?上个月的时候,他在这个首都兵部找一帮人去假装示威,让百姓觉得这就是未来民主,我们就是要有示威的。在街上示威要喊口号,结果不丹人太纯朴,没见过示威,吓的这帮人干什么,报警了。没事,国王说别怕,我找人装的。还好,这国王有意思。他怎么跟导演排戏似的。
这就是不丹这个国家。
Posted by eygle at 1:16 PM | Permalink | Comments (1) | Travel (78)
近期发表
最新回复
CopyRight © 2004 ~ 2008 eygle.com, All rights reserved.

