遒 的个人资料ado的精神家园照片日志列表 工具 帮助

李 遒

职业
地点
第 1 张,共 1 张
更多相册 (1)
2008/1/31

长期以来(两年半以前的作业)

长期以来,我们总以不会轻易被除自己之外的人或事所感动的面貌示人,所以中国人的整体形象是极端现实、相对冷酷(对自己人尤甚)的,以个体生存为唯一要务的一群。作为其中的一份子,我既清醒地知道以上事实,同时也明白无误地感知到自身尚存未完全“进化”的感动情绪。

近段时间,我两次被感动得热泪盈眶的体验汇报如下:

首先是2005年8月15日读《南方都市报》纪念特刊“抗日”,整个下午,我都是透过泪水,字迹模糊地了解着我理应了解,实际上并不了解的“抗日战争”。接下来的一段日子,我不可避免地沉浸到那个浴血奋战、硝烟弥漫、落后但并不屈辱的民族的闪亮的日子,因为那些英勇的、激越的、悲壮的先烈们。《南方都市报》在社论中说,要“以一个民族整体的感恩情怀对纾难救国者行一次注目礼,而无论他们曾是怎样的番号,曾归何人的统率……他们是当时全民族同命运的共同体,他们是中国抗战军队中的中国士兵。”

尔后,我又再次泪眼模糊地看完了台湾拍的“一寸河山一寸血”的抗战纪录片。

相较我们这个“童稚化趋向”的社会,相较我们经济高速发展,取得世人瞩目的成就的同时,成群的“成年人”还在煞有介事、不知所云地谈论着从“三个代表”到“八荣八耻”再到“和谐”,不知何时我们已经丧失了令人感动的基本特质-真诚。

其实这篇文章是我两年半前写的,一直未下决心发布出来,今天补发,不过为了留下自己存在的证据。要知道,那些曾经感动我们,触动我们,激怒我们,令我们快乐,让我们思考,最终令我们淡然的,就是我们存在的佐证。

2008/1/25

锦瑟

很多年以后,我害怕自己不再记得,那在当时曾使自己沉浸的情绪,是如此真切地与古人一般感同身受。

李商隐《锦瑟》
锦瑟无端五十弦,一弦一柱思华年。
庄生晓梦迷蝴蝶,望帝春心托杜鹃。
沧海月明珠有泪,蓝田日暖玉生烟。
此情可待成追忆,只是当时已惘然。

这是heather的最爱,因此我才仔细的体会到了一种穿越时空、与生俱来的人类情绪。想当初我一度为自己的后代选择了其中一个字,惘。

近来的几件事又让这种情绪翻涌上来。一则是15周年的庆典,加上George文章中的点名,令我伤感地思念我逝去的黄金时代(之一);二则是令人不信任的zz的行为,那是一群什么样的人们啊,似乎没有人对结果负责,嘿嘿。

顺便链一篇文章:

http://zhaowei.cctrblog.net/archives/2005/494.html

2008/1/10

AD中根据树状OU生成递归的组成员

近来有想法整理整理自己的东西,于是逐步将一些原创的东西清理一下,嘿嘿

相信windows的AD系统管理员都遇到过和我一样的问题,企业采用AD架构,树状的分支机构在AD中以树状结构呈现,各分支机构的成员放置在所属机构的OU里面,很想有个简单的方法将每个OU自动产生一个安全组,该OU下的成员也自动成为对应安全组的成员,且应是递归的关系。

可惜的是,该死的ms有通过查询生成的通讯组,就没有通过查询生成的安全组,没办法只好自己动手了。

//AUTO_GROUP_MANAGER_ADPATH为放置安全组的路径
//AUTO_GROUP_MANAGER_STARTADPATH为企业根机构的路径
//OU名称+MEMBER_NAME=安全组的名称

Const AUTO_GROUP_MANAGER_ADPATH="ou=用户组管理,dc=xxx,dc=com,dc=cn"
Const AUTO_GROUP_MANAGER_STARTADPATH="ou=xxx公司,dc=xxx,dc=com,dc=cn"
Const MEMBER_NAME="全体成员"
Const ADS_PROPERTY_CLEAR=1
Const ADS_PROPERTY_UPDATE=2
Const ADS_PROPERTY_APPEND=3
Const ADS_PROPERTY_DELETE=4

Set objAutoGroupContainer = GetObject("LDAP://" & AUTO_GROUP_MANAGER_ADPATH)
    Set con = CreateObject("ADODB.Connection")
    Set com = CreateObject("ADODB.Command")
    con.Provider = "ADsDSOObject"
    con.Open
    Com.ActiveConnection = con

Call FnAutoAddToGroup(AUTO_GROUP_MANAGER_STARTADPATH)

Function FnAutoAddToGroup(vADsPath)
    Set objCurrentOU=GetObject("LDAP://" & vADsPath)
    vCurrentOUName=objCurrentOU.ou

    Com.CommandText = "<LDAP://" & AUTO_GROUP_MANAGER_ADPATH & ">;(&(name=" & vCurrentOUName & MEMBER_NAME & ")(objectClass=group));name;OneLevel"
    Set rs1 = Com.Execute()
    Select Case CStr(rs1.RecordCount)
        Case 0
            Set objGroup = objAutoGroupContainer.Create("Group", "cn=" & vCurrentOUName & MEMBER_NAME)
            Randomize
            vRandomizeNumber=CStr(Round(Rnd*100000000))
            objGroup.Put "sAMAccountName",vRandomizeNumber
            objGroup.SetInfo
        Case 1
            Set objGroup = GetObject("LDAP://cn=" & vCurrentOUName & MEMBER_NAME & "," & AUTO_GROUP_MANAGER_ADPATH)
        Case Else
            WScript.Echo "too more group exist:" & vCurrentOUName
    End Select

    objGroup.PutEx ADS_PROPERTY_CLEAR, "member", array()
    objGroup.SetInfo

    Com.CommandText = "<LDAP://" & vADsPath & ">;" & "(&(objectClass=user)(!(objectClass=computer)));distinguishedName;subTree"
    Set rs2 = Com.Execute()
    Do Until rs2.EOF
        objGroup.Add "LDAP://"&rs2.fields("distinguishedName")
        rs2.MoveNext
    Loop
    Com.CommandText = "<LDAP://" & vADsPath & ">;" & "(objectClass=organizationalUnit);distinguishedName;OneLevel"
    Set rs3 = Com.Execute()
    Do Until rs3.EOF
        Call FnAutoAddToGroup(rs3.fields("distinguishedName"))
        rs3.MoveNext
    Loop
End Function

注:企业人数大于1000的话,要修改MaxPageSize的值,默认是1000(这个问题折磨了我一阵)

http://support.microsoft.com/kb/315071

2007/11/21

困惑于windows的小毛病

整个周末都在折腾我的电脑,起因是发现cdma不能拨号成功,上个月还用过是可以的,真是奇怪。报的错误是

System

-
Provider

[ Name]
RasClient

-
EventID
20227

[ Qualifiers]
0

Level
2

Task
0

Keywords
0x80000000000000

-
TimeCreated

[ SystemTime]
2007-10-26T02:54:57.000Z

EventRecordID
11215

Channel
Application

Computer
ado-T60p

Security

-
EventData


{B3519816-4F0A-461F-ABDB-3B6BD21BAC76}


ado-T60p\ado


HUAWEI.联通默认设置


31

翻查网上的文章,有个别案例和我的完全一样,苦于都没有解决方案。查的过程中又发现新的问题,sfc /scannow不能完成,报错提示:

开始系统扫描的验证阶段。
验证 78% 已完成。
Windows 资源保护无法执行请求的操作

又有个别案例和我的完全一样,又是苦于没有解决方案。检查了CBS.log,发现似乎是因为破解tcpip连接数限制的原因。其后又了解到nt service\trustedinstaller的用处,嘿嘿

恢复tcpip的原始状态后,sfc正常了。

2007/10/23

中文编程?

头一次听说,http://www.cnbeta.com/articles/41572.htm

了解了个大概。呵呵,估计要不了多久,就会有跟风的了。怎么看和中文域名有相似之处呢?

但愿始创者是追随自己的理想,而不是打着中文的旗号,瞄着中国人的口袋。

2007/10/22

【原创】新版linkstation pro(v2)改机注意问题

刚到手一台500G的linkstation pro(在这里感谢一下jacky,没有他的刺激和帮助,我的linkstation还是停留在想象阶段),型号是LS-500GL,系列为LS-GL(IESADA),参考了http://nas-central.org/index.php/FreeLink_for_the_Linkstation_Pro,了解到我的是所谓的NEW (v2) hardware,之后的经历有点波折。

首先,经过翻看nas-central的wiki和论坛后,看到v2的还有不少麻烦,bricked真是个让人恐惧的单词。经过数次反复,得出如下结论:

l rootfs肯定要用freelink的

l kernel、initrd都用stock的不能启动freelink,进入EM

l Initrd用stock的,kernel用freelink的不能启动freelink,进入EM

l 所以只能是使用stock的boot,使用freelink的initrd,kernel,rootfs

记录以下安装步骤:

1、 升级到stock版的ls-gl110_051,这里下载:http://downloads.nas-central.org/LSPro_ARM9/StockFirmware/Stock/ls-gl110_051.zip

2、 下载http://downloads.nas-central.org/LSPro_ARM9/Distributions/Freelink/FreeLink_arm9-1.0rev2.zip,不用使用initrd-only,直接用LSUpdater.exe,右键点击任务栏上的LSUpdater.exe,选择debug,然后仅选择initrd,kernel,rootfs,不要选择boot,开始更新。

3、 经过胆战心惊地刷了freelink后,欣喜地看到我的linkstation启动到debian了。

然后就开始新的磨难:

经过一段时间安装应用后,决定重启linkstation,发现ssh连不上,立刻就傻了,冷静下来发现进入了EM。于是使用http://downloads.nas-central.org/TOOLS/ALL_LS_KB_ARM9/ACP_COMMANDER/acp_commander.jar 打开linkstation的telnet,进入后

mount /dev/sda1 /boot

mount /dev/sda2 /rootfs

发现boot.log显示over max retry. use initrd mode.

从这里http://www.yamasita.jp/linkstation/0608/060811.html得知:

出现下列三种情况之一,进入EM

1、 不存在/etc/hddrootmode

2、 /etc/rootfs_ok连续三次不存在

3、 linkstation_release代表的固件版本过老(不明白)

及参考这里:http://home1.catvmics.ne.jp/~kanemoto/linux/kernel.html

Linuxrc的TestRootfs()

if [ ! -f $ROOTFS_OK ]; then

echo "*** not found $ROOTFS_OK file in rootfs. ***"

echo -n "*" >> $ROOTFS_BOOTING

chars=`cat $ROOTFS_BOOTING|wc -c`

echo "chars=$chars"

## chars=0 means 'write fail'.

if [ "$chars" = 0 ] || [ "$chars" -ge 3 ] ; then

echo "** over max retry. use initrd mode. **"

umount /mnt

return 1;

fi

查看我自己的/etc:

root@LS-GL7D6:/# cd /etc/init.d/

root@LS-GL7D6:/etc/init.d# grep rootfs_ok *

miconapl: ROOTFS_OK=/boot/rootfs_ok

root@LS-GL7D6:/etc/init.d# grep -i rootfs_ok *

miconapl: ROOTFS_OK=/boot/rootfs_ok

miconapl: date > $ROOTFS_OK

判断原因如下:

刚装完freelink时,/etc下有hddrootmode,没有rootfs_ok、rootfs_booting,重启一次后,因为/etc下没有rootfs_ok,所以rootfs_booting加一个*,三次后系统就认为启动失败三次,进入EM。

于是察看miconapl:

hdd()

{

## Use same files as linuxrc

ROOTFS_OK=/boot/rootfs_ok

ROOTFS_BOOTING=/boot/rootfs_booting

INITRDMODE=/boot/initrdmode

## Update the filesystem okay flag

date > $ROOTFS_OK

## delete booting file

rm -f $ROOTFS_BOOTING

rm -f $INITRDMODE

}

修改为:

hdd()

{

## Use same files as linuxrc

ROOTFS_OK=/boot/rootfs_ok

ROOTFS_BOOTING=/boot/rootfs_booting

INITRDMODE=/boot/initrdmode

## Update the filesystem okay flag

date > $ROOTFS_OK

## delete booting file

rm -f $ROOTFS_BOOTING

rm -f $INITRDMODE

##modify by ado for resolve freelink after boot 3 time then into EM

ADO_ROOTFS_OK=/etc/rootfs_ok

ADO_ROOTFS_BOOTING=/etc/rootfs_booting

date > $ADO_ROOTFS_OK

> $ADO_ROOTFS_BOOTING

}

至此freelink在v2版的linkstation pro(所谓的NEW (v2) hardware或changed hardware)安装成功

2006/2/20

Jack, I swear...

刚看完这部“断背山”,迷迷糊糊的,不甚明了,直到看完下面这篇帖子,世界慢慢地变得模糊,然而心绪渐渐出离了浮躁,因了那份执著,一如清澈的蓝天白云下的brokeback mountain...
 
 
2006/2/15

令我肃然起敬的荷兰

橙色的荷兰,为我所知的只有足球、郁金香、风车、色情业,直到前两天看到了国家地理杂志的伟大的工程-荷兰的水利工程,已被荷兰人充沛的创造力、伟大的工程构想、精确的工程建设、巨大的勇气、坚韧的毅力所深深折服,令我重拾身为自然人的自豪,以及敬畏。

[ZT]看惊人的数字:一个可怕的日本邻国

数字日本之一

日本国土面积约37.7万平方公里,其中4/5为山地与丘陵;约为我国国土面积的1/25,人口约1.3亿,约为我国人口的1/10。2002年,日本国民生产总值约为4.8万亿美元,约合40万亿人民币,次于美国的8万亿美元,居世界第二位。人均3万多美元,居世界前列;同年,我国国民生产总值9万亿人民币,约为1.1万亿美元,居世界第六位;人均900美元,居世界较靠后的位置。就是说,平均一个日本人生产的价值,相当于33个中国人。

日本外汇储备世界第一,国民储蓄总额世界第一,是世界第一金融大国和最大的债权国。到上世纪九十年代,日本拥有的美国国债达2000多亿美元,对外的纯资产金额为8910亿美元,是居第二位的德国1818亿美元的4倍多。我国拥有的美国国债约为600多亿美元,对外纯资产金额不详,据推测,或许可以达到日本的1/10。

数字日本之二

世界1996年技术贸易输出额美国最高,为299.7亿美元,日本第二,64.6亿美元,英国第三,为53.5亿美元;日本自行研制的H-2A火箭发射升空而在技术贸易输入额上,日本为98亿美元,居世界第一;且一直处于出超状态,而对亚洲技术贸易的主要对象:韩国696亿日圆,泰国513亿日圆,中国大陆位居第三496亿日圆;可以看出:日本引进科学技术十分积极,同时对中国的技术贸易相当保守,而且基本上保持着至少20年的领先态势。同期,中国技术贸易输出额与输入额很低,均不到10亿美元。中国是日本仅次于美国的第二大经济贸易国;99年两国贸易总额为700亿美元,88年以来,日本对中国的贸易始终处于入超状态,99年达到220亿美元,2000年达到250亿美元。日本是中国的第一大经济贸易伙伴国;日本对中国出口的产品基本上是高技术附加值制成品,如家用电器、汽车、精密仪器等;中国对日本出口的产品则以劳动密集型产品和技术含量较低的初级产品为主。

不论在技术贸易还是在产品贸易上,我国资金规模相对弱小的企业还很难在技术层面上与日本的企业抗衡。至今没能摆脱出口一亿条裤子换一架飞机的状态。鉴于此,一位对华持友好态度的日本朋友曾提出了这样一个建议:加入WTO之后,中国很难用财政补贴的方式扶持出口,但可以以国家财力加大技术贸易的输入,再通过某种方式转让给企业,以此加强出口产品的技术含量和国际竞争力。以我国每年1.8万亿人民币的财政收入,这或许是一个可行的方式。

数字日本之三

谈到日本的高度发达,人们异口同声地说:教育。日本的高度发达得益于完善的教育和由此培育出的高素质国民。

一个举世公认的观点是:教育是一个国家能否建设成为文明社会、能否可持续发展的基础;二十一世纪的国际竞争,实际上是教育战略的竞争,是国民素质的竞争。目前,日本文盲率为零。日本适龄儿童与少年已经达到了100%的小学教育和100%的初中教育,96.8%的初中生入高中学习,将近50%的高中毕业生升入大学学习;受过大学教育的人数占总人口的比例高达48%。

日本有12位诺贝尔奖获得者,其中8位是自然科学方面的。日本已经制订计划:在未来50年中,将此人数提到30名。科技人员总数,按照万人人口和万人劳动力比例两种口径计算:1965年,日本仅相当于美国的1/3,然而,到了1986年,日本就超过了美国,居世界第一,分别为:55.1/万人和102.2/万人;专利申请件数日本为38.9万件,居世界第一;而据“搜狐视线”报道,我国文盲半文盲人数约占全人口的15%以上。该报道提供的数据如下:根据《世界银行发展报告》,92年度我国的教育经费只占政府预算的 2.5%,这一比例到93年、94年更下降到2%以下,在世界151个国家中,名列第149位。全国仍有1/4的县没有普及小学教育,贫困地区、山区、少数民族地区的小学升学率只有30%,中学升学率只有10%。全国平均中学升学率只有44%,也就是说,全国有56%的孩子没有读到中学。全国大学升学率不到2%,92年的统计为1.4%。即使完成国家“教育发展纲要”的计划,仍大大低于世界大学生占人口的平均数:16%,更无法与高收入国家大学生占总人口的42%相提并论。至今,人口十倍于日本的我国,尚与诺贝尔奖无缘。

日本比较教育学者南亮进认为:我国的初级教育相当于日本 1905-1910年的水平,落后85年;中等教育相当于日本1915~1920年的水平,落后75年;高等教育相当于日本1920年的水平,落后70 年;教育经费相当于日本1925年的水平,落后65年。在我国工业职工中,高级技工占2%,中级技工占24%,初级技工占74%,而同期日本的高级技工则占32%,中级技工占43%,初级技工只占25%。在高、中、低级技术职称比例方面,中国大陆是1:7.4:20.3,而世界平均为1:3:6,发达国家为2:4:5。这就可以解释:为什么我国工业产品中,每年残次品造成的损失高达2000亿元人民币了。在这样的技术教育水平之上,我们能成为世界工厂,能抓住成为世界工业中心的历史机遇吗?

近年来,我国将数百亿教育经费投放到少数名牌大学,使基础教育、普通教育、职业教育、技术教育雪上加霜步履维艰,使九年制义务教育几乎形同虚设,使几乎所有城乡民众(除少数富有者之外)都在教育支出的重压下痛苦不堪。可以断言:这也许是中国改革开放二十几年来,最为失败、最将为历史所诟病、也对中华民族的整体社会发展产生最为深远负面影响的一个领域。

数字日本之四

1988年,中日友好条约10周年时,竹下登访问中国,签定日中友好环境保护中心协议,日方出资105亿日圆,1996年5月该中心开始运行;1999 年日本提供160亿日圆无偿援助在中国100个城市建立环境情报计算机网络系统;同年7月,小渊首相访华,倡议设置100亿日圆的小渊基金,进行中国的绿化协作;在1999年一年内,日本对中国的环境保护事业提供的无偿援助与借款总计为1249亿日圆,约合12亿美元,100亿人民币。据童新政博士在《日本高层看中国》一书中介绍:日本的经济是使资源的采掘、消费使用以及废弃物等派生的环境负荷发生在本土之外的经济。日本的森林覆盖率高达67%,为全世界首屈一指;且日本已经完全不对国内森林进行商业性采伐,木材几乎全部依赖进口;日本的矿山几乎已经全部关闭;其陆地矿产资源几乎完全依赖进口。对比之下,我国森林覆盖率为12%,远远落后于22%的世界平均水平,且仍然在进行商业采伐之中,并且居然在对日本大量出口木材与木制品;据说日本人使用的一次性筷子几乎全部来自中国。我国的多种矿产资源则已经或正在遭受疯狂般的掠夺性滥采乱掘。其丧心病狂的程度,在不绝于耳的各种矿难事件中可见一斑。日本雨量丰沛,人均拥有的水资源居世界前列,其大气透明度,水资源的洁净度,土

数字日本之五

日本经济已经持续十年低迷不振了。对此,应该承认,我们在内心深处即便不是幸灾乐祸,也是高兴的。一句没有说出来的话是:活该,小日本!不用我们竞争,你自己垮了才好!我国经济已经连续多年高速发展了。我们真的很兴奋。世界一片萧条,中国一枝独秀,天下满目疮痍,这边风景独好。我们没有理由不兴奋。于是,我们看到了这样的报道:按照这种态势发展,中国将很快成为世界第二大经济实体。中国国际市场竞争力不断提升,超越日本大有希望。等等。然而,《中国改革》杂志的报道却提供了令人震惊的另外一幅图景。该报道称:我国驻日本大使馆经济商务处***先生,经过长时间追踪与核对,提供了与我们的想象大相径庭的关于日本经济的一组数据:尽管你的勇敢精神值得对手尊敬,但比赛靠的是实力在《真实的日本经济》一文中,唐先生写到:到2000年底,日本的海外总资产一举增加了3317亿美元,达到了3.2046万亿美元;而日本制造业在海外的销售额每年都在1万亿美元以上,2000年达到了1.3万多亿美元。仅此一项,就超过了我国当年的全国国民生产总值。据日本总务省的统计,到2000年底,日本国民银行存款总额为7.7万多亿美元,约为我国当年国民储蓄总额的 10倍以上。这里还不包括其它金融资产,不包括保险?

或许有一天,当我们在几位富豪一餐饭吃掉36万元人民币,当我们划出城市中最好的土地为富豪们打造亿元豪宅并不厌其烦地阐述其合理性,当我们在每年成千上万的处级干部、厅级干部、省级干部翻身落马的腐败狂潮中醒来时,我们也许会目瞪口呆地发现:日本又把我们远远地甩到了后面。
2006/2/14

证明题的人生

某种程度上,人生就像是一些证明题,只要有足够的耐心,很多最终都会证明出自己的命题,于是乎命题的立意就显出人生的境界。胡言乱语...
2006/2/6

IT项目启动管理

http://news.csdn.net/news/newstopic/22/22879.shtml

IT项目启动管理

2005.06.28 来自:mypm 缪燕

摘 要:本文从企业信息化建设的角度,从信息化项目建设的现状入手,强调项目选择和立项管理的重要性,详细描述了信息化建设项目启动管理的主要管理控制点,及每个管理控制点的主要措施,分析了作为IT项目的甲方,启动项目的整个管理过程。

关 键 词: 项目启动管理、需求分析、可行性方案论证

过去的几年,一些公司在信息化建设方面的投入巨大,难免有一些急于上马的项目投入与产出并不十分理想。而且由于市场环境的迅速变化,相应的业务模式也在不断的改变,从而给信息化系统的适应性提出了相当高的要求。 过去的有些项目启动时期没有很好地考虑到这些问题,造成一些项目盲目启动、仓促上马,导致项目的投入产出分析不清,项目重复建设,组织混乱,给后期的项目实施,项目维护,项目使用带来极大的风险,甚至导致系统建成后被用户弃用。最终使业务遭受损失。因此,越来越多的公司对于项目上马的决策已经趋于理性,严格要求做好项目启动前的论证工作。在满足当前紧迫的业务需求和长远的战略需求之间作好平衡。确保项目建设的成功。 相对产品供应商而言,企业在项目建设中处于合同意义上的甲方,其项目的启动过程与乙方的项目管理有很大的不同,是一个较为复杂的过程。它往往需要考虑一系列的问题,如:需求是否合理?是否有必要启动项目?项目可能带来的影响是什么?可能的投入有多大?取得的效益有多大?当前的管理模式是否能支撑?如果不能,可能要在哪些方面做好变革的准备?业界相关的产品有哪些?哪些是真正适合需求的? 因此,对项目启动管理形成统一的认知,对于实施信息化项目的企业有着非常重要的意义。 一般来说,项目的启动管理可以划分为以下几个阶段: 一、意向提出阶段 在意向提出阶段,业务部门发现需要由信息化手段来实现的业务需求,并提出建设信息化系统的期望。由于信息化项目的意向伴随着业务发展的全过程,因此,对于意向的统筹管理与规划对企业的信息化部门始终是一个难题。 对于有集中业务规划期间的企业,意向的产生经常集中在业务规划期间,比如:财年末,业务对自身的模式进行盘点期间,往往产生业务模式的改进或改革的需求,从而对信息化工具产生需求。在这一时间产生的想法或需求,往往不是很成熟,不确定性很大,后期变化的风险也很高。但这一时期,也是意向最集中,最易于统筹规划的时期。信息化部门通常在这一时期,对所有的意向进行收集,分类整理,初步形成项目建设清单。并考虑公司战略重点与资源投入的约束,对项目进行排序,以确定建设重点。 对于不在集中规划时期提出的项目意向,往往会影响到原有的整体规划与计划,各方面的论证更应谨慎,比如,项目的必要性、投入的合理性、资源到位的可能性,对已建和在建系统的影响等等。 信息化管理部门(或IT项目管理部门)可以通过建立一些制度与流程,对业务需求的意向进行引导, 尽量使意向在集中规划时期提出。 意向提出作为项目启动的一个阶段来管理,其意义就在于:对意向进行统筹规划,保证系统建设的整体合理性。 二、需求分析阶段 在受理了项目的意向以后,就进入对项目需求的分析阶段。这一阶段需要有IT人员与业务人员组成的小组,对业务需求进行详细的调研与分析。采用的方法主要包括各业务层次人员访谈、会议。 在这一阶段,IT人员与业务人员往往会出现矛盾,IT人员可能认为业务的需求不清晰,而业务认为自己的需求已经十分清晰。解决这个矛盾的关键在于,要有详细的管理控制方法,引导业务人员进行需求的细化。如,制定需求分析报告的框架,针对关键点形成文档等。一般来说,需求分析包括以下内容: 当前业务流程分析未来业务流程分析当前业务与未来业务的差异分析信息化功能点需求对将来系统的非功能需求,如:性能需求,环境需求,安全需求等需求的优先次序 需求分析报告形成以后,还需要组织对需求的评审,以达成项目关系人对需求的一致认可。这一过程可包括:制定评审计划:制定评审的工作计划,确定评审小组成员,准备评审资料。需求预审查:评审小组成员对需求文档进行预审。召开评审会议:召开评审会议,对需求规格书进行评审。调整需求文档:根据评审发现的问题,对需求进行重新分析和调整。重审需求文档:针对评审会议提出的问题,对调整后的需求文档进行重新审查。 三、可行性方案论证阶段 可行性方案的论证是项目启动阶段的关键活动,它的质量直接影响项目的实施效果。论证小组一般由企业内部的业务与IT技术两方面的人员组成,视项目的重要程度、难度与规模,可能还需要企业外部的专业顾问资源。 可行性方案论证的目的是通过确认管理体系和系统技术构架,从而确认未来的管理和技术方案是否有效。它立足于项目从管理上、技术上、实现上的难点进行阐述,逐步理清楚客户的需求。并在需求的基础上,规划总体解决方案,以作为项目投入产出评估的依据、产品选型的依据,以及后续实施方案的约束。 项目投入产出评估的依据:建立在业务需求分析基础上的项目投入与价值分析,往往是比较粗略的宏观感受。业务人员在提出信息化需求时,可能并没有充分考虑它与其它系统之间的关系,这样得出的投入与产出分析也是很粗略的。如果在此基础上,通过设计可行性方案,考虑清楚该项目的定位,与其它系统的关系,相信投入产出的分析将更有说服力。 产品选型的依据:可行性方案的制定是建立在业务需求的基础上,是不受任何产品影响的。因而它是后续产品选型的依据,它使得企业可以在产品选型过程中始终坚持从自身的需求和规划为原则选择产品与方案,而不至于受到供应商解决方案的误导。 实施方案的约束:可行性方案与实施方案是总体设计与详细设计之间的关系。可行性方案描绘了总体的业务方案与技术架构,而实施方案是可行性方案在各方面的细化。 此外,围绕可行性方案从管理上、技术上、实现上对难点进行的阐述,可以有效地开展项目的风险分析,制定项目的风险管理策略,为项目的成功提供保障。 四、产品选型阶段 当可行性方案需要通过选择新的产品来完成时,进入项目启动管理的产品选型阶段。在该阶段,对供应商进行初步的筛选以后,根据需求与方案要求,制定招标文档,接收供应商的项目解决方案,并根据评估标准,组织相关人员对供应商进行评估,选出2个以上的供应商进入商务谈判。并在立项报告审批通过以后,与供应商签署合同。该阶段又可细分为以下几个步骤: 创建RFP:根据需求阶段与可行性方案阶段分析的结果,制定向供应商招标的文档。 解决方案评估:制定产品选型评估的标准是该活动的核心,它包括:应用软件评估:对产品本身的功能、性能、体系架构、用户友好性、市场评价、费用等方面进行考察; 软件运行环境评估:对系统运行所需要的服务器、客户机的软硬件配置进行评估。这是很容易被忽略的一部分,又是有可能对后续实施投入影响最大的一部分,尤其是在客户端数量大,环境复杂的情况下。 项目实施评估:在信息系统的建设中,项目实施方法与能力已经成为项目成败的重要环节,因此对服务商实施能力的评估显得尤为重要。评估内容主要包括:实施方法、实施费用、实施周期、实施顾问经验以及对相似实施案例的考察。 培训与售后服务评估:包括考察培训方式、费用、售后服务方式、费用、响应时间等。 供应商评价评估:对供应商的基本面进行评估,如供应商的规模、业绩、合同语言和仲裁地、与客户的合作策略等方面。 效益风险评估:即项目的投入与产出的评估。这是最难评估的一项,当前在信息化项目中尚没有形成较完备的投入产出的量化评估指标,多是采用一些定性的分析与比较。 商务谈判 关于商务谈判的组织与技巧,有许多专门的论述。从信息化项目管理角度上具体来看,商务谈判是在一定的策略指导下,与产品及服务实施商进行的,确定合同条款的过程,目的是最大化的维护公司利益,确定最优的价格和服务条款。 商务谈判的依据是评估通过的解决方案,其过程通常包括:组织谈判小组、制定谈判方案、实施谈判、签署合同。值得注意的是,商务谈判与后续的立项报告审批并没有严格的先后关系,是可以同时进行的。但合同签署必须在立项报告审批完成后才可进行。 五、立项报告审批阶段 立项报告是项目启动阶段的重要文档,在这一阶段,需要将从意向提出、需求分析,到可行性方案论证,到产品选型各阶段产生的重要内容整理形成文档,并任命项目经理、建立项目组织机构,申请项目经费,然后按公司的管理流程,交相关的部门会签,成为确认项目合法性的文件。后序的所有项目活动都要以立项报告为依据。 六、项目启动会阶段 有时候,项目启动会被看作一个时间点,一个里程碑,而不是一个阶段。这里将立项批准后,项目启动准备到项目启动会结束这一过程统称为项目启动会阶段。 项目启动的准备工作比较繁琐,具体事宜取决于项目所在的管理环境的要求。在项目启动准备期,可以准备一个项目启动检查清单,以确保项目启动工作的有序,避免疏漏。一般说来,启动会准备工作包括:建立项目管理制度、整理启动会资料等。其中建立项目管理制度是非常关键而且容易忽略的一项工作,主要包括: 项目考核管理制度项目费用管理制度项目例会管理制度项目通报制度项目计划管理制度:明确各级项目计划的制定、检查流程,如:整体计划、阶段计划、周计划项目文件管理流程:明确各种文件名称的管理和文件的标准模版,如:汇报模板、例会模板日志、问题列表等。 项目启动的准备工作完成后,就可以召开项目启动会议了。启动会议是项目开工的正式宣告,参加人应该包括项目组织机构中的关键角色,如管理层领导、项目经理、供应商代表、客户代表、项目监理、技术人员代表等。项目启动会的任务包括: 阐述项目背景、价值、目标项目交付物介绍项目组织机构及主要成员职责介绍项目初步计划与风险分析项目管理制度项目将要使用的工作方式 从这些我们可以看出,实际上,项目启动会已经涉及到了项目计划阶段的初期内容,这也映证了在PMBOK体系中启动阶段与计划阶段的重迭。 结论:综合上述,我们可以看到,在信息化项目建设中,企业的项目启动阶段要经过意向提出、需求分析、可行性方案论证、产品选型、立项报告审批、项目启动会一系列管理活动的控制,方可完成项目的启动,进入项目实施阶段。做好项目启动管理是企业进行合理的投入产出分析,有效控制项目风险,确保项目成功的关键。

几本linux的书

Redhat Linux技术大全
Unix Unbounded:A Benining Approach V4-Amir Afzal
深入Linux构建与管理-杨文志

The table of equivalents / replacements / analogs of Windows software in Linux


The table of equivalents / replacements / analogs of Windows software in Linux.
Last update: 16.07.2003, 31.01.2005, 27.05.2005

You can always find the last version of this table on the official site:
http://www.linuxrsp.ru/win-lin-soft/
.

This page on other languages: Russian, Italian, Spanish, French, German.

One of the biggest difficulties in migrating from Windows to Linux is the lack of knowledge about comparable software. Newbies usually search for Linux analogs of Windows software, and advanced Linux-users cannot answer their questions since they often don't know too much about Windows :). This list of Linux equivalents / replacements / analogs of Windows software is based on our own experience and on the information obtained from the visitors of this page (thanks!).

This table is not static since new application names can be added to both left and the right sides. Also, the right column for a particular class of applications may not be filled immediately. In future, we plan to migrate this table to the PHP/MySQL engine, so visitors could add the program themselves, vote for analogs, add comments, etc.

If you want to add a program to the table, send mail to winlintable[a]linuxrsp.ru with the name of the program, the OS, the description (the purpose of the program, etc), and a link to the official site of the program (if you know it). All comments, remarks, corrections, offers and bugreports are welcome - send them to winlintable[a]linuxrsp.ru.

Notes:
1) By default all Linux programs in this table are free as in freedom. (Definitions of Free Software: FSF and Debian). Proprietary software for Linux is marked with the sign [Prop]. Non-free software (open source or relatively free, but have certain restrictive limits) is marked with the sign [NF].
2) If there is nothing in the field of the table, except "???" - the authors of the table do not know what to place there.
3) If the sign (???) stands after the name of the program - the authors of the table are not sure about this program.

The important ideological difference between Windows and Linux:
The majority of the Windows programs are made on principle "all-in-one" (each developer adds everything to his or her product). In the same way, this principle is called the "Windows-way".
The ideology of UNIX/Linux - one component or one program must execute only one task, but execute it well. ("UNIX-way"). The programs under Linux can be thought of as being like the LEGO building blocks. (for instance, if there is a program for spell checking, it can be used with the text editor or email client; or if there is the powerful command-line program for files downloading, it is simple to write the graphic interface (Front-end) for it, etc).
This principle is very important and it is necessary to know it while searching for analogs of Windows-programs in Linux :).

You can read more about it in the book "Linux and the Unix Philosophy". There is a chapter in the book that specifically addresses philosophical differences between Windows and Linux.

Attention! There may be many mistakes and bugs in the table!! (report about the bugs).

For those who interested more in Windows-software:
1) The "Windows" row in this table is not main. That's why it does not contains _absolutely_ all of existing software - only the best and popular programs.
2) Many of the Linux programs can be run on Windows - with CygWin and other Linux emulators.

Places where you can get Linux software:
FreshMeat.net | SourceForge.net - Two biggest portals. You can find everything you want!!
LinuxApps.com | IceWalkers.com | Linux.Tucows.com - I like these catalogs.
Download.com / Linux | LinuxSoftware.org | FileWatcher.org | LinuxArchives.com - other catalogs.
Programs / packages / libraries search systems:  RPMseek.org | Tuxfinder.com | RPMfind.net

Programs and games for Windows, that can be run under Wine/WineX:
1) The official catalog of Windows apps, running under Wine. (from Codeweavers). There are already more than 1000 applications in the database, so the catalog is structured and has a navigation system.
2) The official list of Windows games, that can be run under WineX (fromTransgaming). This is a search form, and this is a full list of games (very big!).

The Sections:
1) Networking.
2) Work with files.
3) Desktop / System software.
4) Multimedia:
  4.1) Audio / CD.
  4.2) Graphics.
  4.3) Video and other.
5) Office/business.
6) Games.
7) Programming and development.
8) Server software.
9) Scientific and special programs.
10) Emulators.
11) Other / Humour :).

 

 

2005/12/23

深圳高交会馆的缺门牙

嘿嘿,刚听说原来深圳高交会馆的缺门牙是当局者基于风水的考虑而故意设置的。
嗯,应了那句“它让我长出愤怒也不会长出伤心失望”
2005/5/19

maximo的群集试验(finished)

  • maximo的群集2003下试验可用,仅在admin server上装maximo & control center,managed server上只装weblogic
  • managed server以independent mode方式启动要使能MSI file replication enable(configuration-tuning)在managed server和admin server之间复制配置文件
  • MSI File Replication Enabled
  • Using Replication Groups
  • 应用发布后managed server要当admin server在线时重启一次服务,方能不再依赖admin server独立启动

如何在 Windows Server 2003 中配置权威时间服务器

比较详尽,嘿嘿

如何在 Windows Server 2003 中配置权威时间服务器

如何在 Windows Server 2003 中配置权威时间服务器
文章 ID : 816042 最后更新日期 : 2004年12月20日 版本 : 3.0
重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明
简介
Windows 包含 W32Time,它是 Kerberos 身份验证协议所需的时间服务工具。Windows 时间服务的目的是确保组织中运行 Microsoft Windows 2000 或更高版本的所有计算机都使用同一个时间。

为确保合理地使用公共时间,Windows 时间服务使用层级关系来控制授权,并且不允许出现循环。默认情况下,基于 Windows 的计算机使用下面的层级: • 所有客户端桌面计算机都提名身份验证域控制器作为其入站时间伙伴。 • 所有成员服务器都遵循与客户端桌面计算机相同的过程。 • 域中的所有域控制器都提名主要域控制器 (PDC) 操作主机作为其入站时间伙伴。 • 所有 PDC 操作主机都遵循域的层级来选择其入站时间伙伴。在此层级中,位于林根的 PDC 操作主机成为组织的权威时间服务器。我们极力建议您将权威时间服务器配置为从硬件源收集时间。当您将权威时间服务器配置为与 Internet 时间源同步时,不会有任何身份验证。我们还建议您降低服务器和独立客户端的时间校准设置。这些建议可以为您的域提供更准确的时间和更高的安全性。
返回页首
配置 Windows 时间服务以使用内部硬件时钟警告:注册表编辑器使用不当可能导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。

要想将 PDC 主机配置为不使用外部时间源,请更改 PDC 主机上的公告标志。PDC 主机是存放域的林根 PDC 主机角色的服务器。这种配置会强制 PDC 主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体 (CMOS) 时钟。要将 PDC 主机配置为使用内部硬件时钟,请按照下列步骤操作: 1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。 2. 找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
3. 在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。 4. 在“编辑 DWORD 值”的“数值数据”框中键入 A,然后单击“确定”。 5. 退出注册表编辑器。 6. 在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter 键:
net stop w32time && net start w32time
注意:决不能将 PDC 主机配置为与它自身同步。如果 PDC 主机配置为与它自身同步,应用程序日志中将记录以下事件:

时间提供程序 NtpClient 不能访问,或当前正在从 192.168.1.1 (ntp.m|0x0|192.168.1.1:123->192.168.1.1:123) 接收无效的时间数据。



在尝试联系它 8 次以后,没有收到来自手动对等端 192.168.1.1 的响应。此对等端将不再被作为时间源,同时 NtpClient 将尝试发现一个新的对等端以与其同步。



时间提供程序 NtpClient 被配置为从一个或多个时间源获得时间,但是当前这些源没有一个是可以访问的。在 960 分钟内,不会进行联系时间源的尝试。NtpClient 没有一个能够提供准确时间的时间源。



如果 PDC 主机在没有使用外部时间源的情况下运行,应用程序日志中会记录以下事件:

时间提供程序 NtpClient:此机器配置为用域层级确定它的时间源,但它已经是林的根目录域的 PDC 模拟器,因此在域层级没有机器在它上面以用作时间源。建议您在根域上配置一个可靠的时间服务,或者手动配置 PDC 与外部时间源同步。否则,此机器将作为域层级中的权威时间源。如果没有为此计算机配置或使用外部时间源,您可以选择禁用 NtpClient。



这段文本是为了提醒您使用外部时间源;您可以忽略它。

返回页首

配置 Windows 时间服务以使用外部时间源要将内部时间服务器配置为与外部时间源同步,请按照下列步骤操作: 1. 将服务器类型更改为 NTP。为此,请按照下列步骤操作: a. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。 b. 找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
c. 在右窗格中,右键单击“Type”,然后单击“修改”。 d. 在“编辑值”的“数值数据”框中键入 NTP,然后单击“确定”。 2. 将 AnnounceFlags 设置为 5。为此,请按照下列步骤操作: a. 找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
b. 在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。 c. 在“编辑 DWORD 值”的“数值数据”框中键入 5,然后单击“确定”。 3. 启用 NTPServer。为此,请按照下列步骤操作: a. 找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\Enabled
b. 在右窗格中,右键单击“Enabled”,然后单击“修改”。 c. 在“编辑 DWORD 值”的“数值数据”框中键入 1,然后单击“确定”。 4. 指定时间源。为此,请按照下列步骤操作: a. 找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer
b. 在右窗格中,右键单击“NtpServer”,然后单击“修改”。 c. 在“编辑值”的“数值数据”框中键入 Peers,然后单击“确定”。

注意:Peers 是一个占位符,应替换为您的计算机从中获取时间戳的对等端列表(以空格分隔)。列出的每个 DNS 名称都必须是唯一的。必须在每个 DNS 名称后面附加 ,0x1。如果不在每个 DNS 名称后面附加 ,0x1,则在第 5 步中所做的更改将不会生效。 5. 选择轮询间隔。为此,请按照下列步骤操作: a. 找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval
b. 在右窗格中,右键单击“SpecialPollInterval”,然后单击“修改”。 c. 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

注意:TimeInSeconds 是一个占位符,应替换为您希望各次轮询所间隔的秒数。建议值为 900(十进制)。该值将时间服务器配置为每隔 15 分钟轮询一次。 6. 配置时间校准设置。为此,请按照下列步骤操作: a. 找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection
b. 在右窗格中,右键单击“MaxPosPhaseCorrection”,然后单击“修改”。 c. 在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。 d. 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

注意:TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您选择的值将因轮询间隔、网络状况和外部时间源而异。 e. 找到并单击下面的注册表子项:“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection ” f. 在右窗格中,右键单击“MaxNegPhaseCorrection”,然后单击“修改”。 g. 在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。 h. 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

注意:TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您选择的值将因轮询间隔、网络状况和外部时间源而异。 7. 退出注册表编辑器。 8. 在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter 键:
net stop w32time && net start w32time

疑难解答要使 Windows 时间服务能够正常运行,网络基础结构必须正常运行。影响 Windows 时间服务的最常见问题包括以下这些: • TCP/IP 连接存在问题,如出现死网关。 • 名称解析服务未正确运行。 • 网络出现高延迟,尤其是在通过高延迟的广域网 (WAN) 链接进行同步时。 • Windows 时间服务尝试与不准确的时间源同步。建议您使用 Netdiag.exe 实用工具解决与网络有关的问题。Netdiag.exe 是 Windows Server 2003 支持工具程序包的一部分。请参阅工具的“帮助”,获取您可以与 Netdiag.exe 一起使用的命令行参数的完整列表。如果问题仍未得到解决,您可以打开 Windows 时间服务调试日志。由于调试日志可能包含非常详细的信息,建议您在打开 Windows 时间服务调试日志后与 Microsoft 产品支持服务联系。

有关 Microsoft 产品支持服务电话号码和支持费用信息的完整列表,请访问下面的 Microsoft 网站: 注意:特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新能够解决您的问题,可免收通常情况下收取的电话支持服务费用。对于特定更新无法解决的其他支持问题和事项,将照常收取支持费用。

返回页首
更多信息
可靠的时间源配置

被配置为可靠时间源的计算机会被标识为 Windows 时间服务的根。Windows 时间服务的根是域的权威服务器,通常被配置为从外部 NTP 服务器或硬件设备检索时间。您可以将一台时间服务器配置为可靠的时间源,以优化在整个域层级中传输时间的方式。如果将某个域控制器配置为可靠的时间源,Net Logon 服务将在该域控制器登录到网络时将其宣布为可靠的时间源。当其他域控制器查找要与之同步的时间源时,它们将首先选择可靠的时间源(如果有)。

返回页首

手动指定的同步

在使用手动指定的同步时,您可以指定计算机从中获得时间的单个对等端或一个对等端列表。如果计算机不是域的成员,必须手动将其配置为与指定的时间源同步。默认情况下,属于域成员的计算机会被配置为从域层级同步。手动指定的同步对域的林根或未加入域的计算机非常有用。当您手动指定外部 NTP 服务器与域的权威计算机同步时,您就提供了可靠的时间。但是,为了向域提供高准确性和安全性,建议您将域的权威计算机配置为与硬件时钟同步。

如果没有硬件时间源,W32time 会被配置为 NTP 类型。您必须重新配置 MaxPosPhaseCorrection 和 MaxNegPhaseCorrection 这两个注册表项。根据时间源、网络状况和安全要求的不同,建议将该值设置为 15 分钟或更低。该要求也适用于被配置为时间同步子网中的林根时间源的任何可靠的时间源。有关这两个注册表项的更多信息,请参阅本文中的“Windows 时间服务注册表项”一节。

注意:除非为手动指定的时间源编写特定的时间提供程序,否则它们不会经过身份验证,因此这些时间源很容易受到攻击。另外,如果计算机与手动指定的时间源同步,而不是与它的身份验证域控制器同步,则这两台计算机可能不同步。这种情况会导致 Kerberos 身份验证失败,还会导致其他需要网络身份验证的操作(如打印或文件共享)失败。只要将林根配置为与一个外部源同步,则林中的所有其他计算机就会彼此同步。这种配置会使得重播攻击很难发生。

返回页首

所有可用的同步机制

“所有可用的同步机制”选项是最适合网络用户的同步方法。这种方法可实现与域层级的同步,并且根据具体的配置,它还可以在域层级不可用时提供备用的时间源。如果客户端无法与域层级同步时间,时间源将自动故障切换为“NtpServer”设置指定的时间源。这种同步方法最有可能为客户端提供准确的时间。

返回页首

Windows 时间服务注册表项

以下注册表项位于 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\ 下:

注册表项 MaxPosPhaseCorrection 路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config 注意: 该项指定服务可进行的最大正时间校准量(以秒为单位)。如果服务确定某个更改幅度大于所需的幅度,它将记录一个事件。(0xFFFFFFFF 是一个特殊情况,它表示总是校准时间。)域成员的默认值是 0xFFFFFFFF。独立客户端和服务器的默认值是 54,000,即 15 小时。 注册表项 MaxNegPhaseCorrection 路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config 注意: 该项指定服务可进行的最大负时间校准量(以秒为单位)。如果服务确定某个更改幅度大于所需的幅度,它将转而记录一个事件。(-1 是一个特殊情况,它表示总是校准时间。)域成员的默认值是 0xFFFFFFFF。独立客户端和服务器的默认值是 54,000,即 15 小时。 注册表项 MaxPollInterval 路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config 注意: 该项指定系统轮询间隔所允许的最大间隔(单位是对数表示的秒)。尽管系统必须根据预定的间隔进行轮询,但是提供程序可以根据请求拒绝生成示例。域成员的默认值是 10。独立客户端和服务器的默认值是 15。 注册表项 SpecialPollInterval 路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient 注意: 该项指定手动对等端的特殊轮询间隔(以秒为单位)。当启用 SpecialInterval 0x1 标志时,W32Time 将使用此轮询间隔而非操作系统确定的轮询间隔。域成员的默认值是 3,600。独立客户端和服务器的默认值是 604,800。 注册表项 MaxAllowedPhaseOffset 路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config 注意: 该项指定 W32Time 尝试使用时钟速率调整计算机时钟的最大偏移量(以秒为单位)。当偏移量大于该速率时,W32Time 将直接设置计算机时钟。域成员的默认值是 300。独立客户端和服务器的默认值是 1。

返回页首
参考

有关 Windows 时间服务的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
816043 如何打开 Windows 时间服务中的调试日志
884776 配置 Windows 时间服务以防出现大的时间偏移
321708 如何使用 Windows 2000 中的网络诊断工具 (Netdiag.exe)
314054 如何在 Windows XP 中配置权威时间服务器
216734 如何在 Windows 2000 中配置权威时间服务器

有关基于 Windows Server 2003 的林中的 Windows 时间服务的其他信息,请访问下面的 Microsoft 网站:
http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/techref/en-us/Default.asp?url=/Resources/Documentation/windowsserv/2003/all/techref/en-us/W2K3TR_times_intro.asp

返回页首
这篇文章中的信息适用于: • Microsoft Windows Server 2003 Datacenter Edition • Microsoft Windows Server 2003 Enterprise Edition • Microsoft Windows Server 2003 Standard Edition • Microsoft Windows Server 2003 Web Edition • Microsoft Windows Server 2003, Datacenter Edition for Itanium-based Systems • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
关键字:  kbsecurity kbhowto KB816042
2005/5/18

maximo的群集实验记录

前几天走了一些弯路,现在记录一些心得,嘿嘿

  • maximo application & control center可以安装并运行在2003下。
  • maximo的群集实际是通过weblogic的群集来实现的,不需要通过mscs来实现。换句话说,不用仲裁资源,不需双网卡作心跳线。
  • 分别安装weblogic,在weblogic的域管理服务器上安装数据库客户端与maximo应用服务器
  • 以standalone方式部署应用服务器测试通过(2000&2003);以Admin Server with Clustered Managed Server方式部署,从命令行及服务方式启动weblogic服务,2000下成功实现应用(maximohelp&maximo)群集;从命令行启动weblogic服务,2003下cluster第一次启动成功,重启weblogic的域管理服务器后服务出现问题;
  • 两台机作集群,一台(A)作admin server & managed server(不同端口);另一台(B)managed server,A将managed server安装为服务方式,admin server从命令行启动,负责域设置及发布应用,B安装为服务方式。
  • 安装weblogic成为windows服务:
  • Create a Server-Specific Script
  • Set Additional Values for Managed Servers
  • Require Managed Servers to Start After Administration Servers
  • Enable Graceful Shutdowns from the Control Panel
  • Redirecting Standard Out and Standard Error to a File
  • set JAVA_OPTIONS=-Dweblogic.Stdout="d:\bea\user_projects\myWLSdomain\stdout.txt" -Dweblogic.Stderr="d:\bea\user_projects\myWLSdomain\stderr.txt"
  • 在installsvc.cmd文件中最后beasvc一行的最后加上-log:"your_log_file_name"
  • 在domain目录中测试服务:beasvc -debug "your_service_name"
  • The Windows SCM cannot be configured to use a Node Manager to start Managed Servers, and therefore the Node Manager's monitoring and automatic restart features cannot be used for servers that run as a Windows service
  • Using Replication Groups
2005/5/10

oracle的internal口令

from:ORACLE技术中国用户讨论组

如何修改internal的口令?

转自oracle技术网   阿木伯 著
========================================
软件环境: 
1、Windows NT4.0+ORACLE 8.0.4
2、ORACLE安装路径为:C:\ORANT
 
实现方法: 
用法:orapwd file= password= entries=
 
参数解释:
    file - name of password file (mand),
    password - password for SYS and INTERNAL (mand),
    entries - maximum number of distinct DBA and OPERs (opt),
    There are no spaces around the equal-to (=) character.
 
1、进入DOS下
 
2、默认internal密码文件在c:\orant\database下,是隐藏属性,文件名称与数据库实例名有关
 
  如默认ORACLE实例名为ORCL,则internal密码文件名为pwdorcl.ora
 
3、建立新的internal密码文件,起个新名字为pwdora8.ora
 
  orapwd80 file=pwdora8.ora password=B entries=5     --注:password项一定要用大写,并且不要用单引号
 
4、拷贝pwdora8.ora文件到c:\orant\database目录下
 
5、运行regedit,修改口令文件指向
 
6、找到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE项
 
  定位ORA_ORCL_PWFILE子项,改变其值为c:\orant\database\pwdora8.ora
 
7、关闭ORACLE数据库,重新启动
 
8、进入svrmgr30服务程序,测试internal密码是否更改成功


9i没有internal用户,要修改sys用户的密码,请用其它方式登录到sysdba状态,然后用alter user sys identified by manager的方法修改密码。如果没有其它sysdba的用户,请在sqlnet.ora中加上SQLNET.AUTHENTICATION_SERVICES= (NTS),然后在sqlplus中conn / as sysdba

关于Internal用户及其口令管理

转自聚贤庄 作者:gototop
================================
对于很多Oracle初学者来说Internal用户及其口令管理会给他们带来很多迷惑及困难,本文将详细讨论相
关概念,并解决相关问题。如有问题可以通过gototop@vip.sina.com和我联系。
1、关于Internal用户
Internal的意思为本地管理员,可以完成数据库的启动、关闭、修改以及其他DBA事务。
在Oracle 7及其前版本中,Internal只能在本地登录(这也是叫作本地管理员的起源),也无须口令;
到Oracle 8时,Internal用户允许远程登录,并开始淘汰Internal概念,伴随Internal用户的另一个概念
Svrmgrl(之前版本具有最高管理权限的工具)也开始淡化,取而代之的是sys用户,其系统角色包括Normal、
Sysdba、Sysoper(只能启动、关闭数据库,不能修改数据库),此时Internal用户相当于sys as sysdba。
到Oracle 9i时,正式淘汰Internal和Svrmgrl,取而代之的是sys和sqlplus,DBA可以在sqlplus中完成所
有事务,至此sys加sqlplus经历一番过渡正式一统天下。
2、Internal的口令管理
Internal可以通过以下两种方式来验证身份:
1)操作系统验证
即不需要口令,由操作系统来验证身份的合法性,这是默认的方式,设置方法如下:
a.编辑sqlnet.ora确定
SQLNET.AUTHENTICATION_SERVICES= (NTS)
b.在OS中添加DBA组(win中为ORA_DBA组),把相应OS用户添加到这个组中。
这样相应的OS用户本地连接时就不需要口令了。
2)口令文件验证
设置方法如下:
a.remote_login_passwordfile = exclusive/shared
b.在本地取消DBA组中所有用户
c.创建口令文件
orapwd file=orapwd.ora password=gototop entries=9
d.使口令文件生效
export ORA_<SID>_PWFILE=/oracle/oradata/orapwd.ora
(win中可以通过在注册表中添加健值来设置)
如果你的口令文件按照oracle的规范来写,就不需要设置这一步了,具体规范是:
在unix中以orapw<sid>.ora来命名,并放在$ORACLE_HOME/dbs目录下;
在win中以PWD<sid>.ora来命名,并放在$ORACLE_HOME/database目录下;
3、Internal口令的修改
这个问题在很多oracle论坛中经常被问道,其实很简单,使用orapwd重建一次password file,做法和上面
相同,值得注意的是需要重起数据库,并修改sys的口令,如果除了internal和sys外,还有其它用户具有
sysdba权限,则需要重新授权。

san的现存问题

5.10 10:50光纤交换机sw3252又一次重启,同时导致阵列盘丢失,看来这是主要原因。

sw3252的日志显示的时间似乎是格林威治时间,有8个小时的时差

sw3252设置多个zone

还有就是backup服务器可以看到并未分配给它的一个磁盘,但状态是“不可读取”,需解决。

*:dell的supporter称服务器上仅装一块hab卡的话不需要装power path

2005/5/9

win2003下maximo应用服务器的群集试验记录

  1. 安装两台windows2003企业版,分别maximoA、maximoB,双网卡配置,无共享磁盘。
  2. 分别在两台服务器上安装weblogic7sp2*
  3. 分别在两台服务器上安装oracle client
  4. 分别在两台服务器上以兼容2000模式安装maximo control center,maximo application software(此时应该maximo control center可以用了)
  5. 使用群集管理器新建群集节点,修改仲裁资源为多数节点集。
  6. Setting up WebLogic Clusters(不献丑了,嘿嘿)

*:WebLogic Server clusters bring scalability and high-availability to J2EE applications in a way that is transparent to application developers. The benefit of scalability is that it expands the capacity of the middle tier beyond that of a single instance of WebLogic Server or a single computer. The only limitation on cluster membership is that all WebLogic Server instances must be able to communicate by IP multicast. New WebLogic Servers can be added to a cluster dynamically to increase capacity.

**:The Administration Server should not participate in a cluster. The Administration Server should be dedicated to the process of administering servers: maintaining configuration data, starting and shutting down servers, and deploying and undeploying applications. If the Administration Server also handles client requests, there is a risk of delays in accomplishing administration tasks.There is no benefit in clustering an Administration Server; the administrative objects are not clusterable, and will not failover to another cluster member if the administrative server fails. Deploying applications on an Administration Server can reduce the stability of the server and the administrative functions it provides. If an application you deploy on the Administration Server behaves unexpectedly, it could interrupt operation of the Administration Server.For these reasons, make sure that the Administration Server's IP address is not included in the cluster-wide DNS name.

项目中存在的问题

5.1长假过去了,项目中还存在的几个问题

  1. Oracle打了9.2.0.3的patch后还未应用catpatch.sql迁移字典到新版本。
  2. 需要调整Oracle的初始文件到阵列盘。在阵列盘中增加init文件,指向阵列盘中的spfile文件。在Oracle fail safe manager中修改数据库的参数指向阵列盘中的init文件。
  3. Oracle的控制文件等应分别放置不同的位置,以起到容错的作用。
  4. san的光纤交换机sw3252,5.1又无故重启了。
  5. 应用服务器设置成集群:用win2000的话还差两张hba卡;用win2003的话要考虑maximo的兼容性。
  6. Configure application data and log files on the shared cluster disks.
  7. Configure alert and trace files on either the shared cluster disks or on the private disk.

    Configuring alert and trace files on private disks allows the administrator to determine on which node problems occur, but requires that you maintain multiple sets of files. Placing parameter files on private disks is recommended only when you want the parameters to be different on each cluster node. For example, this can be useful if you want a database to use fewer resources on its failover node than on its primary node (such as when you know another application or databases on the failover node needs resources).

2005/5/8

修改SID

  1. 数据库不能在打开时修改id,关闭数据库并启动到mount状态
  2. nid及参数
    DBNEWID: Release 9.2.0.1.0 - Production
    Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

    Keyword     Description                    (Default)
    ----------------------------------------------------
    TARGET      Username/Password              (NONE)
    DBNAME      New database name              (NONE)
    LOGFILE     Output Log                     (NONE)
    REVERT      Revert failed change           NO
    SETNAME     Set a new database name only   NO
    APPEND      Append to output log           NO
    HELP        Displays these messages        NO
  3. 修改init.ora,tnsnames.ora,listener.ora文件
  4. 新创建口令文件,然后用resetlogs选项打开数据库
  5. 修改完毕之后,要重新冷备数据库
2005/4/28

spfile的使用

引自《9i新特点:SPFILE的使用》 (eygle大作,ITPub 电子杂志第四期)

在Oracle9i 中,一个新的文件被引入-spfile,spfile 用于服务器端,管理初始化参数。
在9i 以前,Oracle 使用pfile 存储初始化参数设置,这些参数在实例启动时被读取,任何修改
需要重起实例才能生效;使用spfile 你可以使用ALTER SYSTEM 或者ALTER SESSION 来动
态修改那些可动态修改的参数,所有更改可以立即生效,你可以选择使更改只应用于当前实例还
是同时应用到spfile。这就使得所有对spfile 的修改都可以在命令行完成,我们可以彻底告别手
工修改初始化参数文件,这就大大减少了人为错误的发生。
SPFILE 是一个二进制文件,可以使用RMAN 进行备份,这样实际上Oracle 把参数文件也纳入
了备份恢复管理。
除了第一次启动数据库需要PFILE(然后可以根据PFILE 创建SPFILE),我们可以不再需要
PFILE,ORACLE 强烈推荐使用spfile,应用其新特性来存储和维护初始化参数设置。

一. 创建SPFILE
缺省的,ORACLE 使用PFILE 启动数据库,SPFILE 必须由PFILE 创建,新创建的SPFILE 在
下一次启动数据库时生效,CREATE SPFILE 需要SYSDBA 或者SYSOPER 的权限:
语法如下:
CREATE SPFILE[=’SPFILE-NAME’] FROM PFILE[=’PFILE-NAME’]
例:
SQL> create spfile from pfile;
缺省的,spfile 创建到系统缺省目录
(Unix: $ORACLE_HOME/dbs; NT: $ORACLE_HOME\database)

二. 使用SPFILE
重新启动数据库,使用startup 命令,Oralce 将会按照以下顺序在缺省目录中搜索参数文
件:
a. spfile${ORACLE_SID}.ora
缺省目录 UNIX: ${ORACLE_HOME}/dbs/
NT: ${ORACLE_HOME}\database
b. spfile.ora
缺省目录 UNIX: ${ORACLE_HOME}/dbs/
NT: ${ORACLE_HOME}\database
c. init${ORACLESID}.ora
缺省目录 UNIX: ${ORACLE_HOME}/dbs/
NT: ${ORACLE_HOME}\database or
${ORACLE_HOME}\admin\db_name\pfile\
创建了spfile,重新启动数据库,Oracle 会按顺序搜索以上目录,spfile 就会自动生效。

三. 使用pfile/spfile 启动数据库
如果你想使用pfile 启动数据库,你可以在启动时指定pfile 或者删除spfile.
SQL> startup pfile='E:\Oracle\admin\eyglen\pfile\init.ora';
你不能以同样的方式指定spfile,但是可以创建一个包含spfile 参数的pfile 文件,指向spfile.
SPFILE 是一个自Oracle9i 引入的初始化参数,类似于IFILE 参数。 SPFILE 参数用于定义非
缺省路径的spfile 文件。
你可以在PFILE 链接到SPFILE 文件,同时在PFILE 中定义其他参数,如果参数重复设置,后
读取的参数将取代先前的设置。

四. 修改参数
可以通过ALTER SYSTEM 或者导入导出来更改SPFILE 的内容。
ALTER SYSTEM 增加了一个新选项:SCOPE。SCOPE 参数有三个可选值:MEMORY 、
SPFILE 、BOTH。
MEMORY:只改变当前实例运行
SPFILE:只改变SPFILE 的设置
BOTH:改变实例及SPFILE

五. 是否使用了spfile
判断是否使用了SPFILE,可以使用以下方法:
1.查询v$parameter 动态视图,如果以下查询返回空值,那么你在使用pfile.
SQL> SELECT name,value FROM v$parameter WHERE name='spfile';
NAME VALUE
------------ ---------------------------------
spfile %ORACLE_HOME%\DATABASE\SPFILE%ORACLE_SID%.ORA
2.或者你可以使用SHOW 命令来显示参数设置,如果以下结果value 列返回空值,那么说
明你在使用pfile:
SQL> SHOW PARAMETER spfile
NAME TYPE VALUE
------------------------- ------ ---------------
spfile string %ORACLE_HOME%\DATABASE\SPFILE%ORACLE_SID%.ORA
3.查询v$spparameter 视图
如果以下查询返回0 值,表示你在使用pfile,否则表明你使用的是spfile:
SQL> SELECT COUNT(*) FROM v$spparameter WHERE value IS NOT NULL;
COUNT(*)
----------
32
或者使用以下查询,如果true 值返回非0 值,那么说明我们使用的是spfile.
SQL> SELECT isspecified, COUNT (*) FROM v$spparameter
2 GROUP BY isspecified;
ISSPECIFIED COUNT(*)
------------ ----------
FALSE 226

TRUE 33
更为直接的:
SQL> select decode(count(*), 1, 'spfile', 'pfile' ) USED
2 from v$spparameter
3 where rownum=1 and isspecified='TRUE'
4 /
USED
------------
spfile

六. 导出SPFILE 文件
SPFILE 文件可以导出为文本文件,使用导出、创建过程你可以向SPFILE 中添加参数。
SQL> create pfile='e:\initeyglen.ora' from spfile;
文件已创建。

七. 关于920 的PFILE
在$ORACLE_BASE\admin\db_name\spfile 下,你很可能可以看到一个类似这样
[init.ora.192003215317]名字的文件,这就是初始化参数文件,只是跟上了时间戳。
对于Oracle920,缺省的就使用spfile 启动,但是这个spfile 不是凭空而来,而是根据这个文件
创建而来,你可以去掉这个长后缀,就是标准的pfile 文件了。
如果你想要使用pfile 启动数据库, 那么你可以把spfile 改名, NT 缺省位于
$ORACLE_HOME\database 下,这样Oracle 就不会使用这个spfile 了 。
你使用create pfile from spfile 命令创建的pfile,也应该在这个目录下
以下是一个完整的例子:
E:\Oracle\Ora9ir2\database>dir *.ora
驱动器 E 中的卷是 Doc
卷的序列号是 980C-8EFF
E:\Oracle\Ora9iR2\database 的目录
2003-02-26 10:49 1,028 INITeyglen.ORA
2003-02-10 14:35 2,048 PWDeyglen.ORA
2003-02-26 11:05 3,584 SPFILEEYGLEN.ORA
3 个文件 6,660 字节
0 个目录 937,455,616 可用字节
E:\Oracle\Ora9iR2\database> SQLPLUS /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 2 月 26 11:16:29 2003
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> CONNECT / as sysdba
已连接到空闲例程。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes

Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> SHOW parameter spfile
NAME TYPE VALUE
-------------------- ------- ----------
spfile string %ORACLE_HOME%\DATABASE\SPFILE%ORACLE_SID%.ORA
SQL> SHUTDOWN immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host rename SPFILEEYGLEN.ORA SPFILEEYGLEN.ORA.bak
SQL> host dir *.ora
驱动器 E 中的卷是 Doc
卷的序列号是 980C-8EFF
E:\Oracle\Ora9iR2\database 的目录
2003-02-26 10:49 1,028 INITeyglen.ORA
2003-02-10 14:35 2,048 PWDeyglen.ORA
2 个文件 3,076 字节
0 个目录 937,435,136 可用字节
SQL> STARTUP
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> SHOW parameter spfile
NAME TYPE VALUE
------------------------------------ ---------- ----------
spfile string

SQL>
SQL> host rename SPFILEEYGLEN.ORA.bak SPFILEEYGLEN.ORA
SQL> SHUTDOWN immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> SHOW parameter spfile
NAME TYPE VALUE
--------------------- ------ --------------
spfile string %ORACLE_HOME%\DATABASE\SPFILE%ORACLE_SID%.ORA
SQL>

2005/4/22

关于回滚段的好文章

ORACLE技术专题 -- 回滚段
========================
(by oldwain, 2001.01.17)

(所有的程序语句都用__来表示空格, 以便阅读)

本专题分为以下几个部分:
* 回滚段的作用
* 回滚段的类型
* 回滚段的数量、大小及存储参数
* 回滚段的维护及查询
* 有关回滚段的常见错误及解决方法

1. 回滚段的作用

回滚段用于对数据库修改时, 保存原有的数据, 以便稍后可以通过使用ROLLBACK来恢复到修改前的数据; 另外, 回滚段可以为数据库中的所有进程提供读一致性. 因此, 回滚段设置的合理与否, 直接影响到数据库的性能, 在更新密集的OLTP应用中,更是如此.


2. 回滚段的类型
回滚段可分为系统回滚段和非系统回滚段, 其中非系统回滚段又分为PUBLIC回滚段和PRIVATE回滚段.
系统回滚段用于处理涉及系统的CATALOG的事物(比如大多数的DDL), 它位于SYSTEM表空间, 由于只有SYSTEM表空间可以随时保持可用, 因此, 不要把SYSTEM回滚段放在其他的表空间中.

*** 原则1: 系统回滚段应放在SYSTEM表空间中, 并且应该永远保持ONLINE状态.

PUBLIC回滚段对于数据库的所有实例(INSTANCE)都是可用的, 除非将其显式设置为OFFLINE.

PRIVATE回滚段是指对于数据库的某个实例是私有的, 为了使用PRIVATE回滚段, 某个实例应当在其INITsid.ORA的ROLLBACK_SEGMENTS中标明所有要使用的PRIVATE回滚段, 或通过使用ALTER ROLLBACK SEGMENT XXX ONLINE来使用某一个回滚段.

*** 建议1: 在单实例系统中,建议将所有回滚段设为PUBLIC.

*** 建议2: 在多实例系统中(如OPS), 建议将每个实例的PRIVATE回滚段放置到访问比较快的本地设备上.


3. 回滚段的数量、大小及存储参数
精确的回滚段的数量及大小的计算涉及很多方面: 应用的类型(OLTP/OLAP/BATCH), 同时进行的事物的数量, DML语句的类型, 每个事物处理的数据量等等. 精确的计算, 限于篇幅, 不在此提及, 朋友们可参考相关文档(参考文献4), 在此, 只提供几个原则及建议.

*** 原则2: OLTP系统应使用小但较多的回滚段, OLAP系统/批处理系统应使用少量的大回滚段

*** 建议3: OLTP/OLAP混合型系统中, 应专门设置一个或几个大的回滚段, 平时设置为OFFLINE, 使用时通过使用SET TRANSACTION USE ROLLBACK SEGMENT XXX来使用它. 这些回滚段应使用OPTIMAL参数,以便在不使用时,可以SHRINK到一个较小的尺寸。

*** 建议4: 在很难计算准确的数量、大小时,可用"偏大不偏小"的原则。

*** 原则3: 所有的回滚段的INITIAL/NEXT参数应设为相同, 只有建议3中提到的大回滚段例外.

*** 原则4: 不要将回滚段的MAXEXTENTS设为UNLIMITED, 回滚段所在表空间也不要设为AUTOEXTEND

方式, 否则将会使得由于某个不正常的事务导致整个数据库处于失控状态.

4. 回滚段的维护及查询
(1) 创建回滚段
__CREATE ROLLBACK SEGMENT RB01
__TABLESPACE RBS1
__STORAGE (
____INITIAL 100K
____NEXT 100K
____MINEXTENTS 20
____MAXEXTENTS 100
____OPTIMAL 2000K );

2) 更改ONLINE/OFFLINE状态
__ALTER ROLLBACK SEGMENT RB01 ONLINE;
__ALTER ROLLBACK SEGMENT RB01 OFFLINE;

(3) 更改OPTIMAL参数
__ALTER ROLLBACK SEGMENT RB01
__STORAGE ( MAXEXTENTS 200
____OPTIMAL 2048K );

(4) 缩小回滚段
__ALTER ROLLBACK SEGMENT RB01 SHRINK;
(有OPTIMAL参数时, 缩小到OPTIMAL值; 没有OPTIMAL参数时, 缩小到MINEXTENTS所对应的尺寸)
__ALTER ROLLBACK SEGMENT RB01 SHRINK TO 2048K;

(5) 修改INITIAL/NEXT参数

*** 建议5: 根据原则3, 修改NEXT时, 总应该同时修改INITIAL.

INITIAL参数无法直接修改, 只能先DROP, 然后再CREATE.

__DROP ROLLBACK SEGMENT RB01;
__CREATE ROLLBACK SEGMENT RB01
__TABLESPACE RBS1
__STORAGE ( INITIAL 100K
____NEXT 100K
____MINEXTENTS 20
____MAXEXTENTS 121
____OPTIMAL 2000K )

(6) 在事务中使用特定的回滚段
__SET TRANSACTION USE ROLLBACK SEGMENT RB_LARGE1;

(7) 常用的有关回滚段的系统数据字典
DBA_ROLLBACK_SEGS (相关表:DBA_SEGMENTS)
V$ROLLNAME
V$ROLLSTAT
V$TRANSACTION (相关表: V$SESSION)

5. 有关回滚段的常见错误及解决方法
(1) 回滚段空间不够
ORA-01562 - failed to extend rollback segment number string
回滚段空间不够的原因一般有以下几种情况:
A. 回滚段所在表空间剩余的空闲空间太小, 无法分配下一个EXTENT.
B. 回滚段扩展次数已经达到MAXEXTENTS限制

解决方法:
A. 扩大回滚段所在表空间
B. 设置较大的MAXEXTENTS参数
C. 为回滚段设置OPTIMAL参数
D. 用较大的EXTENT参数重新创建回滚段
C. 将导致ORA-1562错误的DML语句改为分段执行:
例如: 原来的语句为
____DELETE FROM HUGETABLE WHERE condition;
可用如下语句代替:
____BEGIN
________LOOP
____________DELETE FROM HUGETABLE
____________WHERE condition
____________AND ROWNUM<10000;
____________EXIT WHEN SQL%NOTFOUND;
____________COMMIT;
________END LOOP;
____END;

(2) ORA-01552 cannot use system rollback segment for non-system tablespace

'string'
原因: 没有可用的非系统回滚段. 分为以下情形:
A. 除了系统回滚段, 未创建其它回滚段
B. 只创建了PRIVATE回滚段, 但INITsid.ORA的ROLLBACK_SEGMENTS中未列出这些回滚段
C. 创建了PUBLIC回滚段, 但这些回滚段都处于OFFLINE状态
解决方法: 根据以上原因相应解决即可

(3) ORA_01555 snapshot too old: rollback segment number string with name "string" too small
原因可分为以下情形:
A. 回滚段太少/太小
数据库中有太多的事务修改数据并提交, 就会发生已提交事务曾使用的空间被重用, 从而造成一个延

续时间长的查询所请求的数据已经不在回滚段中.
解决方法: 创建更多的回滚段, 为回滚段设置较大的EXTENT以及较大的MINEXTENTS

B. 回滚段被破坏
由于回滚段被破坏, 造成事务无法将修改前的内容(read-consistent snapshot) 放入回滚段, 也会产生ORA-01555错误.
解决方法: 将被破坏的回滚段OFFLINE, 删除重建.

C. FETCH ACROSS COMMIT
当一个进程打开一个CURSOR, 然后循环执行FETCH, UPDATE, COMMIT, 如果更新的表与FETCH的是同一个表, 就很可能发生ORA-01555错误.

解决方法:

a. 使用大的回滚段

b. 减少提交频率(可参见本论坛"如何避免一个PROCEDURE被重复调用"一贴中, 无名朋友的回帖)
以上两种方法只能减少该错误发生的可能, 不能完全避免. 如果要完全避免, 须从执行方法着手, 可以用以下两种方法:

c. 建立一个临时表, 存放要更新的表的查询列(如主键及相关的条件列), 从临时表FETCH, 更新原来的表.

d. 捕获ORA-01555错误, 关闭并重新打开CURSOR, 继续执行循环:
示例(示例程序的思路来源自ORACLE的UTLIP.SQL, 有兴趣的朋友可直接阅读该程序, 位置在RDBMS\ADMIN下, 程序很短, 容易读):

____DECLARE
____LAST_PK NUMBER := 0;
____V_THEROWID ROWID;
____CURSOR C1 IS
________SELECT ROWID, PK, …
________FROM SMPLE
________WHERE PK > LAST_PK
________AND othercondition
________ORDER BY PK;
____BEGIN
________OPEN c_SOURCE;
________LOOP
____________BEGIN
________________FETCH C1 INTO v_THEROWID, v_PK;
________________EXIT WHEN C1%NOTFOUND;
____________EXCEPTION WHEN OTHERS THEN
________________IF SQLCODE = -1555 THEN -- snapshot too old, re-execute fetch query
____________________CLOSE C1;
____________________OPEN c_SOURCE;
____________________GOTO NEXTLOOP01555;
________________ELSE
____________________RAISE;
________________END IF;
____________END;
____________LAST_PK := PK;
……… … PROCESS, UPDATE AND COMMIT
____________<>
____________NULL;
________END LOOP;
________CLOSE C1;
____END;

D. 其它原因:
* Delayed logging block cleanout是ORACLE用来提高写性能的一种机制: 当修改操作(INSERT/UPDATE/DELETE)发生时, ORACLE将原有的内容写入回滚段, 更新每个数据块的头部使其指向相应的回滚段, 当该操作被COMMIT时, ORACLE并不再重新访问一遍所有的数据块来确认所有的修改, 而只是更新位于回滚段头部的事务槽来指明该事务已被COMMIT, 这使得写操作可以很快结束从而提高了性能接下来的任何访问该操作所修改的数据的操作会使先前的写操作真正生效, 从而访问到新的值. Delayed logging block cleanout 虽然提高了性能, 但却可能导致ORA-01555. 这种情况下, 在OPEN/FETCH前对该表做全表扫描(保证所有的修改被确认)会有所帮助.

* 不适当的OPTIMAL参数: 太小的OPTIMAL参数会使回滚段很快被SHRINK, 造成后续读取操作访问时, 先前的内容已丢失. 仔细设计OPTIMAL参数, 不要让回滚段过于频繁的EXTEND/SHRINK有助于问题的解决.

* DB BLOCK BUFFER太小: 如果读一致性所请求的块的先前内容在缓冲区中, 那么就不用去访问回滚段. 而如果缓冲区太小, 使得先前版本的内容在CACHE中的可能性变小, 从而必须频繁的访问回滚段来获取先前的内容, 这将大大增大ORA-01555发生的可能.

参考文献:
1. Oracle, ORACLE 8i DOCUMENTATION LIBRARY -- Oracle8i Administrator's Guide
2. Venkat S.Devraj, Oracle 24X7 Tips and Techniques (Oracle 24X7 技术与技巧)
3. Rama Veipuri, Anand Adkoli, Oracle8 Troubleshooting (Oracle8 故障解决手册)
4. Kevin Loney, Oracle8 DBA Handbook (Oracle8 数据库管理员手册)
5. Oracle, OCP培训教材:Enterprise DBA Part 1A: Architecture and Administration
6. UTLIP.SQL: ORACLE 8I 随机文件
7. 无名氏, http://www.linuxforum.net/, Re:如何避免一个PROCEDURE被重复调用
8. ORA-01555 Explanation: 来源于网上的一篇帖子, 作者未知

( 草草写成, 如有偏差, 欢迎朋友们指正)

2005/4/21

初试Oracle

刚接触Oracle,很多不明白的地方,也感觉无从下手。所以姑且把这里当作我的Oracle学习笔记吧。呵呵

1、利用windows的计划任务和Oracle的exp自动完整备份Oracle的数据库(热备)

exp system/password full=y file=d:\backup\%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%.bak
此处附带学到了cmd的一些环境变量的用法:%VariableName:~n,m%,代表从VariableName的第n个字符后起的m个字符组成的字符串;%VariableName:~-m%代表VariableName的最后m个字符组成的字符串;%VariableName:~n,-m%代表从VariableName的第n个字符后起,至倒数第m个字符之间(不包括第m个字符)的字符组成的字符串。

2、Oracle从9.2.0.1升级到9.2.0.3后,利用exp备份出现错误提示:

EXP-00008: 遇到ORACLE错误942
ORA-00942: 表或视图不存在
EXP-00024: 未安装导出视图,请通知您的DBA
EXP-00000: 导出终止失败
风往北吹的blog处学习到:

select comp_name,status,version from dba_registry;//判断版本
startup migrate//启动到migrate模式
@"%oracle_home%\rdbms\admin\catpatch.sql"//迁移到新版本的字典
select comp_name,status,version from dba_registry;//
再次确认版本
到此应该可以正常使用exp备份数据库了

3、安装Oracle时选择只安装软件,不创建数据库,安装完成后恢复利用操作系统备份的数据库文件。

  • orapwd file=yourpath\yourpwdfile password=***//创建sys的密码文件,copy到%oracle_home%\database下,按照标准做法命名成pwd%oracle_sid%.ora
  • 利用%oracle_home%\admin\sample\pfile\initsmpl.ora为蓝本创建init%oracle_sid%.ora,修改相应字段。
  • control_files=("yourpath\yourcontrolfile1", "yourpath\yourcontrolfile2", "yourpath\yourcontrolfile3");
  • background_dump_dest;core_dump_dest;user_dump_dest到相应位置
  • db_name;db_domain;instance_name相应修改
  • Remote_login_passwordfile=EXCLUSIVE//or share
  • compatible=9.2.0.0.0//as you wish
  • 添加%oracle_home%\database\init%oracle_sid%.ora,内容只有一行:ifile='yourpath\yourinitfile'
  • oradim -new -sid yoursid -startmode m -pfile init%oracle_sid%.ora//根据init%oracle_sid%.ora注册新的oracle实例
  • net start oracleservice%oracle_sid%
  • sqlplus /nolog
  • conn sys/*** as sysdba//连到空例程
  • startup mount
  • select * from v$datafile; 
  • select * from v$controlfile;
  • select * from v$logfile;
  • alter database rename file 'yourpath\system01.dbf' to 'anotherpath\system01.dbf';
  • ...,相应修改redo log、datafile,除了tempfile
  • alter database open;
  • alter tablespace temp add tempfile 'newpath\newtempfile';
  • alter database tempfile 'oldpath\oldtempfile' offline;
  • alter database tempfile 'oldpath\oldtempfile' drop;
  • select name,status from v$tempfile;
    到这里应该就可以了