墨菲定律
作者:Sonic 日期:2010-02-02
昨晚约了同事一起打球,临走前接到另一个同事电话,在 PROD 上不小心 Truncate 掉了一个 Partition,查了下,还好不是 FACT 表,整个表的总数据量在180万笔左右不是很大,作为 Project DBA,我们不可能通过底层的恢复来实现还原表,于是能做的只能向客户负荆请罪,请 PM 帮助找相关负责人重新 load 数据。人非圣贤,孰能无过,我想起5年前我因为 update 语句忘记加 where 条件,导致整个表数据全部被篡改,而且是 Sql Server,冷汗直流,最后是在主管的协助下,通宵利用逻辑把整个系统的数据重新兜了一遍,所谓吃一堑长一智,自此之后便养成了个习惯:备份&确认,于是太平的在 DBA 的道路上走到现在。
墨菲定律(Murphy's Law),原话是:If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it(如果有两种选择,其中一种将导致灾难,则必定有人会作出这种选择),后来逐渐演变成各种不同的表达方式,最经典的则是:If anything can go wrong, it will.(会出错的,终将会出错)。
墨菲定律告诉我们,容易犯错误是人类与生俱来的弱点,不论科技多发达,事故都会发生。而且我们解决问题的手段越高明,面临的麻烦就越严重。所以,我们在事前应该是尽可能想得周到、全面一些,如果真的发生不幸或者损失,就笑着应对吧,关键在于总结所犯的错误,而不是企图掩盖它。
上述观点已经不分角色,不分类别,不分贵贱 ……,一切取决于态度,无论工作还是生活,十分欣赏如此理性并且乐观的态度...
墨菲定律(Murphy's Law),原话是:If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it(如果有两种选择,其中一种将导致灾难,则必定有人会作出这种选择),后来逐渐演变成各种不同的表达方式,最经典的则是:If anything can go wrong, it will.(会出错的,终将会出错)。
墨菲定律告诉我们,容易犯错误是人类与生俱来的弱点,不论科技多发达,事故都会发生。而且我们解决问题的手段越高明,面临的麻烦就越严重。所以,我们在事前应该是尽可能想得周到、全面一些,如果真的发生不幸或者损失,就笑着应对吧,关键在于总结所犯的错误,而不是企图掩盖它。
上述观点已经不分角色,不分类别,不分贵贱 ……,一切取决于态度,无论工作还是生活,十分欣赏如此理性并且乐观的态度...
第52界格莱美音乐奖
作者:Sonic 日期:2010-02-02
很多人都会在爱好一栏里面填写“音乐”一项,我是普通人,不可否认,我也喜欢音乐,只是我从没有特意的去听谁的歌,也并没有刻意的收录哪位歌手的作品,包括我最欣赏的 Michael Jackson,也只有保留了两张大学时代残留下来的精选 MTV 而已,网络时代,搜歌听歌已经变得易如反掌了,然而经常吹嘘的 APE 格式或 320K 压缩等,也只是在闲聊之余的吹嘘或者说装B而已,除了那些真正 DIY 胆机,玩 HIFI 的少数人,其他人跟我提起音质之类的话题,一般都是一笑而过,自从红雨关闭之后,我就再也没有真正意义的关注任何一个音乐网站或者博客了。
而格莱美也是我关注的唯一一个音乐的盛典,买过的唯一的正版 CD 也非它莫属了,只是08年的格莱美 CD 被谁借去后就没有还给我,我已经忘记是谁了,若看到此博的话请记得把CD还给我,谢谢!
今天上午驱车从苏州到上海上班的路上,刚好是第52界格莱美颁奖典礼,于是一路听着 FM101.7 的详细解说以及现场主持人幽默的主持,感受着现场的热烈气氛。美国无疑成为此次盛典的大赢家,一改以往美英五五分成的局面,而 Beyonce 这个幸运儿也一举包揽了六大奖项,创下历史之最。我个人比较看好的 Lady Gaga 虽然没能得到获得年度大奖,但也垄断了舞曲类奖项。特别是开场时与 Elton John 的表演,所谓激情四射,也雷人无数。。。
而最令我感动的无疑是本次颁奖典礼上纪念 Michael Jackson 的片段:所有观众带着3D眼镜欣赏着大屏幕上播放的 Michael Jackson 生前制作的环保短片《Earth Song》,Celine Dion、Kate Hudson 和 Carrie Underwood 等明星上台伴唱,然后 Jackson 的两个孩子 Prince 和 Paris 上台领取格莱美留给Jackson的终身成就奖,并发表了简单的感谢,言语简单却感人至深。再加上海地音乐人 Wyclef Jean 对各位所表达的感谢,并且因为对 Beatles 的怀念播放的根据太阳马戏团改变的大型录影《All Together Now》,这个典礼充满了人文关怀,不得不竖起大拇指。
附上本次获奖名单,接下来便是期待CD尽早上市了......
而格莱美也是我关注的唯一一个音乐的盛典,买过的唯一的正版 CD 也非它莫属了,只是08年的格莱美 CD 被谁借去后就没有还给我,我已经忘记是谁了,若看到此博的话请记得把CD还给我,谢谢!
今天上午驱车从苏州到上海上班的路上,刚好是第52界格莱美颁奖典礼,于是一路听着 FM101.7 的详细解说以及现场主持人幽默的主持,感受着现场的热烈气氛。美国无疑成为此次盛典的大赢家,一改以往美英五五分成的局面,而 Beyonce 这个幸运儿也一举包揽了六大奖项,创下历史之最。我个人比较看好的 Lady Gaga 虽然没能得到获得年度大奖,但也垄断了舞曲类奖项。特别是开场时与 Elton John 的表演,所谓激情四射,也雷人无数。。。
而最令我感动的无疑是本次颁奖典礼上纪念 Michael Jackson 的片段:所有观众带着3D眼镜欣赏着大屏幕上播放的 Michael Jackson 生前制作的环保短片《Earth Song》,Celine Dion、Kate Hudson 和 Carrie Underwood 等明星上台伴唱,然后 Jackson 的两个孩子 Prince 和 Paris 上台领取格莱美留给Jackson的终身成就奖,并发表了简单的感谢,言语简单却感人至深。再加上海地音乐人 Wyclef Jean 对各位所表达的感谢,并且因为对 Beatles 的怀念播放的根据太阳马戏团改变的大型录影《All Together Now》,这个典礼充满了人文关怀,不得不竖起大拇指。
附上本次获奖名单,接下来便是期待CD尽早上市了......
Apple Ipad 问世
作者:Sonic 日期:2010-01-28
Move Tablespace for Partition Tables
作者:Sonic 日期:2010-01-21
客户有一需求,要将一个 tablespace 上所有的 objects 移到另外一个 tablespace 上,过程记录如下:
1,检查该TBS上存在哪些类型的Segment
发现有五种,分别是 TABLE, INDEX, TABLE PARTITION, TABLE SUBPARTITION, INDEX PARTITION, INDEX SUBPARTITION,接下来针对不同类型的 Segment 进行不同的操作,至于如何把实际需要运行的SQL兜出来,就不做详细解释了...
1,检查该TBS上存在哪些类型的Segment
复制内容到剪贴板
程序代码
程序代码select distinct segment_type
from dba_segments
where owner = 'USER_NAME'
and tablespace_name = 'TBS_NAME';
from dba_segments
where owner = 'USER_NAME'
and tablespace_name = 'TBS_NAME';
发现有五种,分别是 TABLE, INDEX, TABLE PARTITION, TABLE SUBPARTITION, INDEX PARTITION, INDEX SUBPARTITION,接下来针对不同类型的 Segment 进行不同的操作,至于如何把实际需要运行的SQL兜出来,就不做详细解释了...
ORA-03294, Resize Tablespace, High Water Mark
作者:Sonic 日期:2010-01-14
记得以前第一次通过 Resize Datafile 方式来 Thrink Tablespace 的时候,总共30G表空间,明明使用了10G,剩余20G空闲,但是你想缩小到12G的时候确报错,错误信息为
引用内容
入门时很多人会被此问题困扰,实际上这就是传说中的HWM(Hign Water Mark)在搞鬼,顾名思义,最高水位,去Google上搜一下这个关键字,就知道缘由了。今天刚好客户让我评估一个 Resize Tablespace 的最佳方案,于是特地为HWM兜了条SQL语句出来存于此
引用内容ERROR at line 1:
orA-03297: file contains used data beyond requested RESIZE value
orA-03297: file contains used data beyond requested RESIZE value
入门时很多人会被此问题困扰,实际上这就是传说中的HWM(Hign Water Mark)在搞鬼,顾名思义,最高水位,去Google上搜一下这个关键字,就知道缘由了。今天刚好客户让我评估一个 Resize Tablespace 的最佳方案,于是特地为HWM兜了条SQL语句出来存于此
复制内容到剪贴板
程序代码
程序代码select ff.file_id "File Id",
ff.file_name "File Name",
ff.tablespace_name || ' (' || ff.block_size || ')' "Tablespace Name",
ceil(ff.blocks * ff.block_size / 1024 / 1024) "Current(MB)",
ceil(nvl(max_hwm.hwm, 1) * ff.block_size / 1024 / 1024/1024) "Smallest(GB)",
ceil(((ff.blocks * ff.block_size) -
(nvl(max_hwm.hwm, 1) * ff.block_size)) / 1024 / 1024/1024) "Save(GB)"
from (select file_id,
file_name,
blocks,
ts.tablespace_name tablespace_name,
ts.block_size block_size
from dba_data_files f, dba_tablespaces ts
where f.tablespace_name = ts.tablespace_name
and ts.tablespace_name = 'SONIC_TBS') ff,
(select file_id, max(block_id + blocks - 1) hwm
from dba_extents
where tablespace_name = 'SONIC_TBS'
group by file_id) max_hwm
where ff.file_id = max_hwm.file_id(+)
order by ceil(((ff.blocks * ff.block_size) -
(nvl(max_hwm.hwm, 1) * ff.block_size)) / 1024 / 1024 / 1024);
ff.file_name "File Name",
ff.tablespace_name || ' (' || ff.block_size || ')' "Tablespace Name",
ceil(ff.blocks * ff.block_size / 1024 / 1024) "Current(MB)",
ceil(nvl(max_hwm.hwm, 1) * ff.block_size / 1024 / 1024/1024) "Smallest(GB)",
ceil(((ff.blocks * ff.block_size) -
(nvl(max_hwm.hwm, 1) * ff.block_size)) / 1024 / 1024/1024) "Save(GB)"
from (select file_id,
file_name,
blocks,
ts.tablespace_name tablespace_name,
ts.block_size block_size
from dba_data_files f, dba_tablespaces ts
where f.tablespace_name = ts.tablespace_name
and ts.tablespace_name = 'SONIC_TBS') ff,
(select file_id, max(block_id + blocks - 1) hwm
from dba_extents
where tablespace_name = 'SONIC_TBS'
group by file_id) max_hwm
where ff.file_id = max_hwm.file_id(+)
order by ceil(((ff.blocks * ff.block_size) -
(nvl(max_hwm.hwm, 1) * ff.block_size)) / 1024 / 1024 / 1024);








