Tip: 看不到本站引用 Flickr 的图片? 下载 Firefox Access Flickr 插件 | AD: 订阅 DBA notes -- ![]()
2008-07-21 Mon
最近越来越多的听到不丹这个国家,前一段在 窦文涛 的锵锵三人行中反复提到不丹的民主化进程,今天看到梁朝伟、刘嘉玲的婚礼正是在这个国家进行。
为什么选择这个国家呢?
刘嘉玲透露,去年两人就定下了今年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月,不丹举行了议会选举。这位年轻潇洒的国王将保持国家元首的身份,但他将指导不丹民主化进程。
主动放弃王权,实施民主制度,使得不丹被世界所关注,窦文涛讲过一段有意思的故事:
那么很平静的一个国家。很纯朴。你知道他为了要让百姓适应民主生活搞得什么?上个月的时候,他在这个首都兵部找一帮人去假装示威,让百姓觉得这就是未来民主,我们就是要有示威的。在街上示威要喊口号,结果不丹人太纯朴,没见过示威,吓的这帮人干什么,报警了。没事,国王说别怕,我找人装的。还好,这国王有意思。他怎么跟导演排戏似的。
这就是不丹这个国家。
相关文章|Related Articles
评论数量(0)|Add Comments
本文网址:http://www.eygle.com/archives/2008/07/happy_bhutan.html
前两天处理了一个DMT表空间碎片的case,觉得还是蛮有意思的,写出来和大家分享一下
因为一些历史原因,表和索引的DMT tablespace存在大量的碎片(table表空间有6000多个,index表空间有8000多个),导致索引和表分配extent的速度太慢(10秒钟以上),大量的session被block住
解决这种问题根本的方法是将表和索引迁移到LMT表空间,但是整个表空间太大,单table表空间就有2个T,系统不能承受如此长的downtime,
而且想要一下子加2T的临时空间也是不太可能,所以想根本解决这个问题只能从长计议
但是问题还是要解决,必须寻求临时解决方案,我所采用的方法就是把这些小的extent分配给一些快速增长的segment
alter table(index) allocate extent后有三个选项 1. Size 2. Datafile 3. instance ,首先要说一下这三个选项
1. Size 指定所分配的extent的size大小,忽略next extent设置 (次方案必须指定size大小)
2. Datafile 指定datafile后,会到该datafile上分配extent (这是这个方案的关键)
3. instance 其本意是用于RAC环境中,指定到相应instance的freelist上,但是在单机环境里面这个选项也有用处。默认分配的extent不会加入到HWM之下,freelist上, 指定(instance 1)后会分配到freelists上,HWM之下,可用于解决一些HWM bump不够快而导致大量HW enqueue的问题,和本case无关。对此参数感兴趣的同学可以 参考我blog上的另外一篇文章 http://oracledba.spaces.live.com/blog/cns!57D0C396BA028F14!260.entry
所以解决本case的基本SQL语句就是
alter table xxx allocate extent (size xxx datafile ‘xxxxxxx’);
在执行前,这里还有很多问题需要注意的
1. 当该datafile上有多个free extents,比方说datafile ‘/data/index_01.dbf’上有两个free extents
extent1 size 10M , extent2 size 5M
如果这时 alter table temp allocate extent (size 5M datafile ‘/data/index_01.dbf’); 可能导致5M的extent没有被分配,而将10M拆开为两个5M的,非吾所愿也。所以在分配时要对当个datafile上的extent size进行排序,先分配大的,再分配小的。在PL/SQL中加上order by a.file_id,a.bytes desc
2. 这里我们并不想将所有的extent都分配用掉,我们只想处理掉那些小的extent,比方说50M以下的,但是如何保留50M以上的那些extent呢。
有人说遇到50M的跳过不就好了,问题是如上面第一点所说,你没有办法跳过大的extent,你必须严格按照大小次序来分配才能保证没有extent被拆分的情况
我想到的解决方案是建一临时表,遇到50M以上的就分配给该临时表,最后再将其drop掉,这样的话,50M以上的extent又还给了表空间
3. 在你分配extent快结束的时候,此时free extent太少可能会导致一些segment分配extent失败,所以要留出一些比较空的数据文件以防不测。在PL/SQL中加上file# not in (x,x,x,x,)
4. 因为是online操作,我们要考虑对数据库的影响。allocate extent是DDL语句,会导致hard parse,如果分配太快,在繁忙的系统上必然会导致大量的library cache pin/lock
所以分配中间要sleep一段时间,我选择的是每分配五次sleep 1秒钟。此时间视系统繁忙程度而定,如果真的非常繁忙的系统,建议放在outage时间里面完成
5. 注意对于partition的segment,分配extent的语法不同
alter index/table xxxxx modify partition xxx allocate extent (size xxxx datafile ‘xxxx’)
6. 当出现ORA-00054 error: resource busy的时候,要retry,如果表特别忙,一直得不到lock,就必须在downtime时间里做了。在PL/SQL中加入exception的处理
7. 分配给segment时,也许分配的比例不同,比如segment A的增长速度是segment B的两倍,我们在分配时就要分配给segment A多一点空间,这一点也是要考虑的。我是采用了mod的方法
一个理论看似简单的case,实际做起来却有如此多需要考虑的方面。完成分配后,free extent数目降至几百个。问题不再出现。
在RAC环境中,有时候由于需要会更改网卡或IP地址,这边简单记录一下操作步骤(参考metalink文档:283684.1)。
1、查看当前PUBLIC网卡和PRIVATE网卡的配置:
test1:/home/oracle>$oifcfg getif
eth1 10.0.100.0 global cluster_interconnect
eth0 172.19.20.0 global public
2、更改PUBLIC网卡或者IP:
比如我们需要将PUBLIC网卡从eth0改为bond0,IP地址由172.19.20.0 改为172.13.20.0 。那么首先必须用oifcfg delif 命令删除原先的PUBLIC网卡设置,然后再用oifcfg setif 命令更改网卡及IP配置,这步只要在任意一个节点执行就可以了。(注意:在更改PUBLIC或者PRIVATE网卡及IP之前都需要将RAC中的资源停止,可以使用crs_stop -all来停止)
test1:/home/oracle>$oifcfg delif -global eth0
test1:/home/oracle>$oifcfg setif -global bond0/172.13.20.0:public
再查看可以看到PUBLIC网卡及IP都更改过来了:
test1:/home/oracle>$oifcfg getif
eth1 10.0.100.0 global cluster_interconnect
bond0 172.13.20.0 global public
3、更改PRIVATE网卡或者IP:
这一步和更改PUBLIC网卡大同小异,比如说我们需要将PRIVATE网卡从eth1改为ib1:
test1:/home/oracle>$oifcfg delif -global eth1
test1:/home/oracle>$oifcfg setif -global ib1/10.1.0.0:cluster_interconnect
4、更改VIP配置:
更改PUBLIC网卡后,那么RAC各个节点的VIP必须重新配置,以便CRS知道VIP对应PUBLIC网卡名称的变更:
test1:/home/oracle>$srvctl modify nodeapps -n test1 -A 172.13.20.1/255.255.255.0/bond0
这样执行完以后,整个更改便完成了。
vgchange -an vg_u05
mkdir /u05
mount /dev/vg_u05/lv_u05 /u05


$ make -f ins_rdbms.mk ipc_rds ioracle
$ make -f ins_rdbms.mk ipc_g ioracle




上周五,到歌华帮助诊断了一起数据库故障。
在故障时,数据库及其缓慢,用户任何请求都无法响应,数据库体现以"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-
相关文章|Related Articles
- ORA-07445 数据库也会旧病复发
- 成功优化案例:解决ERP系统更新性能问题
- 解决ORA-600 [qmxiUnpPacked2]错误一则
- 成功恢复案例:解决字典表误Truncate故障
- 497天是一个轮回-记Linux时钟的回转
评论数量(4)|Add Comments
本文网址:http://www.eygle.com/archives/2008/07/bgctv_database.html
Release Found: Red Hat® Enterprise Linux® 3, Update 4
Symptom:
After doing a complete update to Red Hat Enterprise Linux 3 Update 4, any further attempts to run up2date result in the following error:
# up2date --dry-run
Traceback (most recent call last):
File "/usr/sbin/up2date", line 1174, in ?
sys.exit(main() or 0)
File "/usr/sbin/up2date", line 668, in main
up2dateAuth.updateLoginInfo()
File "up2dateAuth.py", line 151, in updateLoginInfo
File "up2dateAuth.py", line 105, in login
File "up2dateAuth.py", line 49, in maybeUpdateVersion
File "/usr/share/rhn/up2date_client/up2dateUtils.py", line 228,
in getVersion
release, version = getOSVersionAndRelease()
File "/usr/share/rhn/up2date_client/up2dateUtils.py", line 221,
in getOSVersionAndRelease
raise up2dateErrors.RpmError(
up2date_client.up2dateErrors.RpmError: RPM error. The message was:
Could not determine what version of Red Hat Linux you are running.
If you get this error, try running
rpm --rebuilddb
Solution:
Additional articles in the Red Hat Knowledgebase provide information on how to remove the locks from the RPM database.
You will need to either download the redhat-release package for your system from Red Hat Network (RHN) or if the RPM package is available install it from the /var/spool/up2date directory with the command:
# rpm -Uvh /var/spool/up2date/redhat-release*.rpm
You may have to add the –nodeps option to the above command if the provided options fails to execute.
Finally, sync your system profile with Red Hat Network:
# up2date -p
Once these steps are completed, the system will be able continue to update from Red Hat Network.
虽然出道已经有将近十年,每年都有不少机会和邀请去欧美等资本主义国家参观他们的落后以及腐败,但是我一直没有去,惟独是前年去了一圈亚洲国家,是因为参加了亚洲宝马方程式。不去欧美的原因只有一个,那就是坐飞机的时间太长了。
这次终于推不了,应七喜和万榕公司之邀去了趟——澳大利亚——还是亚太地区。我的想法是去睡觉,因为我对和旅行团一起出游没有兴趣。但是因为活动日程太紧,6天就回来了,所以几乎每天都要换酒店,我被迫无法在酒店里睡觉。去的内容也无非等同于黄浦江游轮半日游,登东方明珠塔看夜景,去城隍庙买纪念品,在外滩拍张合影等。我经常在车里睡大觉。每天最高兴的事情就是晚上一起玩杀人游戏,回国朋友说,这游戏已经过时了。这让我想起去年我隆重向大家推荐我发现的一款新游戏CS很好玩的时候的情形。
终于,六天以后,我回国了。回了老家乡下看了看爷爷奶奶,爷爷奶奶在家里遛金毛。还是中国好啊,身为一个农民,既没有田,也没有地,和神仙似的。在车里也听到了广播,是点歌台,女主持人说:恩有两位听众打进电话来点歌了,一位听众想点刘若英的《后来》,另外位想点花儿乐队的《喜唰刷》,那我们就为这两位听众送上一首《北京欢迎你》,相信大家一定会喜欢……
另外有两个朋友要开车来上海玩,说带了几瓶酒,问我说最近北京的周边管的很严,会不会不能带啊。我说你出北京肯定没问题,北京欢迎不欢迎你我不能保证,但北京一定欢送你。
说实话,在ITPUB上也好,CNOUG上也好,看到很多人问数据模糊查询的问题,特别是一张表的数据量在200M以后,你的查询速度越来越慢。
其实最最简单的就是 like ‘%xx%’,但是这样效率极差,纯粹在拼机器的IO了。
其实在我的日常工作中,对于模糊查询,主要使用以下几种方案提高效率:
A:全文索引
Oracle自带的,SQL SERVER,MYSQL也有这个功能。它的主要实现方式是拆字。记得“玉面飞龙”有一篇文章介绍ORACLE全文索引的,介绍的很详细。
但是全文索引也有很多不足,如:繁体字,孤僻字的支持不好;内部BUG比较多;自身维护的代价和成本很高;新来的开发搞不懂全文索引查询语法;
目前也就少数几个数据库在用全文索引了,打算在不远的将来,将全文索引拿下线了。全部使用Search实现。
B:搜索引擎
其实alibaba集团全部使用的搜索技术,叫“ISEARCH”;100%的知识产权归阿里巴巴所有。
其实在业界最有名的搜索引擎叫“Lunce”,它不仅仅支持JAVA,也支持.NET。
使用搜索最大的好处,它是可以线性扩展的,不像我们的DB。此外我介绍一下搜索引擎大致过程:
数据库有张LOG表,记录变化过的数据》》搜索引擎根据LOG表的数据,DUMP出一份BUILD数据》》把DUMP的东西分发到各个集群》》每台机器再把这个应用到索引文件》》APCHE提供WEB SERVICE给前台
大致过程就这样。至于索引文件本身是个二进制文件。
我觉得搜索引擎本身的实现机制和ORACLE的全文索引类似,也是根据分词器来分词。如果去查找也是根据一个个字Hash mapping出来的,然后根据位置先后次序,找出哪些是符合的。
eth1 10.0.100.0 global cluster_interconnect
eth0 172.19.20.0 global public
eth1 10.0.100.0 global cluster_interconnect
bond0 172.19.20.0 global public


Author:NinGoo posted on NinGoo.net
周五突然发现blog无法访问,显示“Site Temporarily Unavailable”,一开始没在意,以为Dreamhost又发生故障了。网上打开gmail才发现帐号被disable了:
Hello,
Your accounts has been permanently disabled for violations of our
anti-spam policy.Thanks!
Glen–
DreamHost Support Team + support@dreamhost.com
Earn over $97 for each referral: http://www.dreamhost.com/rewards.html
To continue this support case, just reply to this email.
Open a new case at: https://panel.dreamhost.com/?tab=support
再往前翻,果然三天前有封提示邮件,说我的帐号中某位合租的兄弟,由于发送垃圾邮件被投诉,要求立即处理,因为这几天都没看邮件,结果直接被“permanently disabled”了,登陆Dreamhost一看,帐号的所有管理功能都被冻结了,苦啊。因为时差,和Dreamhost的support team来来回回几封邮件花了三天的时间,说尽好话并且承诺永不再犯,才终于在今天将帐号要回来了,当然,犯规的域名和帐号被直接干掉了,数据都无法拿回。
在这里要跟受到牵连的其他合租的朋友说声抱歉,也请合租的兄弟们注意下,不要通过合租的空间和域名发送任何垃圾邮件,也不要在空间里上床盗版软件或者MP3等有可能引起争议的东西,当初发起合租的时候,就要求大家只能用于blog用途,希望大家能严格遵守,否则我有权在必要的时候将合租帐号删除,谢谢合作。
一个教训是,大家一定要随时对数据进行备份。我是用WordPress Database Backup插件每天将数据库备份发送到gmail邮箱了,如果你还有其他ftp空间,也可以通过crontab备份后将备份传到ftp去。还有如果你自己修改或者设计的theme和plugin等代码也要注意备份。这样即使帐号真的被永久删除,至少不至于就此烟消云散。“如果一件事情有可能向坏的方向发展,就一定会向最坏的方向发展”,有备无患。
另外一个教训是,域名和空间最好还是不要在同一个帐号中购买,这次taobaodba.com这个域名也受到牵连了,而这个域名设置了转向到http://rdc.taobao.com/blog/dba/,空间并不是用的dreamhost的。打算尽快将域名transfer到Godday.com去,转一个域名6.99$,并且在保持现有有效年限的基础上延长一年,还是挺合算的。
Related Articles
PermLink: http://www.ningoo.net/html/2008/dreamhost_account_been_disabled.html
Shared by Fenng
BlogBus CTO 车东大人求贤若渴,所以再推一次!
作者:Fenng 发布在 dbanotes.net. ![]()
【现在是广告时间】应朋友之托,代为发布两则招聘信息。都是 PHP 开发工程师,招聘地点为杭州、上海,两家不同的公司。感兴趣的朋友请根据合适的地点选择吧。
杭州招聘信息
招聘职位: PHP网站开发工程师
工作地点: 杭州市
招聘人数: 3
工作年限: 二年以上
职位描述
岗位职责:
1、有PHP/MYSQL/Apache/Linux开发经验,具有良好的编程风格;
2、熟练使用Javascript,CSS,SQL;
3、逻辑思维能力强,做事有条理性,有较强的分析问题和解决问题的能力;
4、强烈的责任心,良好的沟通能力,良好的团队合作精神,对工作有激情;
5、有开发过大中型互联网站经验者优先;
6、熟悉 Web 2.0
资历要求:
1、计算机相关学历或有相关的工作经验;
2、对软件开发工作有富有热情,工作责任心强,富于团队精神和敬业精神;
3、良好的执行能力,较好的完成预定任务;
4、具有良好的自学能力和独立解决问题的能力;
5、正直,坦诚,实事求是;
6、有项目管理经验者优先。
电子邮箱: hr@chantel.cn (请注明 refer 自 dbanotes.net )
上海招聘信息
这是 BlogBus 的招聘信息。请参考 CTO 车东 的招聘要求 , 这个职位是"欢迎毕业生"的。
南京招聘信息
工作职责:1. 旅游电子商务网站的开发
2. B/S架构的旅游业务系统的开发
3. 其他应用软件的开发
职位要求:
熟悉WEB开发流程,有丰富的 PHP/MYSQL/Apache/Linux 平台开发经验;
拥有优秀的数据库设计能力;
熟悉 Linux 平台下的系统配置者优先;
学习能力强,拥有优秀的逻辑思维能力;
自我管理能力强,有良好的时间意识;有较好的沟通交流能力
这是 途牛旅游网的 招聘信息。有意者请邮件发送至 david.chenfuwei AT gmail.com
希望对正在找工作的 PHPer 朋友有用...
--EOF--
相关文章|Related Articles
评论数量(1)|Add Comments
本文网址:http://www.dbanotes.net/jobs/phper_wanted.html
最近作者还说了什么? Follow Twitter / Fenng
2008-07-20 Sun
2008-07-19 Sat
AnySQL.net
DBA notes
Oracle & Starcraft
eagle's home
Give you some color to see see!
AnySQL.net English
Oracle Scratchpad
Oracle Life
OracleDBA Blog---Please enjoy the pain which is unable to avoid!
Uploads from dbanotes
Chanel [K]
xzh2000的博客
Oracle Security Blog
ERN空间
Eddie Awad's Blog
MySQL Performance Blog
The Tom Kyte Blog
del.icio.us/fenng/oracle
AIXpert
O'Reilly Databases
Red Hat Magazine
DBASupport
DB2 Magazine 中文版
developerWorks 中国 : 技术文章 , 教程 AIX
Pythian Group Blog » Log Buffer
车东[Blog^2]
blue_prince
玉面飞龙的BLOG
此生 今世
人生就是如此
Orange Tiger 木匠 的 移民生活
生活帮-LifeBang
Hey!! Sky!
dba on unix
Oracle Notes Wiki
Brotherxiao's Home
柔嘉维则@life.oracle.eng
Fenng's shared items in Google Reader
jametong's shared items in Google Reader
缥缈游侠-logzgh
Tanel Poder's blog: Core IT for geeks and pros
DBA Tools
ilonng
yangtingkun
NinGoo@Net
Oracle & Unix
Inside the Oracle Optimizer - Removing the black magic
Ricky's Test Blog
DBA@Taobao
存储部落
Think in 88
Alibaba DBA Team
Oracle Team @SNC
淘宝数据仓库团队
OracleBlog.cn
中国雅虎_站长天下_www.dbaleading.com_原创文章
