July 31, 2008
Baby的第一个生日 - Happy Birthday
作者:eygle
出处:http://blog.eygle.com
到今天,Baby已经出生了355天,按照农历,今天是6月29,这个月的最后一天。是不是有人不知道农历的算法?我在这里普及一下:
农历大月30天,小月29天,没有31天的月份。全年354或355天。进行一下更靠谱的运算来说话:
农历以月球绕地球一周的时间(29.53059天)为1月,月大月小,年年不同,月大月小以月相的朔、望来定。
农历是我国的一种历法,阴阳历的一种,一般叫做阴历。
由于平均每年的天数比太阳年(阳历年)约差11天,所以在19年里设置7个闰月,有闰月的年份全年13个月383或384天,闰月加在某月之后就称为闰某月。又根据太阳的位置,把一个太阳年分成24个节气,便于农事。纪年用天干地支搭配,60年周而复始。这种历法相传创始于夏代,因此又称为夏历。
[oracle@localhost trace]$ sqlplus "/ as sysdba"
SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jul 31 15:35:55 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select to_date('2008-07-31','yyyy-mm-dd') - to_date('2007-08-11','yyyy-mm-dd') BirthToDay
2 from dual;
BIRTHTODAY
----------
355
所以今天是Baby的生日,祝墨墨生日快乐,虽然他的感冒发烧还没有完全好,但是他还是很快乐!
中午又带他跑了一趟医院,医生说,没事的回去吧!
俺们做父母的,心疼的不得了,而医生则是见多识广,镇定有素,说:明天不好都不要来,继续吃药,后天再说!
回来以后,宝宝吃了药,睡了一觉,现在又活蹦乱跳了,乖乖快点好起来。
爱你的爸爸妈妈爷爷奶奶外公外婆叔叔阿姨哥哥姐姐都祝你生日快乐!
Posted by eygle at 3:33 PM | Comments (5)
大宝 - 国有品牌又消失了一个
作者:eygle
出处:http://blog.eygle.com
偶然看到,强生全资收购了大宝,大宝化妆品有限公司成为强生(中国)投资有限公司的全资子公司。
一个熟悉的国有品牌又消失了。
这是曾经使用过的熟悉的品牌,有着熟悉的香气、优良的品质以及低廉的价格。
在国际化的过程中,我们已经失去了很多熟悉的品牌,可惜可叹!
最近看到电视广告,百年润发 的品牌经过刘德华的演绎再次出现在市场上,这是让我欣喜的一个再现。
百年润发的品牌在2006年11月,为纳爱斯集团收购。
2006年11月,集团一举全资收购英属中狮公司麾下香港奥妮等三家公司及所属的"百年润发"、"西亚斯"、"奥妮"品牌的独占使用权或所有权,为收购知识产权的实践和自主创新以及企业的更大发展拓展了新的途径。
那么现在看起来,百年润发 至少还是国有品牌:
纳爱斯集团是专业从事洗涤和个人护理用品的生产企业。前身是成立于 1968年的地方国营"丽水五七化工厂",1993年改制为股份公司,2001年组建集团。
回顾一下发哥经典的百年润发广告吧:
再看看刘德华版的:
-The End-
Posted by eygle at 11:37 AM | Comments (4)
July 30, 2008
感冒发烧炎症 - C-反应蛋白
作者:eygle
出处:http://blog.eygle.com
这几天宝宝病了,有点发烧,但是精神很好,今天去 民航总医院 看医生。
验了一下血,45元,15元常规检验,30元用于C-反应蛋白检测,回来学习一下C-反应蛋白的概念。
C-反应蛋白(C-reactiveprotein,CRP)是第一个被认为是急性时相反应蛋白的,在急性创伤和感染时其血浓度急剧升高。CRP由肝细胞所合成。
CRP可以引发对侵入细胞的免疫调理作用和吞噬作用,而表现炎症反应。
CRP作为急性时相反应的一个极灵敏的指标,血浆中CRP浓度在急性心肌梗死、创伤、感染、炎症、外科手术、肿癌浸润时迅速显著地增高,可达正常水平的2000倍。结合临床病史,有助于随访病程。特别在炎症过程中,随访风湿病、系统性红斑狼疮、白血病等。CRP可用于细菌和病毒感染的鉴别诊断:一旦发生炎症,CRP水平即升高,而病毒性感染CRP大都正常。恶性肿瘤患者CRP大都升高。如CRP与AFP的联合检测,可用于肝癌与肝脏良性疾病的鉴别诊断。
正常参考值:<10 ㎎╱L
医生指定检验这个项目,也许是想看看是否是病毒性感冒还是细菌性的。检验输出只有一条 <1 mg/L,正常,说明Baby的感冒是病毒性的,而且炎症不严重。
今天是Baby出生的359天,希望他早日康复!
-The End-
Posted by eygle at 1:10 PM | Comments (4)
July 28, 2008
自我调整检查点的参数约束
作者:eygle
出处:http://blog.eygle.com
Oracle10gR2开始引入了自动检查点调整(SelfTune Checkpoint),这个特性可以通过设置FAST_START_MTTR_TARGET为0来启用。同时Oracle也引入了几个隐含参数用于约束这个特性:
SQL> SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.KSPPDESC PDESC
2 FROM SYS.x$ksppi x, SYS.x$ksppcv y
3 WHERE x.indx = y.indx
4 AND x.ksppinm LIKE '%&par%'
5 /
Enter value for par: selftune
old 4: AND x.ksppinm LIKE '%&par%'
new 4: AND x.ksppinm LIKE '%selftune%'
NAME VALUE PDESC
----------------------------------- ----- -------------------------------------------------------
_selftune_checkpoint_write_pct 3 Percentage of total physical i/os for self-tune ckpt
_disable_selftune_checkpointing FALSE Disable self-tune checkpointing
_selftune_checkpointing_lag 300 Self-tune checkpointing lag the tail of the redo log
(这几个参数的单位不知道是用什么表示?)
Posted by eygle at 3:14 PM | Comments (5)
July 24, 2008
言论之:马云 与 巴菲特
作者:eygle
出处:http://blog.eygle.com
今天在Donews看到一则关于马云的新闻,题为:马云呼吁阿里巴巴全体准备过冬
其中提到一段马云说过的话:
"大家也许还记得,在二月的员工大会上我说过:冬天要来了,我们要准备过冬!当时很多人不以为然!"
马云透露,其实当阿里巴巴股票在上市后被炒到发行价近3倍的时候,在一片喝彩的掌声中,背后的乌云和雷声已越来越近。原因是,任何来得迅猛的激情和狂热,退下去的速度也会同样惊人。因此,他不希望看到大家对股价有缺乏理性的思考。而亲历了阿里巴巴B2B上市的人会记得,马云在上市当天公开给股民们泼冷水,称"希望炒短期的人不要买阿里巴巴",电子商务是一项长期的事业。
去年12月,马云曾在一个论坛中坦言,阿里巴巴上市的一个重要原因,是为了融资给"过冬"做准备。
马云这段话让我想起了巴菲特的一句名言:
只有在潮水退去 的时候,你才知道谁一直在裸泳。
现在是退潮的时候了,这几天看电视,新闻报道浙江、温州以及广东的小企业,正在成批的倒闭,严冬来临,谁准备好了冬装?
一直看好阿里巴巴,只是没机会买阿里的股票!阿里一路走好!
-The End-
Posted by eygle at 3:51 PM | Comments (5)
2PC、XA、DTP与两阶段提交
作者:eygle
出处:http://blog.eygle.com
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 | Comments (3)
July 23, 2008
《深入浅出Oracle》修订初稿定稿
作者:eygle
出处:http://blog.eygle.com
经过几周连续的修订工作,到今天,《深入浅出Oracle》的修订已经基本完成。
修订后,新书增加了一章,扩展为10章,全书的整体结构没有太大变化,但是在书名的三个方向都做了极大的扩展。
入门:在基础方面增加或详细描述了相关知识
进阶:对深入部分进行进一步深入阐述,对10g与11g的一些新特性进行补充,但是新特性的补充是根据全书架构需要进行的,并非盲目,这不是一本新特性的专门介绍图书。
诊断案例:增加了一些这几年遇到的有趣案例,结合分布到各个章节。
内容的增加并没有引起页码的太多扩展,修订中对原书的代码会引用部分进行了严格压缩,使得内容更丰富,节奏更紧凑。
目前修订完成的内容共有550页左右,在最后的定稿过程中会进一步压缩,最终应该控制全书在500页左右。
目前粗略的估计一下,除了修正之前的存在的一些问题,新书增加了大约150页,也就是大于30%的新内容,最后定稿后,新内容份额估计还会有所增加。
每次打开书稿就总是想添加新的东西进去,这样显然是没有穷尽的,所以,最后一次从头到尾定稿后,全书的内容就会确定下来,希望这一工作能够早日结束!
-The End-
Posted by eygle at 8:37 AM | Comments (10)
July 22, 2008
不丹 与 梁朝伟、刘嘉玲的婚礼
作者:eygle
出处:http://blog.eygle.com
最近越来越多的听到不丹这个国家,前一段在 窦文涛 的锵锵三人行中反复提到不丹的民主化进程,今天看到梁朝伟、刘嘉玲的婚礼正是在这个国家进行。
为什么选择这个国家呢?
刘嘉玲透露,去年两人就定下了今年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 | Comments (2)
歌华经历的数据库"攻击"
作者:eygle
出处:http://blog.eygle.com
上周五,到歌华帮助诊断了一起数据库故障。
在故障时,数据库及其缓慢,用户任何请求都无法响应,数据库体现以"Cache buffer Chain" Latch竞争处于等待,CPU 100%。
由于是Oracle10g的数据库,到现场采集了几个AWR报告,找到了当时的问题。
注意到故障时段每秒逻辑读为:Logical reads: 84,949.93 ,这远远超出了正常范围。
而进一步的,在问题时段,Buffer Gets 最高的两个SQL分别执行了3168次和2926次:
Buffer Gets Executions
70,568,785 3,168
69,189,653 2,926
而正常情况下,这两个SQL执行次数都在20次左右,这两个超长执行的SQL就是问题的罪魁祸首了。
在进一步的诊断发现,这两个SQL都是一个客户端不断发出的。我和客户开玩笑,这就是数据库攻击啊。
也许在客户端按一个F5,最终转嫁到数据库上的负荷就成为了灾难。有时候在应用程序端做出适当限制和约束是必须的。
奥运期间,安保第一,要加强防范。数据库也是如此!
-The End-
Posted by eygle at 9:21 AM | Comments (15)
July 19, 2008
Google Book上的Oracle图书
作者:eygle
出处:http://blog.eygle.com
今天偶然搜索,跑到Google的Book站点上,books.google.com,发现居然有很多Oracle的图书是可以在线浏览的,虽然有很多书在网络上已经有公开发布,但是Google仍然给我们提供了极大的便利。
刚才发现的几本书是:
Oracle Essentials: Oracle Database 10g
Oracle Performance Tuning
Oracle High Performance Tuning for 9i and 10g
Oracle Performance Troubleshooting: With Dictionary Internals SQL & Tuning
Oracle8i Internal Services for Waits, Latches, Locks, and Memory
搜索一下,其实有大把的Oracle书籍是可以在线阅读的:
http://books.google.com/books?q=Oracle&lr=&sa=N&start=0
Posted by eygle at 4:54 PM | Comments (4)
