eygle.com   eygle.com
eygle.com  
 

« January 26, 2006 | Blog首页 | January 28, 2006 »



January 27, 2006

一个凉粉在豪华列车上的北上之旅

作者:eygle

出处:http://blog.eygle.com

eygle.at.train.jpgeygle在北上的列车上.

您还别说,这800多块钱还真不白花,这个沙发满舒服.卫生间也很整洁方便.准备好了牙刷毛巾等洗漱用品,如同酒店一样.

 

碰到一个从西班牙回来的哥们,也是买不到机票卧铺票,一起来坐这个豪华包厢.

其实所谓豪华,就是2个人出了4个人的钱,用另外的空间添加了一个卫生间,沙发,壁橱等设施,而且可以自己控制关灯时间,没有强制.

嘿嘿,老凉粉照个照片show一下:)

Posted by eygle at 11:34 PM | Comments (12)


为何而心跳-Oracle Heartbeat研究之二

作者:eygle

出处:http://blog.eygle.com

在上一篇文章(为何而心跳-Oracle Heartbeat研究)中,我简单介绍了heartbeat的机制,现在我们来作点进一步的研究.

首先启动数据库到Mount状态: 

[oracle@jumper bdump]$ sqlplus '/ as sysdba'
SQL*Plus: Release 9.2.0.4.0 - Production on Tue Jan 24 14:10:02 2006
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to an idle instance.
SQL> startup mount;
ORACLE instance started.
Total System Global Area   97588504 bytes
Fixed Size                   451864 bytes
Variable Size              33554432 bytes
Database Buffers           62914560 bytes
Redo Buffers                 667648 bytes
Database mounted.
SQL> exit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production 

在Mount状态DUMP控制文件,比较前后变化,我们发现Heartbeat每3秒都被更新一次:

[oracle@jumper udump]$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on Tue Jan 24 14:10:33 2006
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production
SQL> alter session set events 'immediate trace name CONTROLF level 10' ;
Session altered.
SQL> exit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production
[oracle@jumper udump]$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on Tue Jan 24 14:10:46 2006
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production
SQL> alter session set events 'immediate trace name CONTROLF level 10' ;
Session altered.
SQL> exit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production
[oracle@jumper udump]$ ls
conner_ora_31841.trc  conner_ora_31846.trc
[oracle@jumper udump]$ diff conner_ora_31841.trc conner_ora_31846.trc
....
16c16
< *** SESSION ID:(9.5) 2006-01-24 14:10:39.076
---
> *** SESSION ID:(9.7) 2006-01-24 14:10:48.822
63c63
< heartbeat: 580556236 mount id: 3192501183
---
> heartbeat: 580556239 mount id: 3192501183 

这说明Heartbeat并非在数据库Open状态下才会更新,也说明HeartBeat是用来维持实例的Mount状态检测.

Q:这里的mount id应该代表的是instance的id,每次不同,这个id来自何处呢?应该和系统有关,我没找到具体的含义.哪位知道请告知.

之所以验证这个内容是因为在Steve ( www.ixora.com.au )的网站上有这样一段话:

The checkpoint RBA is copied into the checkpoint progress record of the controlfile by the checkpoint heartbeat once every 3 seconds.

这段话在不同的数据库版本里需要被重新理解.

另外我们还可以看到,在Mount状态下,数据库通过以下两个锁定来维持Instance的变化:

SQL> select * from v$lock;
ADDR     KADDR           SID TYPE        ID1        ID2      LMODE    REQUEST      CTIME      BLOCK
-------- -------- ---------- ---- ---------- ---------- ---------- ---------- ---------- ----------
562E35F4 562E3604          3 RT            1          0          6          0       1616          0
562E34C4 562E34D4          4 XR            4          0          1          0       1619          0 

其中RT锁是:Redo thread global enqueue ,为LGWR进程持有.

XR锁Oracle的解释为:

acquired for ALTER SYSTEM QUIESCE RESTRICTED command (or alter database open) in RAC mode."

此处为CKPT进程持有.

在数据库Mount状态下,我们也可以通过查询X$KCCRT来观察heartbeat的变化: 

[oracle@jumper oracle]$ sqlplus '/ as sysdba'
SQL*Plus: Release 9.2.0.4.0 - Production on Wed Jan 25 00:08:06 2006
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production
SQL> select cphbt from X$KCCCP;
     CPHBT
----------
 580567934
SQL> /
     CPHBT
----------
 580567935
SQL> /   
     CPHBT
----------
 580567936
SQL> select open_mode from v$database;
OPEN_MODE
----------
MOUNTED
SQL>  

 

Posted by eygle at 9:04 PM | Comments (5)


过年回家 您都买点啥?

作者:eygle

出处:http://blog.eygle.com

wine.jpg

过年回家,是中国人永远无法放下的期待. 不管奔波多久,不管浪迹多远,每到春节,都不约而同的要回到家乡.

每年回家都要给爸爸妈妈买点东西,虽然平时出门极其厌倦拖带行李,可是新年是不同的.

刚刚出去给爸爸买了点烟酒,他老人家最大的嗜好就是抽点烟,喝点酒,虽然烟酒对身体不好,可是些微的嗜好,儿子总要尽点心意.

 

酒买的是五粮液,烟买的是小熊猫,芙蓉王,都是朋友们的建议,我对烟酒是一窍不通的,只是每年要换个品牌.去年买的是茅台和中华烟.

开始整理行装,晚上的车票,俺就要回家!

Posted by eygle at 2:20 PM | Comments (6)



CopyRight © 2004-2008 eygle.com, All rights reserved.