eagle’s home

“We are what we repeatedly do. Excellence, then, is not an act, but a habit.” -Aristotle

Search:

Speak to Me

9 May 2008

两年前我推荐给大家两个锻炼英语口语的播客网站:推荐两个不错的英文播客

现在EnlishPod已经不再更新了,但是以前的节目还是可以下载的,聊天性质的podcast,我蛮喜欢的

ESLPOD还是在持续不断的更新,语速慢了点,侧重于语言点的讲解

今天看到另一个学习英语的网站,办的也蛮不错的,推荐给大家: Speak2me

BTW, if you are learning Chinese, here is a wonderful chinese podcast website for you: ChinesePod

Posted by Eagle at 7:18 pm | Posted in English | Add Comments »

杭州湾大桥全线通车

1 May 2008

彩虹飞来为天桥,巨龙卧波笑海风。今天下午3时40分,随着180辆仪仗车南北双向对开,全长36公里世界上最长的跨海大桥——杭州湾跨海大桥试运营通车。这一长江三角洲一体化进程中的重要时刻,将永留史册。

五月底去宁波吃海鲜,哈哈哈

杭州湾大桥

杭州湾大桥

Posted by Eagle at 8:49 pm | Posted in Life | Add Comments »

早睡早起

21 April 2008

今天看到生活帮上一篇文章:保证早起的六个习惯,蛮有意思的

很多人和我一样希望早起,但是确总是晚睡晚起,虽然自己也知道这对健康不好,不过就像文章中说的要靠一个人的力量做到早睡早起是非常困难的。

我看了几个早起团网站,没有找到一个合适的,大部分都是台湾的,感觉早起的生活网做的最好,不过全是鸟文。

想想自己用google online doc做一个吧,于是就有了下面这个sheet,google online doc的表格画图不支持时间格式,所以只能用800代替8:00。8点钟起床是我的target:)

我share出来了,大家也可以把自己加上去啊,比比看谁起得更早:)

文档地址是: http://spreadsheets.google.com/ccc?key=psyrzQaZuXmO7-SaDV3DGPw&hl=en

Posted by Eagle at 9:35 pm | Posted in Life | Add Comments »

保持队形

17 April 2008

今天MSN刚上线,就收到一短消息,内容大致是建议加(L)China到MSN名字

当时也没注意,随手就关掉了

到了下午的时候,打开MSN,上面的名字全是Love China的前缀

晕哦,一片红,看上去倒是蛮震撼的

到baidu上面去google了一下(这话说的),这是网友自发组织的一个爱国活动,表达自己支持和拥护北京奥运的决心。

好吧,既然这样,大家都保持队形好了:)

love china

Posted by Eagle at 1:15 am | Posted in Life | Add Comments »

Oracle Senior DBA Wanted

2 April 2008

Description:
The Oracle DBA is a member of a top DBA Team responsible for eBay global Oracle database system.

Responsibilities:
· Work with different team member to deploy ebay application with proper oracle technology design/implementation;
· Good skill in English communication both verbal and written.
· Have experience with SQL*Review/Tuning, and Data model design.
· Design and document architecture and procedures around back-end database
· Keep management database configuration and tuning
· Manage and support a large site database environment with Oracle and Solaris
· Establish and follow best practices for enterprise monitoring, troubleshooting and maintenance
· In charge of database security and backup/restore

Key Success Factors
· 5+ years experience in Oracle administration,
· be very clear with oracle concepts, basic administration.
· With basic understanding of instance/SQL tuning
· Very clear about how to do troubleshooting. Strong at problem analysis and resolve.
· Solid knowledge of operating system internals such as Unix, Linux
· Strong decision-making skills, take charge personality, and the ability to drive a plan to completion
· Professional Shell/Perl programming experience preferred
· Familiar with SAN/Veritas , Or other storage management software
· Be able to work under high pressure,able to work flexible hours as required by business priorities
· enthusastic about e-commerce operations,
· great team player, warm-hearted and self-motivated Good teamwork spirit
· Strong communication skills both in mandarin and English, as this position will need to be in contact with USA team during the office time

Qualification:
· Education: Bachelor degree in computer science or equivalent education
· Experience Level: 5+ years Oracle DBA experience in production DBA position. It is a huge plus if the candidate support large enterprise system environment supporting mission-critical systems and applications.
· Technical Qualifications:
. 5+ years experience with Oracle DBA experience.
. Experience with Unix servers, Solaris experience is best.
. Best to have support oracle database in Unix box.
. Experience with Veritas Volume Manager and File System, VCS, or other storage/cluster management software.
. Experience with system monitoring and management software
· Communication skills: Effective communication skills including written and verbal in English.

Posted by Eagle at 10:40 am | Posted in Life | 5 Comments »

google map for mobile , COOL!

17 March 2008

今天在手机上装了google map for mobile

确实很COOL,刷新的速度很快,搜索速度也不错,连接也比较要稳定

不过流量也很大,毕竟是图片嘛,没多久就几百K流量了,没有申请套餐的话真的撑不住玩的

出门在外,再也不怕迷路了:)

Posted by Eagle at 9:35 pm | Posted in Life | 3 Comments »

对Hash Join的一次优化

17 March 2008

前两天解决了一个优化SQL的case,SQL语句如下,big_table为150G大小,small_table很小,9000多条记录,不到1M大小
hash_area_size, sort_area_size均设置足够大,可以进行optimal hash join和memory sort

  1. select /*+ leading(b) use_hash(a b) */ distinct a.ID
  2. from BIG_TABLE a, SMALL_TABLE b
  3. where (a.category  = b.from_cat or
  4.        a.category2 = b.from_cat) and
  5.        a.site_id  = b.site_id and
  6.        a.sale_end >= sysdate;
  7.  
  8. --------------------------------------------------------------------------
  9. | Id  | Operation            |  Name        | Rows  | Bytes | Cost (%CPU)|
  10. --------------------------------------------------------------------------
  11. |   0 | SELECT STATEMENT     |              |     2 |   174 |    18  (17)|
  12. |   1SORT UNIQUE         |              |     2 |   174 |    18  (17)|
  13. |*  2 |   HASH JOIN          |              |     2 |   174 |    17  (12)|
  14. |   3 |    TABLE ACCESS FULL | SMALL_TABLE  |  1879 | 48854 |    14   (8)|
  15. |*  4 |    TABLE ACCESS FULL | BIG_TABLE    |     4 |   244 |     3  (34)|
  16. --------------------------------------------------------------------------
  17.  
  18. Predicate Information (identified by operation id):
  19. ---------------------------------------------------
  20.  
  21.    2 - access("A"."SITE_ID"="B"."SITE_ID")
  22.        filter("A"."CATEGORY"="B"."FROM_CAT" OR
  23.               "A"."CATEGORY2"="B"."FROM_CAT")
  24.    4 - filter("A"."SALE_END">=SYSDATE@!)

粗略来看,PLAN非常的完美,SQL HINT写的也很到位,小表在内build hash table,大表在外进行probe操作,
根据经验来看,整个SQL执行的时间应该和FTS BIG_TABLE的时间差不多

但是FTS BIG_TABLE的时间大约是8分钟,而真个SQL执行的时间长达3~4小时

那么问题究竟出在哪里?
阅读全文 »

Posted by Eagle at 11:51 am | Posted in oracle | 1 Comment »

Next Extent Size Is Reset after Truncate

2 March 2008

You can alter table’s next extent size in DMT tablespace.

But if the table has already allocated old size extents. The next extent size will be reset after truncate.

See below:

First, create a table in DMT tablespace with 5M next extent size.

  1. SQL> create table tt(x int) tablespace CSHAN_TEST storage(initial 5M next 5M pctincrease 0);
  2.  
  3. Table created.
  4.  
  5. SQL> alter table tt allocate extent;
  6.  
  7. Table altered.
  8.  
  9. SQL> /
  10.  
  11. Table altered.
  12.  
  13. SQL> /
  14.  
  15. Table altered.
  16.  
  17. SQL> /
  18.  
  19. Table altered.
  20.  
  21. SQL> /
  22.  
  23. Table altered.
  24.  
  25. SQL> /
  26.  
  27. Table altered.

阅读全文 »

Posted by Eagle at 10:33 pm | Posted in oracle | Add Comments »

sfll flag in block dump trace file

17 February 2008

Sometimes we find that the number of rows in row dictionary (nrow) doesn’t match the number of row entries in block.

For example, like this data block dump file:

data_block_dump,data header at 0×10384a05c
===============
tsiz: 0×1fa0
hsiz: 0×2a
pbl: 0×10384a05c
bdba: 0×0900058a
76543210
flag=——–
ntab=1
nrow=12
frre=0
fsbo=0×2a
fseo=0×1f4d
avsp=0×1f37
tosp=0×1f37
0xe:pti[0] nrow=12 offs=0
0×12:pri[0] sfll=1
0×14:pri[1] sfll=2
0×16:pri[2] sfll=3
0×18:pri[3] sfll=4
0×1a:pri[4] sfll=-1
0×1c:pri[5] offs=0×1f7d
0×1e:pri[6] offs=0×1f84
0×20:pri[7] offs=0×1f8b
0×22:pri[8] offs=0×1f92
0×24:pri[9] offs=0×1f99
0×26:pri[10] offs=0×1f53
0×28:pri[11] offs=0×1f4d
block_row_dump:
tab 0, row 5, @0×1f7d
tl: 7 fb: –H-FL– lb: 0×0 cc: 1
col 0: [ 3] c2 2c 41
tab 0, row 6, @0×1f84
tl: 7 fb: –H-FL– lb: 0×0 cc: 1
col 0: [ 3] c2 13 0e
tab 0, row 7, @0×1f8b
tl: 7 fb: –H-FL– lb: 0×0 cc: 1
col 0: [ 3] c2 39 62
tab 0, row 8, @0×1f92
tl: 7 fb: –H-FL– lb: 0×0 cc: 1
col 0: [ 3] c2 41 54
tab 0, row 9, @0×1f99
tl: 7 fb: –H-FL– lb: 0×0 cc: 1
col 0: [ 3] c2 41 55
tab 0, row 10, @0×1f53
tl: 6 fb: –H-FL– lb: 0×0 cc: 1
col 0: [ 2] c1 02
tab 0, row 11, @0×1f4d
tl: 6 fb: –H-FL– lb: 0×2 cc: 1
col 0: [ 2] c1 02
end_of_block_dump
End dump data blocks tsn: 31 file#: 36 minblk 1418 maxblk 1418

You can only find row5~row11. Where are row0~row4?

The answer is they have been purged. The sfll flag in row dictionary indicates that.

Everybody knows block cleanout which is oracle’s feature to speed up the commit process.

Before block cleanout, the block is like the following. The deleted rows still have the offset flag in row dictionary, only the -D- flag in row entry indicates that the rows have already been deleted.

data_block_dump,data header at 0×10384a05c
===============
tsiz: 0×1fa0
hsiz: 0×28
pbl: 0×10384a05c
bdba: 0×0900058a
76543210
flag=——–
ntab=1
nrow=11
frre=-1
fsbo=0×28
fseo=0×1f53
avsp=0×1f15
tosp=0×1f42
0xe:pti[0] nrow=11 offs=0
0×12:pri[0] offs=0×1f59
0×14:pri[1] offs=0×1f60
0×16:pri[2] offs=0×1f68
0×18:pri[3] offs=0×1f70
0×1a:pri[4] offs=0×1f76
0×1c:pri[5] offs=0×1f7d
0×1e:pri[6] offs=0×1f84
0×20:pri[7] offs=0×1f8b
0×22:pri[8] offs=0×1f92
0×24:pri[9] offs=0×1f99
0×26:pri[10] offs=0×1f53
block_row_dump:
tab 0, row 0, @0×1f59
tl: 2 fb: –HDFL– lb: 0×2
tab 0, row 1, @0×1f60
tl: 2 fb: –HDFL– lb: 0×2
tab 0, row 2, @0×1f68
tl: 2 fb: –HDFL– lb: 0×2
tab 0, row 3, @0×1f70
tl: 2 fb: –HDFL– lb: 0×2
tab 0, row 4, @0×1f76
tl: 2 fb: –HDFL– lb: 0×2
tab 0, row 5, @0×1f7d
tl: 7 fb: –H-FL– lb: 0×0 cc: 1
col 0: [ 3] c2 2c 41
tab 0, row 6, @0×1f84
tl: 7 fb: –H-FL– lb: 0×0 cc: 1
col 0: [ 3] c2 13 0e
tab 0, row 7, @0×1f8b
tl: 7 fb: –H-FL– lb: 0×0 cc: 1
col 0: [ 3] c2 39 62
tab 0, row 8, @0×1f92
tl: 7 fb: –H-FL– lb: 0×0 cc: 1
col 0: [ 3] c2 41 54
tab 0, row 9, @0×1f99
tl: 7 fb: –H-FL– lb: 0×0 cc: 1
col 0: [ 3] c2 41 55
tab 0, row 10, @0×1f53
tl: 6 fb: –H-FL– lb: 0×1 cc: 1
col 0: [ 2] c1 02
end_of_block_dump

So duing block clean out, the deleted rows have been purged and all the offset flags have been replaced with sfll flag.

And you may also notice that the avsp(avaliable space) was also updated during block cleanout.

Posted by Eagle at 10:38 pm | Posted in oracle | Add Comments »

Happy Chinese New Year

7 February 2008

Happy Chinese New Year

Posted by Eagle at 12:50 am | Posted in Life | Add Comments »

Next Page »