2008/03/22

Appfuse Diagram Application

A Ajax Diagram and GIS simple application
http://www.thescripts.com/forum/thread575221.html

Online Mind Tool オンラインマインドツール


WiseMapping: More Ajax Mind Mapping

Category: Showcase, SVG

WiseMapping is the latest Ajax mind mapping tool developed by Paulo Veiga and three friends.

Wise Mapping is a free web mind mapping tool that leverages the power of Mind Maps mixing new technologies like vectorial languages (SVG and VML) and the power of the whole Web 2.0 concept. The tools uses SVG and VML which allows straightforward vector graphics animation without the need of installing any plug-in.

We asked Paulo about the development experience.

The main challenge was to develop an abstraction layer between SVG and VML (there was no open source framework to do this at the time we started working on the project) in order to support multiple browsers such as IE and Firefox/Opera (some efforts are being made at the moment to support Safari 3.0.4+). Using this layer for the core for the client side, a very intuitive, simple, nice looking, full Drag and Drop enabled graphical mind map editor is provided.

All the UI is powered by Mootools using DWR for the Ajax interaction with a backend made with Java 1.6 with Web Spring for MVC layer and Hibernate.

There have been some reports that VML is broken on IE 8. Hopefully this is a beta 1 bug, as without that legacy support, a bunch of applications (including this one) will not work.

There seem to be many mind mapping tools in Ajax, second only to RSS readers.

WiseMapping

Posted by Dion Almaer at 10:21 am

++++-
4.4 rating from 16 votes

AJAX NEWS

MindMeister - an collaborative online mind mapping tool
03/09/2007, By Ajax Impact News Desk





MindMeister is a collaborative online mind mapping tool - you can capture your thoughts and share them instantly with friends and colleagues. Mind mapping tool is written with Rails and Prototype.

MindMeister brings the concept of mind mapping to the web, using its facilities for real-time collaboration to allow truly global brainstorming sessions.



Users can create, manage and share mind maps online and access them anytime, from anywhere. In brainstorming mode, fellow MindMeisters from around the world (or just in different rooms) can simultaneously work on the same mind map - and see each other's changes as they happen. Using integrated Skype calls, they can throw around new ideas and put them down on "paper" at the same time.

Explore MindMeister


Mindmeister: Take your mind map offline

http://ajaxian.com/archives/mindmeister-take-your-mind-map-offline

Category: Showcase, Offline, Gears

Mindmeister has taken their mind map tool and now allow you to map offline.

The tool itself is a nice Ruby on Rails application (includes pink fade effects! yellow is so 2006) that gives you a visual canvas to play with your mind.


Their approach to offline is similar to Google Reader in that the user has to say “hey, take me offline”. The interface to that is a nice little slider widget. At the point your maps are sync’d down to the local store.


I would love to see it auto sync, and I noticed a couple of issues when I actually went offline but didn’t tell the tool first (would be nice to have the tool grok that) but the mind map tool in general is a nice app to use. It feels like Geni.


MindMeister is a collaborative online mind mapping tool - you can capture your thoughts and share them instantly with friends and colleagues. Mind mapping tool is written with Rails and Prototype.

MindMeister brings the concept of mind mapping to the web, using its facilities for real-time collaboration to allow truly global brainstorming sessions.



Users can create, manage and share mind maps online and access them anytime, from anywhere. In brainstorming mode, fellow MindMeisters from around the world (or just in different rooms) can simultaneously work on the same mind map - and see each other's changes as they happen. Using integrated Skype calls, they can throw around new ideas and put them down on "paper" at the same time. Explore MindMeister

Mindmeister: Take your mind map offline

Category: Showcase, Offline, Gears

http://ajaxian.com/archives/mindmeister-take-your-mind-map-offline

Mindmeister has taken their mind map tool and now allow you to map offline.

The tool itself is a nice Ruby on Rails application (includes pink fade effects! yellow is so 2006) that gives you a visual canvas to play with your mind.


Their approach to offline is similar to Google Reader in that the user has to say “hey, take me offline”. The interface to that is a nice little slider widget. At the point your maps are sync’d down to the local store.


I would love to see it auto sync, and I noticed a couple of issues when I actually went offline but didn’t tell the tool first (would be nice to have the tool grok that) but the mind map tool in general is a nice app to use. It feels like Geni.


2008/03/21

华为十年

华为十年
徐家骏
2007年5月28日

(注:徐是华为数据中心的头,清华硕士,技术超级牛人,一级部门总监,华为副总裁,年收入过千万,数据中心是用火山岩建的深入地下的一个大型建筑。防辐射,可防卫星的电子,雷达等手段的侦察。里面有象卫星发射中心那种超大屏幕,机房里满是三米的大型服务器和大型计算机。连接整个华为全球的每一台终端,整个华为每天三十多万封邮件,海外和全球的同步研发,内部的信息管理,内部流程,华为的国内国际ip电话都是通过出去。)

正文:
上周,我正式提交了离职报告,准备给自己的职业生涯一个很大的转折,这是我长时间的思考最后所做的决定。但真的提出离职后,回想在公司的十年,还是百感交集。

1997 年7月16日,我只身提着一个包从深圳宝安机场下飞机,走出机场,天是那么蓝、白云那么低、空气那么潮,仰头望天,对这个城市,对公司、对即将开展的工作和生活、对自己的前途一片茫然。到了科技园,发现是个荒凉而偏僻的地方,不过倒很安静,上学的几年中,一连串的打击,使得我似乎有点喜欢这种安静、荒凉、在他乡的感觉。现在想想,经过十年的工作,自己的心灵真是麻木得可以了。那时候的心里,好像时时有些什么没有着落的东西在激荡,但又说不出来,只有在听德沃夏克的《自新***交响曲》时,才发现多有深处的共鸣以至落泪。

由于没赶上大批应届生的接待,我是自己一个人来到科技园1号楼的,干净整洁的大楼,很帅很靓的保安和前台,进进出出精神饱满的员工,让人的心情为之一振。象没头苍蝇一样乱走了一会后,一位人力资源的大姐,很职业、热情、耐心的告诉了我入职手续如何办理,并安排我当晚在粤海门华为之家临时居住,又安排之后的宿舍事宜,在举目无亲的异乡让人倍感亲切,至今记得。



来深圳、来华为当时确实是一种机缘,96年华为名气并不响,特别是在行业之外,偶尔一次我在同学家里看到一张华为人报,有几片文章印象至今很深:一篇是周劲写的欧洲考察心得,讲欧洲一个20-30人的小公司,所具有的那种全球化运作战略、能力和气度。一篇是唐东风写的被评为杰出员工受表彰后的感想。还有一篇名头很大“中央研究部知识产权处”,当时被这个名头吓了一跳。文中讲到华为当年研发累计投入1.8亿人民币,更让我吓一个跟斗。我想当时清华大学一年科研经费也就1亿多点,这家公司什么来头,花的科研投入比清华还多?当时就有了兴趣。

快毕业的时候,连连受挫,找工作跟当年大部分同学一样,希望留北京,但连续被联想、方正、科海、卫通等当时大名鼎鼎的公司录取后又告知要交几万块钱才能解决户口问题之后,想到了还有华为这样一家公司,给人力资源部寄了一份简历。没几天,一个深圳的电话,说某年某月某日有个副总裁来北京,面试一下。抱着试试看的态度跑过去了,是公司原副总胡红卫,他基本上没有问我什么问题,到是介绍了一下华为的情况,然后把人力资源经理田景琦叫了过来,当场就给了我一个“录取通知函”和入职操作指导。我一肚子犯嘀咕,这是不是一家骗子公司?怎么这样就算面试通过了?连工资有多少都没有机会问。之后一直到报到前,都有点怀疑,幸好有个本科的同学,在华为工作过,在向他咨询后了解到公司还是实实在在有的,才下了决心过来。总的说来,就是被一张华为人报“骗”来的。



就这样懵懵懂懂到了华为,一开始新员工培训,纪律严明、严格,班车不会多等半分钟,之后是部门培训,大量的信息扑面而来。之后到了工作岗位上,给我分配的工作是ERP系统管理员兼DBA,虽然以前也搞过一些大系统,如兼职做过印度人的大型银行软件的客户化开发,但见到我们的ALPHA 8200和我们的软件ORACLE,心里还是激动不已。 IT的发展一日千里,10年前的技术与今天比,很多人可能没有体会了。那时比较落后,很多人也没有机会接触这种当时很先进的系统。我见到我们居然有2G巨大内存的“超级服务器”当时实在是佩服不已,为自己能做它的管理员而自豪,又为自己将来能不能玩转它而焦虑。我师傅王忠宁见到我就撂给我一本书《ORALCE ADMINISTRATOR GUIDE》,一寸半厚的英文书,愣是一周之内从头到尾看完并写了厚厚的读书笔记和一大堆不懂的问题,自此再也不怕厚厚的英文书。

当时正好是公司ERP上线没多久,业务正在推行,系统极不稳定,每天的并发程序有一半是跑错的,系统还会动不动 CRASH。我看完一本书后,在刚刚成为 One Book Man时,问题单就来了,有一个重要的××引入程序有时候跑得出来,有时候跑不出来。说实话,那时候对ERP、ORALCE、操作系统一切几乎还是一头雾水,而问题却已经传过来了,只好硬着头皮,摸索了好半天,终于明白了有一批数据在倒的时候,系统准出错。几万条数据,一条条试是不可能的,我就想出了用二分法,一批一批的试,完全手工动作,笨拙、费时、费力,做了几十遍,花了整整一天中午饭都错过了,终于定位到了其中一条数据,而后发现是数据超长而数据库定义的长度不够并且校验程序有BUG没校验出来。经过又返回去重复验证,证明找到的原因是正确的。当时真是心中大喜,几乎在完全不懂系统、不懂这个程序是做什么的、不懂程序处理的逻辑、不懂数据库的设计的情况下,把这个BUG定位出来并交回给ORACLE处理了。这是我上班后解决的第一个问题,至今我对这个问题本身还并不明白,呵呵。这让我懂得了一个道理,工作和读书不是一回事,工作是要解决问题的,是要产生结果和输出的。不管怎么样,能找到方法解决问题、能够有好的输出结果那就是成功。读书才追求的是慢慢读,读懂为止。

那时的系统,真是岌岌而可危,公司的业务高速发展,业务也不断推行,系统的负荷越来越高,但系统却不是经常宕机,就是跑得如老牛般慢。我们的技术水平和管理水平,也是与现在不可同日而语。水平不行体力补,大家兢兢业业背负责任,闯过种种难关,终于还是挺过来了。现在想想,还真是有点后怕的,稍有不慎真有可能全线崩溃。我也能理解有些大企业,为什么倒起来那么快了。现代的组织,经常是高度复杂的组织,就象生物一样,低等的蚯蚓断成两段,照样生存。而高等的人,身上戳个小小的洞可能得毙命。高度复杂的组织,就象人体一样,内部小小一块地方如果出关键问题了,组织可能崩溃。要保证不崩溃只有两条路:1)组织本身的设计和流程的设计高度科学、冗余和足够的制度性反应机制,这是西方国家的强项,他们的公司历一百年不倒,是有强大的内在因素的。2)依靠组织内每一个最小单元的高度的负责、警觉。虽然我们多年来一直在强调第一种能力的培养,但我们天生缺少这样的土壤和基因,因此第二种能力变得十分重要,虽然这不是最好的办法。

头两年的工作中,我们水平很低,体力劳动很多,有一段时间,我一上班就得高度紧张地盯着系统,不停地干预,系统才能跑下去。一会儿系统进程死了,一会儿空闲进程多了要杀掉,一会儿表空间不够了要扩展,一会儿用户提交了不合理的并发程序要中止...有一段时间,我成了热线兼现场支持,一天接50-80个电话,接了电话到处跑。之后我们做了很多改进工作,升级了系统硬件、写了自动脚本,成立了专门的热线等等,这期间我慢慢懂得了一个道理,一个大的复杂系统要成功的管理好,没有绝招,依靠的只是一点一滴持续不断的改进和努力。

有一度由于压力过大,也使我精神高度紧张,到了比较神经质的地步,有一段时间,一听到CALL机响,甚至是电视广告里的“摩托罗拉寻呼机,随时随地传信息”中的BP声,我的心跳就不由自主加速,喉咙发干。有一次去香港出差,从出发开始就一直惴惴不安,生怕系统出问题,结果刚到香港住进酒店,一个电话就来了,说系统崩溃了。我立即打国际长途叫赵×赶紧去处理,过了几分钟,赵回电话绝望地说,他以最快速度赶到一号楼,进了电梯刚走到一半,喀嗒停电了,电梯卡在中间半个多小时,祸不单行,当时那种感觉真是 “农夫内心如汤煮”啊。最后过度紧张使得我想逃避,导致我提出了辞职。所幸那时候的领导袁总和郭总,开导我多次,我逐渐有所缓解,然后慢慢开始理解了什么叫大将风度。做我们这一行,要如履薄冰、但也要有点临危不惧的精神。工作紧张,但心情要避免无谓的紧张。后来我们的ERP系统、IT数据中心,又出现过多次危险情况,淹过水、着过火,而我们最终都能够化险为夷。



工作并不只有艰苦和繁琐,有时候,乐趣也不期而至。当时我们的数据库总是出ORA-1555错误,严重影响系统的运行,我多天努力、百思而不得其解。现在的管理员可能会想,这不是一个小问题吗,但那时网络还没现在这么发达,什么东西一GOOGLE都出来了,我找了大量的资料,苦苦思索,最后终于灵光一现,象拼藏宝地图一样拼出了逻辑严密的解释和解决方案,我记得当时是深夜,内心偷着乐的感觉妙不可言,不需要别人知道、不需要别人理解,走出公司大门,仰望星空,深深吸一口气,内心偷着乐。还有另一次,当我们经过30多个小时的连续作战,解决种种问题,终于顺利升级成功ERP系统后,那种感觉也象打了胜仗的将军,充满胜利的喜悦。记得当时正是刚谈女朋友,给她写了第一封也是唯一一封情书,成为太太后,她有一次跟我说,你那玩意儿叫啥呀,那能叫情书吗?通篇都在讲你如何如何工作的,象工作汇报一样,简直可以跟鲁迅写给许广平的“情书”相媲美,尽是革命理想,没有点花前月下.....还有一次,我们的EMAIL系统突然出了故障,大量的来信收不到。那时是华为开拓海外市场的初期,海外还根本没有什么公司网络,所有的一切都是靠EMAIL和国际长途,天象塌下来一般,我们跟主管国际市场的徐直军汇报、最后向老板汇报请示是否应该报公安,因为当时的故障现象很象DDOS攻击。系统停了整整七天,我们请了各路专家,日夜攻关,试了N个方案,大家象大禹治水一样过家门而不入。最后还真找到了一个木马“冰河”的攻击,但却发现不是根本原因,故障依旧。最后一天晚上,我与阿韦坐在科技园一号楼冰冷的网络机房,看着系统一封一封的邮件,连接了,又中断了,一筹莫展,濒临崩溃。我抱着死马当活马医的心态,又祭出了我的“二分法” 体力活,测试了一封空邮件,能成功;测试了一封大邮件,失败;取其中间值,又失败;再取中间值,成功;再取前两次的中间值,成功.....一直到深夜,试了N次,终于总结出了规律!再一验证,只要在某个大小的地方,比它大的统统收不到。重要发现!然后改用PING包,发现在一千四百多字节的地方,再大就 PING不通了,现象可重复。再去想理论,如果按协议理解,这也不可能啊,即使MTU调小了,大包超过MTU也应该自动分片啊?除非是MTU在某个地方调小了,而协议又有异常。发现这个规律后,阿韦立刻跟电信联系,果然是一周前电信调整了路由器MTU并且CISCO的路由器有BUG引起。问题就此解决,当时吸了口气,那种舒坦啊!...没经受过类似极限考验的人可能不容易理解那种快乐!这种快乐是工作本身带来的,不需要别人来表扬,甚至不需要别人知道。能够有机会也能用心去体会这种快乐的人,怎么会不热爱工作?

工作也肯定不是只有成功和荣誉,有时候我也做很多蠢事和傻事,或者由于幼稚被人骗,或者是由于轻率导致工作失误。有一段时间,ERP系统岌岌可危,系统容量面临崩溃。我多次大声疾呼,几乎每一次有机会见到CIO郭总都大呼小叫一番。郭总当时刚来我们部门,一开始觉得我这个人怎么能这样?在一次部门全体会议上,郭总点名批评“徐家骏总是瞎咋呼,只会威胁我,却拿不出一个好的方案”。心里相当郁闷,但系统还在我手里,能等着它死吗?我还是一如既往的瞎咋呼,但也改进了一点,拿出了方案。郭总批准花了500多万来改进系统,这次给了我们1-2年的稍稍太平时间,从而有机会做更多的改进优化工作。当时的500多万跟现在的概念可大有不同,现在IT花个500多万是小菜,那时500多万可是天文数字啊!当时相当佩服郭总的魄力,记得他要做大笔花钱的决策时,常说的一句话是“牛都杀了,还在乎牛毛?!”。很久以后,郭总有一次提到,徐家骏这个人工作还是蛮执着的。后来我的职位不断地得到了提升。之后我负责了很多重大的项目,往往涉及重大的投资,几百万、几千万,这些年来总共给公司花掉好几个亿。这中间技术方案制定,也有被忽悠了的。甚至重大项目投标时,有供应商恶毒的投诉诬蔑我的事,所幸公司及领导给了我这样的土老冒充分的信任。这些事我的体会是:只要你心无旁骛,目标单纯,就是想把这个事情搞好,并且持续地、啥都不计较地、傻傻地去推动,内心无愧,一时可能会有工作失误,一时可能会得罪人,可能会有人不理解,但长远来看还是会得到公正的承认的。



公司快速发展和扩张,由于工作业绩还过得去,很快就被提拔为小主管了,一开始觉得做主管也没啥,业务的细节我都是一清二楚的,不就是多了几个人一起干活吗?有一次,IT二把手袁总说“我要参加一次你组织的部门例会,看看你是怎么做管理的”,没问题,在例会上,我侃侃而谈,把业务分析得透彻细致,把工作安排得井井有条,洋洋得意地结束了会议,期望着袁总能给点表扬。袁总一声不吭坐到结束,等人都走了,劈头盖脸一顿“徐家骏,你知道这叫什么吗?这叫生产队长!农民!...”,一开始还不服气,我业务这么清楚、工作安排得这么妥当,管理能力还不行?后来,慢慢地自己也发现了问题,后来部门安排了去参加封闭4 天的管理干部培训,才算接触到了管理ABC,渐渐体会到,原来管理也是一门学问,而且大有学问。有了这个认识,后来我也时时留心。其实在华为要学习管理最简单,第一要诀是向身边的人学,华为的很多管理者,修养和能力超强,在平时和他们一起工作的一点一滴中,如果你细心去观察和体会,收获实在可以不少。比如说,有一段时间,我每周参加IT部门干部例会时,大家讲得差不多了,该由领导作判断和决策、做工作安排之前,我就会猜,领导可能会做有什么判断、会做什么决策,特别是有些事情充满矛盾和冲突,需要权衡时。一开始十猜九不中,并且很多看法别人说出来之后觉得耳目一新、不胜佩服。于是就去想他为什么会这样判断和决策,背后做的功夫是什么,慢慢地自己处理类似问题的思路也比较开阔了。另外、别人在管理中犯的错误,也是自己学习的好机会,自己犯错误自己是不容易觉察的,但别人犯错误自己可以觉察,然后可以警醒自己避免类似错误。

后来,做数据中心经理、技术支持经理、IT基建经理、系统运作副总监,变做边学,做团队管理、做考核、做流程优化,应对种种难题:如用户严重不满、工作头绪繁多流程乱来、资源严重紧张、骨干员工要离职、刺头员工提种种要求、部门骨干之间文人相轻、部门之间配合大起冲突、末位淘汰等等等等,逐渐逐渐对管理的体会越来越深,对管理的重要性认识越来越深。应对这些难题,当时真是殚精竭虑,有时甚至痛苦不堪。但我事后的体会是,凡是自己在感觉严重受挑战、整天闹心痛苦的工作阶段,往往是自己能力和心态进步比较快的阶段,而有时候工作一切都已摆平、风平浪静,可以悠哉游哉的时候,半年过去,发现自己一无所获,毫无建树,其实内心深处更加焦虑和痛苦。我后来总结过很多管理工作的要点和戒律,也总结了一句话,叫做“成功人士就是经常成功地跟自己过不去的人士”。



2003年下半年,数据中心建成后,IT运作这一块,在多年的岌岌可危之后,终于有点风平浪静的意思了,为了“跟自己过不去”,其实也是为了自己的兴趣,我向领导申请去信息安全部并得到了批准。当时业界还处在冬天时期,华为在冬天时期,不但面临竞争对手的威胁,更严重的是面临内部的威胁,屡屡爆发的重大产品、商务信息泄密,给公司造成了重大的损失,信息安全形势十分严峻,也触发了公司最高领导层对信息安全工作的超级重视。信息安全工作是是一个基本纯防守的工作,防守战线太长太长,整个系统的防守强度取决于最薄弱环节,而攻击者却可以集中资源,只要攻其一点即可。我到信息安全部,发现我们的管理体系、政策体系经过几年的努力,已经有一定的建树,而技术方面的能力却是很薄弱的环节。因此,重点在此方面开展了工作。几年之内,我们部署了很多防护系统,也培养了一批人,在我离开信息安全部时,整体上应该讲有了较大的改变。

调到信息安全部工作期间,其实给我最深的体会是跨部门的合作,在原来部门时,信息安全部也经常来“烦”我,我的反应经常的是排斥和不满,到了信息安全部后,变成经常是我得去“烦”别人,并且我们部门是特别讨人“烦”。如何取得他人的合作?是一直来磕磕碰碰的难题。比如 SPES开发和推行这个大项目,要 “烦”的人实在太多了:数据中心、网络部、PC、海外IT、研发信管办、销服信管办、采购、发货、进出口部、物流、各国代表处、公司各级领导、最终用户等等。在不断地“烦”人的过程中,我总结出了一套“合作方法论”,有很多道道,不过最终总结起来,一句话简单说就是“如果你总是抱怨别人跟你不合作的时候,问题一定是出在你自己身上。”



03年底,当时业界连续几次蠕虫的发作,部门几个技术人员一直在讨论如何搞一个方案对付这个问题,我们设想了种种可能性,最后部门技术大牛季昕华提出一个设想:把客户端的软件和网络上的设备联动起来来控制蠕虫,并且做了一个很有意思的胶片,把对付SARS的手段用来对付蠕虫了。我一下子被这个新颖的设想所吸引,后来我在此基础上与大家多次讨论进一步扩展了概念,提出了策略强制系统的概念。为了让我们的设想能够付诸现实,我在部门其实并未授权的情况下,偷偷搞了几个人,花了半年时间把POC系统做了出来。 POC系统刚出来,我们就听到了CISCO在04年中发布了其SDN/NAC产品概念,跟我们的思路非常接近,这给了我们很大的信心,后来我干脆主动请缨,放弃其他管理事务,全职投入到组建一直开发队伍,开发SPES产品中去。最终我们产品开发成功了,在公司全球100多个国家6万多员工大规模的推广也成功了,并且在公司内部良好运行至今。这件事给我最大的启示是:我们要有信心、要敢做,CISCO并不可怕。说老实话我们是一支很土八路的队伍,也不属于公司的研发体系,我们这支土八路的队伍,坐了2年冷板凳,磨啊磨啊,最终还真磨出来一个还不赖的东西。 2004年底,在磨出来这个东东之后,我们又开始张罗产品认证、组织市场活动、策划定价及销售策略、寻求多方合作、建设支持体系等,在我们经过艰苦的市场拓展,客户已经开始广为感兴趣并已经形成几单实际销售的情况下,公司由于政策问题,为了确保资源最大限度投放到公司内部工作以支持公司海外市场的大发展,叫停了我们真正做成对外销售的产品,虽然我理解公司的大方针,但这个决定还是让我非常痛心,否则我相信今天这个产品很有可能已得到更大的发展。前不久我去北京出差,跟一个公司产品的代理商偶尔聊天,他不知道我是SPES的主要负责人,大大的吹了一通我们的东东并很惋惜为什么不卖,不禁让我又喜又悲。

转眼工作十年了,在华为的十年,正是华为从名不出专业圈子到现在成为路人皆知的大公司,高速发展的十年,见证了公司多年的奋斗历程。也投身其中,在大潮中边学边游泳,走到今天。现在我要离开公司了,准备去开始新的事业,接受全新的挑战,我将要去做的事情,风险很大,很有可能是九死一生,九死后还能不能有一生,也难说。在开始新的事业之前,想起了对过去的十年做个一个详细的总结。在一个象华为这样高速发展的大企业工作,有时是一种炼狱般的锻炼,如果我能够总结十年的经验和教训,从中学到关键的做事、做人的道理,我想对将来一定大有益处。

这些年来有些人离开公司,写一些东西或书,对公司指手画脚、评头论足、指点江山,对公司的高层领导逐个点评一番,我个人感觉除了带来一些娱乐价值,还有什么益处呢?公司照样在发展,发展的背后,6万人种种梦想、努力、贡献、牺牲、奋斗、抱怨、不满、沉淀、离去、希望、失落;发展的背后,种种机会、重大决策、危机、失误等等的内在逻辑又岂是局外人说得清楚?我不想多说公司,只是想对自己的工作经历好好反思反思,想想自己做了什么努力,做了什么贡献,做了什么自己最高兴、做了什么自己最受益、学到了什么?总得说来,我在华为的十年是懵懵懂懂过来的,当初我好像没有什么远大的理想、没有详细的规划,只是想着把一件一件事情做好。通过自己的总结和反思,将来我希望自己能够更加有规划、更加清晰一点。


大概想了想,我觉得有以下几点,是这些年深有体会的经验和教训,值得今后再发扬。

一、 “从小事做起,学会吃亏,与他人合作”,这是研究生毕业前最后一堂课,电子电路的老师最后送给我们几句话,虽然我忘了这位老师的名字,但这几句话却至今铭记。在华为的工作实践,越发感受到这简单的几条的道理深刻。从小事做起不是一直满足于做小事,也不是夸夸其谈好高骛远。学会吃亏不是忍受吃亏,是不斤斤计较于一时一地的是非得失,是有勇气关键时候的放弃。

二、“心有多大,舞台就有多大”,我们很多的成功,来自于敢想,敢做,就象我第一次接到问题单,根本不懂,但敢去试,敢去解决,还真的解决了;就像我们做 SPES,即使没人、没技术、没积累,还有CISCO等大公司也在做,我们也敢做,敢推行,不盲目崇拜或畏惧权威,也取得了成功。当然,这不只是盲目的胆大,心大还意味着积极地关注广大的外部世界,开阔宽容的心胸接受种种新鲜事物。

三、 “好好学习,天天向上”,这句话用来形容对IT人的要求,最贴切不过了。真正的成功者和专家都是“最不怕学习”的人,啥东西不懂,拿过来学呗。我们 IT 现在有个技术大牛谭博,其实他不是天生大牛,也是从外行通过学习成为超级专家的,他自己有一次跟我说,当年一开始做UNIX系统管理员时,看到#提示符大吃一惊,因为自己用过多年在UNIX下搞开发都是%提示符,从未有过管理员权限。看看专家的当初就这水平!当年跟我做备份项目时,我让他研究一下 ORALCE数据库时点回退的备份和恢复方法,他望文生义,以为数据库的回退是象人倒退走路一样的,这很有点幽默的味道了,但他天天早上起来,上班前先看一小时书,多年积累下来,现在在系统、数据库、开发等多个领域已成为没人挑战的超级专家了。但是,学习绝对不是光从书本学习,其实更重要的是从实践工作中学习,向周边学习。比如说我在华为觉得学到最重要的一个理念是“要善于利用逆境”,华为在冬天的时候没有天天强调困难,而是提出“利用冬天的机会扭转全球竞争格局”并真的取得成功,如果没有这个冬天,华为可能还要落后业界大腕更多年份;华为在被CISCO起诉时没有慌乱,而是积极应对,利用了这次起诉达到了花几亿美金可能达不到的提高知名度的效果。等等这些,把几乎是灭顶之灾的境遇反而转化为成功的有利条件,对我留下的印象十分深刻,也对公司高层十分佩服。

四、勇于实践,勇于犯错,善于反思。很多事情知易行难,关键是要有行动,特别是管理类的一些理论、方法、观念。空谈、空规划一点用处都没有,不如实际把它做出来,做出来后不断反思改进,实实在在最有说服力。没有实践中的反复演练和反思,即使是人人皆知的东西要做好都其实不容易,举个小例子,比如做管理者要会倾听,我想华为99.9%的管理者都很懂这一点,但实际做的如何呢?华为有多少管理者做到了不打断别人讲话?不急于下结论给定义?不急于提供解决方案?有多少管理者能够做到自然地引导对方表达?问问对方感受?确认自己明白对方?

五、要有方法、有套路,对问题系统思考、对解决方案有战略性的设计。在前几年的工作中,由于取得了一点成功,技术上也有了一点研究,就开始夜郎自大起来了,后来公司化重金请来了大批顾问,一开始对有些顾问还真不怎么感冒。后来几年公司规模越来越大、IT的复杂性越来越增加的情况下,逐渐理解了很多。西方公司职业化的专家,做任何事情都有方法论、有套路,甚至于如何开一个会都有很多套路,后来我对这些套路的研究有了兴趣,自己总结出了不少套路并给部门的骨干培训和讨论。在一个复杂的环境下,很多问题已经不能就事论事来研究和解决,非常需要系统性的方法和战略性的眼光。对于一个组织的运作来讲,制度和流程的设计尤其需要这一点。爱恩斯坦说过: We can't solve problems by using the same kind of thinking we used when we created them.

六、独立思考,不人云亦云。公司大了,人多了,混日子也容易了。人很容易陷入随波逐流、不深入业务的境地,而看不到问题和危险。专家有过一个研究,雪崩发生时,一般受害者都是一批一批的,很少有单个人的受害者,原因很简单,单个人在雪崩多发地会相当小心和警觉。但一个群体,群体越大,每个个体就会有一种虚幻的安全感和人云亦云的判断,但现实是不管群体的力量有多大,雪崩都是不可抵抗的。因此我觉得在大的机构里,保持独立思考的能力尤为重要。

七、少抱怨、少空谈、积极主动,多干实事。我曾经是个抱怨很多的愤青,经常容易陷入抱怨之中。但多年的工作使得我有所转变,因为知道了抱怨是最无济于事的。世界上永远有不完美的事情,永远有麻烦,唯一的解决之道是面对它,解决它。做实实在在的事情,改变我们不满的现状,改变我们不满的自己。实际上也有很多值得抱怨的事情都是我们自己一手搞出来的,比如社会上很常见的是高级干部退下来了,抱怨人心不古、感慨世态炎凉,如果好好去探究一下,原因很可能是他权位在手春风得意时不可一世、视他人如粪土造成的。

八、对职业负责、对目标负责,对自己负责,成功者往往自觉自律、信守承诺、心无旁骛。大企业肯定会有绩效考核、会有论功行赏、会有KPI、会有领导指示、甚至会有一点企业政治,但如果我们片面地追求考核成绩、片面追求KPI指标、片面追求权钱利益,片面地对上负责、对别人负责,而不对自己负责、不对自己的目标负责,失去工作的使命感、责任心、热情和好奇心,必将不能达到自己的最佳境界。而一个企业如何能够成功营造一个环境,让每个个体尽量发挥到最佳境界,企业也会战无不胜。

九、多点人文修养和审美情趣,看起来与工作不怎么相关,其实太相关了。杰出成就的取得离不开对美的境界的追求,最伟大的科学发现,往往蕴涵着秩序、简洁和美。缺乏一点审美的追求,什么UGLY的事情都敢做、不择手段、凡事凑合,一点都不“高雅”,必将不能长久。

十、 “大家好,才是真的好”,关注人,帮助人,真诚待人,厚道做人。快速发展的现代社会,由于媒体的作用,过分渲染了人与人之间日益冷漠、诡诈的关系,但实际的社会、社区可能真的不是那么回事,起码我来华为之前,对一个大企业中工作的人事关系开始还有点未知的恐惧,但实际上在这个集体中的感觉几乎人人都能开放、真诚相待,关系融洽和谐。所以关键是我们自己要能够真诚对待他人,在与他人互动中将心比心。当然,工作中的冲突是不可避免的,实际上冲突也是没有必要去避免,甚至很多冲突对组织来讲,是大有益处的。就象夫妻吵一架后感情往往更好。只要我们掌握两大原则:1)对事不对人,2)与人为善。就肯定能把适度的冲突引导到对自己、对组织都有利的方向。

十一、开放和分享的态度,在一个高科技公司工作,如果报着保守和封闭的心态,成长肯定会受阻。

十二、做好时间管理。在华为工作十年,3650天,工作日3000天左右,这些时间是不是花在最重要的事情上了,有效的、有产出的工作时间究竟有多少,实在值得怀疑。时间管理是我在华为工作当中最大的教训之一,可能也是公司整体性的问题,工作缺乏计划,经常是面临不断的被打断;或者是不断去打断同事下属;或者是不断的会议、讨论,占去绝大部分的时间;或者是被自己的兴趣所牵引,花大量时间搞一些不着边际的事情;或者是花很多时间在一些细枝末节的事情上,把很难很重要的事情一直拖到非解决不可的地步然后被迫仓促行事。现在回想,如果真的能管理好这十年时间,我觉得成就应该大很多。



在华为的十年,还有一笔最宝贵的财富是结识无数优秀的同事、朋友,他们给予我很多启发、给予我无私帮助,要感谢无数给予过我帮助、启发的人:

首先感谢我的师傅王忠宁和二师傅祈宇,是他们带着我走上了工作岗位的第一步并真诚地帮助我。或许是由于左手有六个手指头的缘故,师傅个性偏执,牢骚满腹,与很多人合不来。但我跟他一年多,一起抽烟、一起在冰冷的机房喝冰冷的可乐、一起发牢骚、一起到路边小摊吃炒米粉,无话不谈,成了最好的朋友,他对自己的事情高度负责的精神和刚直的个性给了我深深的感染。他终身未婚,在99年不幸患肝癌离世。去世前几天,我去医院看他,给他送了一朵鲜红的玫瑰花,希望他能够把花献给他喜欢的、住院期间给他很好照顾的护士,他非常高兴。

感谢我的老领导许总,刚到部门时他给我们做ERP培训,我们班上所有的人都皱着眉头很痛苦,因为都听不懂他的诸暨话。而我大喜,因为我也是浙江诸暨人。作为公司元老级人物,许总这么多年来工作激情丝毫不减,让人佩服;许总经常骂我们,甚至狗血喷头,但他也是最经常请我们吃饭的领导,点菜的水平很高,酒德很好...也感谢曾经作为我领导的郭总、袁总、李总、胡总、洪总、周总、陆总、付总等,他们给予我太多机会、给予我太多宽容,我从他们身上也学到很多很多。

感谢太多同事和下属,不管是还在华为或者已经离开的,曾经为了支撑我们的工作目标,他们承担太多压力、默默付出太多。科技园我们的机房值班人员邓迅雷,天天晚上彻夜坐在冰冷而空气不好的机房里,为了防止老鼠咬断网线,想了种种办法捉老鼠。周振惠老婆在医院生孩子,他却半夜在公司加班处理自动仓库的紧急问题。EMAIL系统出问题内存泄漏,在找到根源之前,向阳连续2天24小时坐在电脑前监视和及时重启服务。WDGL服务器几百G数据全部丢失,沈勇偷偷摸摸、吭哧吭哧折腾了半个多月,借信用卡从美国自费买了软件,最终终于把数据恢复回来,避免了一场IT的灾难。SPES开发组,一开始基本是在师出无名失败风险极大的情况下,成年累月日夜奋战,幸好后来胡总力排众议鼎力支持,才终于搞出来一点土土的东西。SPES在海外实施时,柯晓宇在埃及去机场遇车祸,清醒过来第一反应是赶紧再找车去机场,否则误机了耽误下一个地区的实施。吴橹晓楠等人,瞒着家人和老婆,抢着要去伊拉克,还以为那儿可以搞支AK47玩玩。孙颖单身女将,独闯欧亚诸国,李晶顾磊在孟加拉上吐下泻,打电话回来说话的力气都没有,照样圆满完成超出预计复杂度的任务。还有小宋、小曹、周讯、老翟、老刘、家汉、牟头、老叶、陈君、伏朝阳、李斌、小麦、张华彦、齐燕英、鲁飞、闵朋、曾宇斌、邓湛、钟美琴等等等等……,一回忆太多太多扑面而来,真是不能一一列举。

感谢我们部门所有默默无闻、给予我们无数帮助的秘书MM,小吴、小关、梁、沈、肖、王、龙等等,特别感谢我97年刚到公司时的秘书李丽东,做事雷厉风行,我新员工刚报到时用一台电脑没多久,有个老员工过来说这个电脑是他的,他要拿走。我赶忙向许总求救,许总听完我的汇报后,抬起头:“嗯&@$# %,我们部门的电脑怎么管理怎么这么混乱?必须加以改进了!”之后一时没下文,我也不知道怎么办,灰溜溜回到了座位上发愁,看到小李起身慢慢走到那个老员工前面,劈头盖脸狂骂一顿,不知道说了些啥,走回来时,拍拍我肩膀“徐家骏,搞定了”。当时我对她崇敬不已,简直须仰视可见。之后有一天,她上班的时候叫我,“徐家骏,到我家去一趟”,我乐呵呵的去了,把她的一台破24寸电视机从蛇口的一端搬到了另一端的修理站,当然,这算是外出公干!

感谢若干多的供应商销售和支持人员、顾问,多年来我有时把他们逼得走头无路。DEC的罗辉、SUN的李建文、IBM的GARY、ORALCE的张力、高波等等等等,都是我崇拜的大牛,从他们我学到了很多很多。我最佩服的张力有一个本事无人能及,他能端端正正地坐着,手放在键盘上,头直直得好像在盯着屏幕,然后睡着并且打很大的呼噜。98年我们系统从10.6升级到10.7,我陪着他一口气干了30个小时,中间偶尔等系统在跑,他就这样睡着了。我盯着系统,一跑完就叫他,他眼睛一睁,手就开始动了,中间遇到重重难关,他都不慌不忙,很帅,很有大将风度。升级完后,我跟他去海景酒店的房间休息,我也学他,在洗澡的时候睡着了,从浴缸里咣噹摔到了外面地上,他煞有介事的冲过来“干啥干啥呢?这么大动静!”。

感谢在我喝醉稀巴烂时半夜扶我一直到家里的王涛,感谢在我发高烧一人倒在中心医院重症抢救室时前来救我的老罗、建新,老罗陪我一夜后第二天又正常来上班了,并且晚上又加班了;我一直希望自己也有他那牛一样的金刚不坏之躯。还有他太太,细致入微,给我买了各种必要的住院物品,在困难之中倍感温暖。

感谢我的父母,他们大半辈子都在极艰苦、极勤奋、又是快乐中度过,他们给了我最无私的爱,也给了我最大的宽容和自由。从初中开始,凡有我的重大决定,他们都让我自己做主。初中考高中,冒着没学上的风险,我要考县里的中学,他们支持我。考大学,他们说“清华是好的,北大是好的,科大也是好的...”,大学毕业找工作,他们说“联想是好的,方正是好的,考研也是不错的”,研究生毕业,他们说“华为是好的...”虽然他们没听说过华为,只知道是家民营企业不大保险。找老婆时他们说“这个媳妇真好...”,并且要求我不许欺负她,而不顾实际情况真好相反。

感谢我的太太,虽然欺负我,但对我的工作和所有怪念头都理解和支持,我工作太忙过,也发烧过 PDA、发烧过智能手机、发烧过钢琴、发烧过小提琴、发烧过 APPLE,有时候回家陪这些“小情人”比陪她的时间多,她都能谅解。她对金钱和名誉常常很不在乎,家庭财务也一塌糊涂。不过做事雷厉风行、执行力超强,我刚提离职,她就以迅雷不及掩耳盗铃之势把我们的房子卖掉了。

感谢我的女儿,虽然她才不到二岁,但她带给我和太太的快乐和幸福简直难以描述。在养育她的过程中,我们自身不断学习、反思,也得到很大的提高,小孩的成长也是我们父母重新成长一次的机会,在与她互动的过程中,我觉得最主要的不是我和太太教育她,而是她教育我们,她触发了我们更好地去面对、体会、反思、感悟生活和人生,并且她也触发了我很多关于管理的深入思考,感觉育儿和管理很多方面真是很相通的。为此我还专门开了一个博客,把自己对于儿童教育、管理等的感悟记录下来。

最后感谢公司老板,给我们提供了这样一个工作平台,在这个平台上我们努力过、奋斗过、沮丧过、抱怨过、成功过、快乐过...我们从一个土老冒逐渐成长为一个职业人。真心说声谢谢!希望公司变得越来越强大,越来越成为中国人在世界上的骄傲。



2008/03/10

コミットチューニング

コミットチューニング

最近友たちにコミット件数とチューニングのことについて聞かれた。説明するため、具体的なサンプルを作った。
ここで公開しておく。

考えられる遅延原因は
PLエンジン, SQLエンジンの切替
コミットの関連処理
REDOログの同期
LATCHの割り当て
UNDOとRBS
RBSの処理
UNDOの拡張
IOとキャッシュ



下記の結論である。
グラフの示したとおり、一度コミットする行数は多すぎでも少なすぎでも遅くなる。今回の場合100行単位でコミットする処理が一番早い。
同じ全部コミットで処理する場合(今回は100000件)、プロシージャはSQLに比べてやや遅い。
具体的な件数はサーバによって違う。テスト環境はノートPCだから、100件は最適だが、普通のサーバは10000~100000件が最適。

検証の詳細手順は下記のとおり:

-- 準備
set lines 150
set pages 9999
set timi on
set time on
spool txtest.log

-- テーブルの作成
create table t_txtest (tno number(7, 0), value varchar2(10));
-- データの作成
-- 1000000件
insert into t_txtest select rownum, rownum
from (select 0 zero from dba_objects where rownum <= 10000),
(select 0 zero from dba_objects where rownum <= 100);
-- 100000件
insert into t_txtest select rownum, rownum
from (select 0 zero from dba_objects where rownum <= 10000),
(select 0 zero from dba_objects where rownum <= 10);

-- プロシージャーの作成
create or replace procedure prc_txtest(cmt_n pls_integer) is
i pls_integer := 0;
begin
for x in (select t.rowid rid, t.* from t_txtest t) loop
if i = cmt_n then
commit;
i := 0;
else
i := i + 1;
end if;
update t_txtest set value = x.value where rowid = x.rid;
end loop;
commit;
end;

-- 検証の実施
-- 全部キャッシュさせる
update t_txtest set value = value;
exec prc_txtest(100);
update t_txtest set value = value;

-- 検証の本番
exec prc_txtest(1);
exec prc_txtest(100);
exec prc_txtest(1000);
exec prc_txtest(10000);
update t_txtest set value = value;


そして結果は下記のとおり。

時間 オペレーション
01:17.1 exec prc_txtest(1)
00:56.2 exec prc_txtest(10)
00:50.8 exec prc_txtest(100)
00:55.3 exec prc_txtest(1000)
00:57.2 exec prc_txtest(10000)
01:09.9 exec prc_txtest(100000)
00:59.5 update t_txtest set value = value

2008/02/23

Minimized SGA Setting for Enterprise Manager DB Console



Oracle 11g occupy lots of memory.
Based on my experience 9i requires 60m, 10g requires 80m, 11g requires 100m at least.

Without Enterprise Manager DB Console

NAME BYTES RES
-------------------------------- ---------- ---
Fixed SGA Size 1331404 No
Redo Buffers 2641920 No
Buffer Cache Size 8388608 Yes
Shared Pool Size 71303168 Yes
Large Pool Size 0 Yes
Java Pool Size 0 Yes
Streams Pool Size 0 Yes
Shared IO Pool Size 0 Yes
Granule Size 4194304 No
Maximum SGA Size 92057600 No
Startup overhead in Shared Pool 33554432 No
Free SGA Memory Available 8388608

With running Enterprise Manager DB Console
NAME BYTES RES
-------------------------------- ---------- ---
Fixed SGA Size 1331992 No
Redo Buffers 2445312 No
Buffer Cache Size 33554432 Yes
Shared Pool Size 104857600 Yes
Large Pool Size 0 Yes
Java Pool Size 25165824 Yes
Streams Pool Size 0 Yes
Shared IO Pool Size 0 Yes
Granule Size 4194304 No
Maximum SGA Size 184135680 No
Startup overhead in Shared Pool 33554432 No
Free SGA Memory Available 16777216

Actually, it consumes 198m os memory before db console connected and 286m after db console connected.

Oracle 11g RMAN cold backup problem

I installed Oracle 11g and took a full cold backup just after installation.
I meet the following problems.
1. rman reject to be brought up before shutdown instance
2. after I altered database open, rman DBAGENT returned a error message.


C:\oracle>rman target / nocatalog

Recovery Manager: Release 11.1.0.6.0 - Production on 土 2月 23 14:58:43 2008

Copyright (c) 1982, 2007, Oracle. All rights reserved.

DBGANY: Mismatched message length! [14:58:49.088] (krmiduem)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: 内部Recovery Managerパッケージの初期化に失敗しました。
RMAN-00600: internal error, arguments [3045] [] [] [] []

C:\oracle>sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on 土 2月 23 14:59:15 2008

Copyright (c) 1982, 2007, Oracle. All rights reserved.



Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
に接続されました。
SQL> shutdown immediate;
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> quit
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsとの接続が切断されました。

C:\oracle>sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on 土 2月 23 15:04:30 2008

Copyright (c) 1982, 2007, Oracle. All rights reserved.



Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
に接続されました。
SQL> shutdown immediate;
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup mount;
ORACLEインスタンスが起動しました。

Total System Global Area 146472960 bytes
Fixed Size 1331740 bytes
Variable Size 92278244 bytes
Database Buffers 50331648 bytes
Redo Buffers 2531328 bytes
データベースがマウントされました。
SQL> quit
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsとの接続が切断されました。

C:\oracle>rman target / nocatalog

Recovery Manager: Release 11.1.0.6.0 - Production on 土 2月 23 15:27:53 2008

Copyright (c) 1982, 2007, Oracle. All rights reserved.

ターゲット・データベース: ORCL(DBID=1175160249、未オープン)に接続されました
リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています

RMAN> show all;

db_unique_name ORCLのデータベースにおけるRMAN構成パラメータ:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BZIP2'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:\ORACLE\PRODUCT\11.1.0\DB_1\DATABASE\SNCFORCL.ORA'; # default

RMAN> backup full database;

backupが開始されました(開始時間: 08-02-23)
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=55 デバイス・タイプ=DISK
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル・ファイル番号=00001 名前=C:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
入力データファイル・ファイル番号=00002 名前=C:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
入力データファイル・ファイル番号=00003 名前=C:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
入力データファイル・ファイル番号=00005 名前=C:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF
入力データファイル・ファイル番号=00004 名前=C:\ORACLE\ORADATA\ORCL\USERS01.DBF
チャネルORA_DISK_1: ピース1(08-02-23)を起動します
チャネルORA_DISK_1: ピース1(08-02-23)が完了しました
ピース・ハンドル=C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2008_02_23\O1_MF_NNNDF_TAG20080223T152821_3VZH8X2Q_.BKP タグ=TAG20080223T152821 コメント
=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:01:36
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
現行の制御ファイルをバックアップ・セットに組み込んでいます
バックアップ・セットに現行のSPFILEを組み込んでいます
チャネルORA_DISK_1: ピース1(08-02-23)を起動します
チャネルORA_DISK_1: ピース1(08-02-23)が完了しました
ピース・ハンドル=C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2008_02_23\O1_MF_NCSNF_TAG20080223T152821_3VZHDGLW_.BKP タグ=TAG20080223T152821 コメント
=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:01
backupが完了しました(完了時間: 08-02-23)

RMAN> backup current controlfile;

backupが開始されました(開始時間: 08-02-23)
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
現行の制御ファイルをバックアップ・セットに組み込んでいます
チャネルORA_DISK_1: ピース1(08-02-23)を起動します
チャネルORA_DISK_1: ピース1(08-02-23)が完了しました
ピース・ハンドル=C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2008_02_23\O1_MF_NCNNF_TAG20080223T153115_3VZHG4DM_.BKP タグ=TAG20080223T153115 コメント
=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:01
backupが完了しました(完了時間: 08-02-23)

RMAN> sql 'alter database backup controfile to trace';

SQL文: alter database backup controfile to trace

RMAN> sql 'create pfile from spfile';

SQL文: create pfile from spfile

RMAN> list backup;


バックアップ・セットのリスト
===================


BS Key Type LV Size Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
1 Full 1.11G DISK 00:01:51 08-02-23
BPキー: 1 ステータス: AVAILABLE 圧縮: NO タグ: TAG20080223T152821
ピース名: C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2008_02_23\O1_MF_NNNDF_TAG20080223T152821_3VZH8X2Q_.BKP
バックアップ・セット1のデータファイルのリスト
File LV Type Ckp SCN Ckp時間 Name
---- -- ---- ---------- -------- ----
1 Full 1330553 08-02-23 C:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
2 Full 1330553 08-02-23 C:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
3 Full 1330553 08-02-23 C:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
4 Full 1330553 08-02-23 C:\ORACLE\ORADATA\ORCL\USERS01.DBF
5 Full 1330553 08-02-23 C:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF

BS Key Type LV Size Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
2 Full 9.36M DISK 00:00:19 08-02-23
BPキー: 2 ステータス: AVAILABLE 圧縮: NO タグ: TAG20080223T152821
ピース名: C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2008_02_23\O1_MF_NCSNF_TAG20080223T152821_3VZHDGLW_.BKP
SPFILEも含まれます: 修正時間: 08-02-23
SPFILE db_unique_name: ORCL
含まれている制御ファイル: Ckp SCN: 1330553 Ckp時間: 08-02-23

BS Key Type LV Size Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
3 Full 9.33M DISK 00:00:17 08-02-23
BPキー: 3 ステータス: AVAILABLE 圧縮: NO タグ: TAG20080223T153115
ピース名: C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2008_02_23\O1_MF_NCNNF_TAG20080223T153115_3VZHG4DM_.BKP
含まれている制御ファイル: Ckp SCN: 1330553 Ckp時間: 08-02-23

RMAN> sql 'alter database open';

SQL文: alter database open
DBGANY: Mismatched message length! [15:38:13.094] (krmiduem)

RMAN> quit


Recovery Managerが完了しました。
DBGANY: Mismatched message length! [15:38:56.322] (krmiduem)
ターゲット・データベースからのORACLEエラー:

TARGETデータベースのパッケージDBMS_RCVMANを実行中にエラーが発生しました。

C:\oracle>


While, I tried the same operation on another database later, all the operations are succeed.


C:\oracle>set NLS_LANG=English.UTF8

C:\oracle>rman target / nocatalog

Recovery Manager: Release 11.1.0.6.0 - Production on Tue Feb 26 10:46:04 2008

Copyright (c) 1982, 2007, Oracle. All rights reserved.

connected to target database: DBCAMIN (DBID=898998132, not open)
using target database control file instead of recovery catalog

RMAN> shutdown immediate;

database dismounted
Oracle instance shut down

RMAN> startup mount;

connected to target database (not started)
Oracle instance started
database mounted

Total System Global Area 313860096 bytes

Fixed Size 1332892 bytes
Variable Size 159385956 bytes
Database Buffers 146800640 bytes
Redo Buffers 6340608 bytes

RMAN> show all;

RMAN configuration parameters for database with db_unique_name DBCAMIN are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BZIP2'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:\ORACLE\PRODUCT\11.1.0\DB_1\DATABASE\SNCFDBCAMIN.ORA'; # default

RMAN> backup full database;

Starting backup at 26-FEB-08
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=55 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=C:\ORACLE\ORADATA\DBCAMIN\SYSTEM01.DBF
input datafile file number=00003 name=C:\ORACLE\ORADATA\DBCAMIN\UNDOTBS01.DBF
input datafile file number=00002 name=C:\ORACLE\ORADATA\DBCAMIN\SYSAUX01.DBF
input datafile file number=00004 name=C:\ORACLE\ORADATA\DBCAMIN\USERS01.DBF
channel ORA_DISK_1: starting piece 1 at 26-FEB-08
channel ORA_DISK_1: finished piece 1 at 26-FEB-08
piece handle=C:\ORACLE\FLASH_RECOVERY_AREA\DBCAMIN\BACKUPSET\2008_02_26\O1_MF_NNNDF_TAG20080226T104828_3W6VZKT1_.BKP tag=TAG20080226T104828 comment=NO
NE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 26-FEB-08
channel ORA_DISK_1: finished piece 1 at 26-FEB-08
piece handle=C:\ORACLE\FLASH_RECOVERY_AREA\DBCAMIN\BACKUPSET\2008_02_26\O1_MF_NCSNF_TAG20080226T104828_3W6W0H9X_.BKP tag=TAG20080226T104828 comment=NO
NE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 26-FEB-08

RMAN> backup current controlfile;

Starting backup at 26-FEB-08
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
channel ORA_DISK_1: starting piece 1 at 26-FEB-08
channel ORA_DISK_1: finished piece 1 at 26-FEB-08
piece handle=C:\ORACLE\FLASH_RECOVERY_AREA\DBCAMIN\BACKUPSET\2008_02_26\O1_MF_NCNNF_TAG20080226T104920_3W6W17FC_.BKP tag=TAG20080226T104920 comment=NO
NE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 26-FEB-08

RMAN> sql 'alter database backup controlfile to trace';

sql statement: alter database backup controlfile to trace

RMAN> sql 'create pfile from spfile';

sql statement: create pfile from spfile

RMAN> list backup;


List of Backup Sets
===================


BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 180.15M DISK 00:00:22 26-FEB-08
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20080226T104828
Piece Name: C:\ORACLE\FLASH_RECOVERY_AREA\DBCAMIN\BACKUPSET\2008_02_26\O1_MF_NNNDF_TAG20080226T104828_3W6VZKT1_.BKP
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 Full 211645 26-FEB-08 C:\ORACLE\ORADATA\DBCAMIN\SYSTEM01.DBF
2 Full 211645 26-FEB-08 C:\ORACLE\ORADATA\DBCAMIN\SYSAUX01.DBF
3 Full 211645 26-FEB-08 C:\ORACLE\ORADATA\DBCAMIN\UNDOTBS01.DBF
4 Full 211645 26-FEB-08 C:\ORACLE\ORADATA\DBCAMIN\USERS01.DBF

BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
2 Full 9.36M DISK 00:00:05 26-FEB-08
BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20080226T104828
Piece Name: C:\ORACLE\FLASH_RECOVERY_AREA\DBCAMIN\BACKUPSET\2008_02_26\O1_MF_NCSNF_TAG20080226T104828_3W6W0H9X_.BKP
SPFILE Included: Modification time: 26-FEB-08
SPFILE db_unique_name: DBCAMIN
Control File Included: Ckp SCN: 211645 Ckp time: 26-FEB-08

BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
3 Full 9.33M DISK 00:00:07 26-FEB-08
BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20080226T104920
Piece Name: C:\ORACLE\FLASH_RECOVERY_AREA\DBCAMIN\BACKUPSET\2008_02_26\O1_MF_NCNNF_TAG20080226T104920_3W6W17FC_.BKP
Control File Included: Ckp SCN: 211645 Ckp time: 26-FEB-08

RMAN> sql 'alter database open';

sql statement: alter database open

RMAN> backup database plus archivelog delete all input;


RMAN> quit


Recovery Manager complete.

C:\oracle>sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on Tue Feb 26 10:56:02 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> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 11
Current log sequence 13
SQL> quit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options



Because the database was under NOARCHIVELOG mode, RMAN online backup was failed.

Starting backup at 26-FEB-08
ORACLE error from target database:
ORA-00258: manual archiving in NOARCHIVELOG mode must identify log

using channel ORA_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 02/26/2008 10:55:00
RMAN-20021: database not set

2008/02/14

Contact Center Construction

Contact Center Foundation including lots of areas. The project needs the cooperation of many department and company. The most important is risk management and communication.

The following is a sample of normal off-shore call center.

++ organization
company foundation
law research
registration
[[[human resource]]]
organization plan
employment and training
business licences
logistics
delivery
export
import
finance
budget
...
++ business
[[[workflow]]]
[[[PDAC]]]
++ office building
building rentle
layout
desk, chair, cabinet ...
power supplyment
air conditionor
++ telephone
pri line application([[[T1]]]/[[[E1]]]/[[[INS]]]/[[[PSTN]]] ...)
represent number
free number
local telephone system
[[[PBX]]]/[[[UnPBX]]]
number layout
dailing rule
international telephone([[[VoIP]]])
telephone terminal
computer telephone integration
mobile phone
++ oa machines
[[[FAX]]]
television meeting
++ network infrustructure
[[[LAN]]]
[[[switch]]]
[[[router]]]
LAN design
[[[WAN]]]
local provider line ([[[DDN]]])
global provider line ([[[FDDI]]], [[[ATM]]])
PC
common server
file server
web site
sso server
email
email server
email address registration
security
policy
[[[SSO]]]
domain
privilege
door
key
card
finger print
compliance
time sheet system
++ information system
database server
application server
integration server
[[[ERP]]]
[[[SCM]]]
[[[CRM]]]
data initialization and registration
information policy application

2008/02/12

スクリプトを使えるブログ調査

スクリプトを使えるブログ調査

JavaScript , Movable Type , Nucleus , PHP ブックマークに追加する ブックマーク-- Buzzurl / Hatena / Livedoor track feed src="http://script.trackfeed.com/usr/bddacef3d8.js">


カスタマイズはブログの命(?)。ってわけで、JavaScriptを使えるか?Bookmarkletを使えるか?PHPを使えるか?などについて、ログインレベルの、つまり日記を書く側のユーザーの自由度を調べてみます。 FTPでホームページを作るのと違ってプロバイダのブログは手軽ですけど、いろいろ制限が多いというのも事実のようです。うーむ。。。ま、最初は完全ではありませんが少しずつ書き加えていきます。プロバイダの機能調査はJavaScriptを使えるのか?に絞りました。
プロバイダ編

JavaScript 備考
Livedoor
JUGEM
Seesaa
北国tv
ココログ ×
楽天広場 × CSS ×
はてな ×
エキサイト △ *1
Doblog ×
ニフティ ?
BIGGLOBE ? CSS ×
ブログツール編

JS bm CSS PHP Perl SSI 備考
Movable Type 2.x ?
Movable Type 3.x ? ?
Nucleus ? ? × × ?
*bm==bookmarklet
*○==使えます
*×==使えません
*?==未調査
*○印でもサーバーやクライアントが使える状態になっていなければ当然使えません。
*1 :エキサイトブログはスクリプトタグが「セキュリティ上使用できません」となっていますが、たとえば、こんな風に書けば「いまのところ」通るみたいです、、、でも趣旨からすればやがて使えなくなるかも知れません。(←やはり使えなくなったようで す。Thanx ipod-groove さん)。しかし、JavaScriptをセキュリティ上使用できないということなら、JavaScript+PerlやPHPやetc...を使える普通 のホームページなど危険極まりないということですね。安全の代償は、ユーザーの自由と選択肢を安易に奪う方向に動くようです、、、。この際、HTMLも禁 止にしたらもっと安全だと思います(笑)。私はスクリプトの無いHTMLのみによるストレートな成りすましや画像に仕込んだウイルスなどの方が今は多くの 人をだましやすい気もしています。。。。大半のセキュリティチェックをすり抜けますからf^^;;。その点、MTの、ログインユーザー以外によるHTML の使用制限をログインユーザーが選べて、かつコメントにスクリプトタグは使えないという方式はバランス的に私は気に入っています。
というか、もしクロスサイトスクリプティングが心配ならMTの方法以上は過剰制限ではないかと。。。違います?

日本トラストテクノロジー、バランスWiiボード用カバー

日本トラストテクノロジー、バランスWiiボード用カバー
「シリコンFitカバー つぶつぶ ブルー for Wii Fit」

2月8日 先行発売

価格:2,480円

 株式会社日本トラストテクノロジーは、任天堂株式会社の「バランスWiiボード」用のカバー「シリコンFitカバー つぶつぶ ブルー for Wii Fit」の先行販売を、同社通販サイトにて開始した。価格は2,480円。

 「シリコンFitカバー つぶつぶ ブルー for Wii Fit」は、「バランスWiiボード」の表面を覆って、汚れなどから守るためのカバー。材質にはシリコンを採用することで、足が滑るのを防ぐ効果のほか、足で踏んだときにほどよいクッション性も提供する。

 表面にはツブツブ加工が施され、立ち位置のずれを足元を見ることなく感じられたり、また、足の裏のツボを適度に刺激してくれる効果もあるという。

 カラーはライトブルー。サイズは約51×34cm(横×縦)。シリコンカバーの厚さは約0.8mm。

取り付けた時の底面の状態 足の形に加工され、立ち位置がずれても足の裏で感じられる


Copyright 2004 Japan Trust Technology Inc All Rights Reserved.
※任天堂のライセンス商品ではありません。

□日本トラストテクノロジーのホームページ
http://www.jtt.ne.jp/
□製品情報
http://www.jtt.ne.jp/shop/product/wiifit_silicon_cover_tubu/index.html
□関連情報
【2005年6月3日】日本トラストテクノロジー、PSP用外付けバッテリー
「MyBattery JET for PSP」発売
http://www.watch.impress.co.jp/game/docs/20050603/jtt.htm

(2008年2月8日)

[Reported by 滝沢修]