|
|
用户名:mophis 笔名:岁月之恋 地区: 行业:其他 |
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
欢迎访问※岁月之恋※的博客
日本首相的记者召待会-国人必看
(作者置顶)
宇宙有多大?
(作者置顶)
专家讲:秦始皇陵千古之谜为何无法揭开?(图)
(作者置顶)
|
虽然电影巨星成龙在他的新片《神话》中将秦始皇陵想象成了一个无重力的世界,秦始皇陵对于世界来说仍然是一个未知的“神话”,考古学家们认为让它沉睡地下仍是最安全的办法。
“挖掘有时就意味着破坏,”正在西安参加国际古迹遗址理事会第15届大会的国际古迹遗址理事会主席米切尔·佩塞特说,“秦始皇的地下王宫太大了,挖掘后,人们没有办法保护它。”
“如果这个地下宫殿是土质结构——就像秦始皇的地下军队兵马俑一样,那么挖掘出来几个月后它就会彻底毁掉。现在全球仍没有可靠的技术来保护兵马俑这样的土质结构,任何挖掘都不能是为好玩或好奇。”佩塞特说。
在佩塞特看来,土制的兵马俑虽然已经烧制成陶,但与西方的石头雕塑相比,还是脆弱的。
国家文物局一贯不提倡主动发掘,按照《中华人民共和国文物保护法》有关规定,除非是遭遇到一定自然灾害、盗墓或者关系到国计民生的重大工程,考古学家才被允许对这类地点进行保护性发掘。
国家文物局副局长张柏说:“这些文物在墓里埋了千余年了,已经达到了平衡状态。如果这些文物被挖掘出来,接触到阳光、氧气或者其它气体,就会很快发生变化,这种变化对有些文物来讲是无法控制的。如在中国南方地区曾出土过一些象牙制品,这些象牙制品出土时洁白光滑,不到两个小时却变成了暗色粉末状。”
陕西省考古所秦始皇陵考古工作队队长段清波研究员说,不挖秦始皇陵是当下人们最合适的选择,因为秦始皇陵太复杂了,超过任何人的想象,虽然部分历史资料记载已经被证实,但现在掌握的情况很多与过去已知的情况相去甚远。
据近5年来对秦始皇陵的地质勘探发现,在它约高50米、直径为350米的封土内,有对称的夯土台阶构造和木质构造,在此之前人们认为封土只是一堆夯土。墓室最低距地面约30米,上端长160米、宽149米,而底部长80米、宽50米。
历史资料记载,秦始皇用了大约38年的时间、约72万人修筑了它的陵寝。在他的地下宫殿里,用水银模拟他统治的疆域内江河湖海的流动,在地宫上空模拟了日月星辰的转动,同时地宫内布满机关阻止盗墓者。
考古工作者在陵园区域探测到水银浓度比周围地区异常偏高,经探测发现这些水银来自秦始皇陵的封土之下。同时,也发现秦始皇采用了先进的排水系统阻止地下水进入地宫中,这种排水方式至今仍在一些现代建筑的地基建设中被采用,如中国正在建设的中国大剧院。
秦始皇陵考古工作队从1998年到2003年对秦始皇陵进行研究,同时也发掘了部分陪葬墓,这项工作因为缺乏资金而中断。
秦始皇陵内城面积约为2.13平方公里,若加上已发现各种陪葬坑的范围,面积将达60平方公里。
结束了15年的统治,秦始皇在49岁住进了他花费了约38年修筑的地宫内。
“让秦始皇和他的地下宫殿继续沉睡地下,既是对逝者的尊重,也是最安全的保护文物方式。”米切尔·佩塞特说。

秦始皇陵的千古之迷
30年前,中华大地上的动荡还没有结束,地下忽然冒出了秦始皇的兵马俑,于是人们又开始关心2200年前的这位传奇帝王,和他开创的那个光辉而短暂的王朝。如今,秦帝国的真相正在一点一点浮出地面,人们越发想知道得更多了。
临潼博物馆的赵康民同志刚接到当地人民公社打来的电话,说是西杨村的老乡在3月29号那天打井时,发现了陶俑的残片,同时挖到了一批铜箭头和铜弩机,电话中还提到了“铅砖”。根据赵康民的经验,秦始皇陵封土周围曾经挖到过不少的“瓦神爷”,所谓“瓦神爷”是当地老乡的叫法,其实它们是秦始皇陵的陪葬俑。早在1956年,赵康民就曾经将一尊“瓦神爷”从一座土地庙中搬到了刚成立的临潼县博物馆。在1966年的“文化大革命”之前,赵康民同志曾经主持清理过五尊跪姿跽坐的陶俑。如果这次与陶俑残片同时出土的还有一批铜箭头和铜弩机的话,赵康民马上便将其假设为秦代武士俑。至于“铅砖”,一听便可以想到是秦代的地砖,大概因为久埋地下、饱含水份而变得像“铅”加一样重?赵康民向自己提着问题,脚下蹬着自行车,渐渐靠近了远方秦始皇陵的封土堆。
这座封土堆已经屹立在骊山北麓两千多年了,西汉太史令司马迁曾经在《史记》的秦始皇本纪中描写过这座举世无双的陵墓:秦王嬴政刚刚继位的时候,便开始在骊山建造自己的陵墓。等到统一了天下之后,便征发来天下刑徒70余万人。墓穴了穿过三重泉水的深度,用熔铜浇铸了棺椁,宫观百官、奇器珍怪“徒臧满之”;令工匠制作弩机弓箭,以防胆敢前来盗墓的贼人;墓室中上具天文,下具地理,以水银为百川江河大海,用机械使之流动灌输;用人鱼膏做蜡烛,希望可以经久不息。秦二世说,先帝后宫没有子女的妃子“出焉不宜”,于是皆被赐死殉葬;又说工匠们知道陵墓的机密,怕日后会被泄露,所以在下葬完毕的时候,封闭墓道的中门和外门,将所有工匠关在其间,没有人能够逃出来;最后在封土堆上种树,让它看起来像一座山。如此之宏大神奇,惊心动魄,以至于后人不能想像司马迁的这一段描写是来自传说呢,还是基于事实?
西杨村在秦始皇陵的封土堆以东约1.5公里,当赵康民同志到达的时候,见到的是许多非常夸张的景象:一个“瓦盆爷”的头被放在树杈上,几个老乡正对着它烧香磕头,在当时正在进行的“文化大革命”中,如此“迷信”的举动可是大大有违“革命”原则;田地里也立着一个陶俑,它被利用来惊吓鸟儿,以代替传统的草人儿;几个小孩正在用陶俑的残片相互对砸取乐。赵康民立刻向当地干部和老乡解释了其重要性。经老乡的指点,赵康民又在一户村民的地窖中找到一个俑头,这家人是希望以此来吓唬地窖中的老鼠。关于铜箭头和铜弩机,已经被村民卖到了废品收购站。
经过努力,赵康民收集到了一批陶俑的残片、两百来只铜箭头和几个铜弩机。便开始在临潼博物馆的院子里修复由他自己命名的“秦代武士俑”。这在“文化大革命”当中依然违背了所谓的“革命”原则,也是要冒一定风险的,不知哪里就会飞来横祸。
说话间到了6月的下旬,一位同志从北京来临潼探亲,他的妻子凑巧就在临潼县博物馆工作,这就是新华社记者的蔺安稳同志。目睹了赵康民正在修复的气宇轩昂的“秦代武士俑”和聆听了他对秦始皇陵陪葬物品的假设之后,蔺安稳即刻写就一篇《秦始皇陵出土一批秦代武士俑》的报道,交给《人民日报》编辑部刊载在内参上。当时的此类报导皆是先以内部参考的形式直接由国家最高领导过目的。
当时正在进行的一场运动叫作“评法批儒”,大概意思是重新评价先秦时期法家和儒家的学术之争,当时的主流思想导向是以法家自比“文化大革命”的严刑峻法,同时批判儒家的德治仁政是骗人的把戏。当然,当时所谓的运动一定还有其他更具体的影射,本文不必过多探讨。据赵康民本人30年之后的讲述,新华社蔺安稳的一篇内参惊动了一位大人物,认为可以利用来为当时的“评法批儒”增添猛料。于是在这位大人物的敦促之下,同年的7月6日,来北京的国家文物局专员抵达临潼,7月15日考古人员进驻现场,赵康民便是其中的一员。一年之后,这个14260平方米,估计有6000个兵马陶俑的一号坑,再一次震惊了全世界!
上一次震惊世界要追溯到公元前的221年,这支地下军团的原型模特浴血奋战,为秦王嬴政统一了战乱中的中华大地,一个中央集权的帝国建立了,嬴政称自己为“始皇帝”,也就是中国的第一个皇帝,据说西方“China”这个词汇便是来源于“秦”。关于秦始皇的功劳与过错,两千多年来一直是人们争论的话题,口水已经多过了茶水。总之,秦始皇统一了文字、律法、度量衡、货币,甚至车轴间距;销毁了天下的兵器和防御工事;建立了驰道交通网络,并兴修水利;再为防范北方的匈奴南下开始建造伟大的万里长城;开疆拓土,取消了王侯的分封制度,而替代以中央集权的郡县制,并五次出巡全国;另外,为了政权的巩固,迁天下的豪强贵族于咸阳,严刑峻法,焚书坑儒。但是,一切都事与愿违,在秦始皇死后、这个陵墓终于派上用场的第二年,整个大秦帝国便开始暴动。到了秦始皇死后的第六个年头,整个帝国化为一片灰烬瓦砾,当然也包括为了秦始皇而建造的伟大陵墓。
笔者第一次亲临秦始皇陵是在1981年,当时北京人艺正上演着一出话剧《伊索》,戏中的希腊奴隶伊索要去埃及看金字塔,他念叨着:“去看看法老们的虚荣心。”也算就着这句台词的鞭策,笔者发奋骑自行车周游了天下。那天自秦始皇陵的封土前经过,天降雨水,抵达一号坑时天色已晚,有幸得到考古人员的热情接待。当晚下榻考古队,次日便目睹了如火如荼的发掘场面。
自1974年至今,经过整整30年的考古发掘和钻探,我们大体上已经知道,秦始皇陵区的规模占地56平方公里,可以想像当年70多万人筑陵的壮观场面。而震惊了世界的兵马俑一号坑,只是秦始皇陵园区里已知的180多个陪葬坑中的一个而已。继一号坑之后,又发现和发掘了二号和三号兵马俑坑。二号坑跪射俑的色彩保护,经过了中国和德国文物工作者十多年的努力,结果终于让人满意。上世纪70年代末和80年代初,封土西侧出土了两架彩绘铜车马,用精美绝伦这一词汇来形容是再准确不过了的,同时也可以让人们看见当年秦始皇乘车出巡的一幕。自1999年起,笔者有幸又目睹了几座新发现的陪葬坑的发掘,今天我们不仅可以看见秦兵马俑原始的彩绘,还可以目睹秦代的文官阵容和百戏场面。另外还有一个面积和兵马俑一号坑相当的石质甲胄坑有待进一步的发掘,在发现石质铠甲胄之前,任何人也不会想得到秦人以青石为材料来仿制冥器甲胄,任何人也不会想得到其数量之巨大。2001年开始发掘的秦陵鱼池附近的“水禽坑”,实实在在地是一个地下水世界。考古人员发现了地下河道和近50只原大的仙鹤、天鹅、鸿雁等青铜水禽,同坑还有一批真人大小的陶俑,我估计是一批船工和渔人,而秦陵考古队长段清波认为他们是一些正在奏乐的音乐家。关于《史记》记载的墓室中以“水银为百川江河大海”,也为屡次的汞测试所证实。秦帝国真的一点一点地浮出了地面。
“每当有新的发现,做为秦始皇陵考古队的队长,您自己的感觉是什么样的?”我是这样向段清波先生提问的。
“每当有新的发现,都让我震惊。”段队长的回答十分直率。
“作为一般的游客观众,震惊是可以理解的。可您是秦始皇陵考古队的队长,每天的工作就是如此,怎么也会有同样感觉?”
“的确是这样的,我也常常会问自己。每次的新发现都出乎意料,最后我自己的解释是:这是秦始皇陵。想到这是秦始皇也就想通了。”
每当笔者自秦陵考古工地回来,正眉飞色舞地向大家描述所见所闻的时候,常常会听到这样的提问:为什么还不发掘秦始皇陵的地宫?什么时候挖?我曾向秦始皇兵马俑博物馆的馆长吴永琪先生转达过这一问题。吴先生的回答很耐人寻味:“我也时常梦见发掘秦始皇陵的地宫,可是醒来还是得去做日常的工作,梦总归是梦。今天一号坑的大半部分我们还没去动它,要搞清楚秦始皇陵的陪葬坑和陵园的建制也还有做不完的工作。考古不是挖宝,我们的责任是去保护和研究历史遗迹。我们曾经有过教训,1955年发掘的北京明定陵,就留下了许多的遗憾。自此文物发掘的审批相当严格,尤其是帝王陵墓,原则上是不能动的,何况是这座秦始皇的陵墓。我想会有几代人的工作要做。”
远方的白日再一次依山而尽,最后一批游客已经离开了秦始皇的陵园,又是一天过去了。骑着自行车或者是摩托车,段清波队长和他的队员们以各自的方式从秦陵工地返回考古队。这里的每一个发现都引起人们巨大的兴趣,关于两千多年前的那个秦帝国,人们总是希望知道得更多一点,还有那支摧枯拉朽的起义队伍和那场最后的大火。
配置WebLogic Server集群
(作者置顶)
| 配置WebLogic Server集群 | |||||||||||||||||||||||||||||||||||||||||||||
| 作者:sucretiger 文章来源:BEA dev2dev 点击数:187 更新时间:2005-11-10 | |||||||||||||||||||||||||||||||||||||||||||||
预备知识 什么是Domain和Server Domain Domain是WebLogic Server实例的基本管理单元。所谓Domain就是,由配置为Administrator Server的WebLogic Server实例管理的逻辑单元,这个单元是有所有相关资源的集合。 Server Server是一个相对独立的,为实现某些特定功能而结合在一起的单元。 Domain and Server的关系 一个Domain 可以包含一个或多个WebLogic Server实例,甚至是Server集群。一个Domain中有一个且只能有一个Server 担任管理Server的功能,其它的Server具体实现一个特定的逻辑功能。 本文环境
配置WebLogic Server集群 WebLogic集群的体系结构 单层混合型的集群架构(Cluster) 这种架构将所有的Web应用以及相关的服务应用全部置于集群中的单一WLS实例中,这种架构的优势在于:
多层结构的集群架构(Cluster) 这种架构使用两个WLS集群,一个放置表静态内容和集群Servlet,另一个放置集群EJB。一般应用于下面这些情况:
配置集群应用的必要条件
配置前的准备工 在配置集群应用前要对集群的配置信息有一个良好的设计,下面就是我们这次配置的集群信息: 在同一台机器上配置集群
在同一网段内的不同机器上配置集群
使用Domain Configuration Wizard进行配置 创建新的Domain 选择“Create a new WebLogic configuration”,单击“Next”按钮
选择安装类型 选择安装“Basic WebLogic Server Domain”,单击“Next”按钮
选择定制安装 选择“Custom”安装,单击“Next”按钮
输入Administrator Server的信息 输入Administrator Server的名称,监听地址,监听端口,如果需要SSL支持的话可以在“SSL enabled”后面的复选取框上打勾,配置SSL监听端口,单击“Next”按钮
是否配置Server、Cluster、Machine信息 选择“Yes”,对Server、Cluster、Machine信息进行配置,,单击“Next”按钮
配置Managed Server信息 输入Managed Server的名称,监听地址,监听端口,如果需要SSL支持的话,可以在“SSL enabled”复选框上打勾,配置SSL监听端口。可以配置多个Managed Server。单击“Next”按钮
配置Cluster信息 输入Cluster的名称,Cluster的组播地址和端口,Cluster地址可输可不输。单击“Next”按钮
将Managed Server添加到Cluster中 选择左面列表中的Managed Server,将其添加到右面的列表中,单击“Next”按钮
配置Machine信息 在此不对Machine进行配置,单击“Next”按钮 是否配置JDBC信息 在此不对JDBC数据源和连接池进行配置,单击“Next”按钮 配置JMS信息 在此不对JMS进行配置,单击“Next”按钮 配置缺省系统管理员用户名和密码 输入系统管理员用户名和密码,还可以配置其它的系统管理用户,在此不做配置,单击“Next”按钮
配置Windows附加选项 可以选择是否创建开始菜单中的快捷方式,是否将该服务作为Windows系统服务,在这里我们全部选择“No”,单击“Next”按钮
配置服务的启动模式并选择Java SDK 选择“Development Mode”模式,并选择标准的Java SDK 1.4,在开发模式下会有比较丰富的调试信息,对我们很有帮助,单击“Next”按钮
配置信息确认以及选择安装路径 系统列出您的配置信息,并指定了缺省的安装路径(D:\bea\user_projects\domains\mydomain),在此我们将安装路径定位在D:\bea\user_projects\clusterdomain,单击“Create”按钮
系统创建Domain 系统根据配置信息,完成缺省的目录及文件的创建
启动WebLogic服务
通过HttpClusterServlet实现请求的自动分发处理 HttpClusterServlet通过一个WebLogic服务器代理对WebLogic集群中的其他服务器成员的HTTP请求,同时HttpClusterServlet还为代理的HTTP请求提供负载平衡与容错处理。 实际上实现是很简单的,遵循下面几个步骤就可以轻松实现请求的自动分发功能:
创建代理Server 启动Administrator Server,然后进入Console控制台(http://10.16.92.33:7080/console/),在此我们将代理Server与Administrator Server置于同一台主机之上。 进入console控制台后,在“Server”结点上单击右键,在弹出菜单上选择“Configure a New Server”,然后配置代理Server的相关信息。(在这里只要指定名称,监听地址,监听端口就可以了)
HttpClusterServlet的部署,主要是Servlet的声明和映射,并设置初始化参数,可以创建一个Web App,然后直接在web.xml中添加或在管理控制台上设置HttpClusterServlet的部署信息。最后将它发布给用来做代理的Server,并将这个Web App设置为这个Server的缺省WEB应用。 web.xml文件示例 weblogic.xml文件示例 打包WEB应用 可以使用jar命令将proxy应用打包成war文件,我们建一个临时目录temp,然后在其中建立如下目录结构: 使用如下的命令操作,就可完成web应用的打包操作: JAR –参数 WEB应用名称要打包的目录 当然我们也可以直接部署该目录,而无需打包,这在项目的开发阶段是很有帮助的,便于修改。 部署proxy应用 启动Administrator Server,然后进入Console控制台(http://10.16.92.33:7080/console/),在此我们将代理Server与Administrator Server置于同一台主机之上。 进入console控制台后,在“Web Application Modules”结点上单击右键,在弹出菜单上选择“Deploy a new Web Application Module”,然后选择要部署的文件或目录,单击“Target Module”按钮,然后选择“proxyServer”,单击“Continue”按钮,到了下一步,单击“Deploy”按钮,完成部署工作。 部署完成后,查看WEB应用的状态是“FAILS”,造成这种情况的原因是“proxyServer”还没有启动,我们可以通过下面的命令启动“proxyServer”: 然后点击“ReDeploy”,重新部署应用,状态值将变为“Success”。 将WEB应用配置成缺省的WEB应用,weblogic8.1与weblogic6.1有很大的不同,8.1不再支持从console控制台完成配置的工作,而是在weblogic.xml中通过下面的结点,完成配置的工作。 <context-root> / </context-root>
测试proxy应用 修改web.xml文件,加入下面的结点,然后重启服务。 <init-param> <param-name>DebugConfigInfo</param-name> <param-value>ON</param-value> </init-param> 打开浏览器,访问下面的地址,会得到下图所示的结果,这就说明你的配置是成功的。 http://myserver:port/placeholder.jsp? __WebLogicBridgeConfig myserver为服务地址(在这里是10.16.92.7) port为proxy服务的端口(在这里是8080) placeholder.jsp(这是一个不存在的JSP文件,您也可以随意指定文件名) __WebLogicBridgeConfig(这个可千万不能写错呦!) 测试集群的分发功能 编写测试WEB应用并部署 我们来编写一个简单的WEB应用,它会在控制台和浏览器上同时打印出“OK”字样,然后将这个WEB应用部署到集群中所有Managed Server上面。(代码见附件) 在这里我们将通过Apache中所带的ab包来进行并发访问的模拟测试,使用如下的命令就可以完成压力测试。 ab –n 100 –c 10 http://10.16.92.7:8080/index.jsp ab是测试程序的名称 参数n代表请求的总数量 参数c代表并发的请求数 url为要测试压力的页面 注:使用这个命令时,一定要在系统路径中能够找到该程序,否则不能执行。 压力测试完成后,我们从Managed Server的控制台上可以看到,nodeA,nodeB,nodeC都打印出了“OK”字样,这说明,在并发请求的情况下,集群能够将请求进行分发,以达到负载平衡的目的。 测试应用的目录结构如下,部署与proxy应用的部署一样,要注意的是要将它部署在Managed Server上面。 同一网段内不同机器部署集群 在不同机器上部署集群与上面的操作有一些不同,就是在部署“Managed Server”时,要注意的是,参见下面的图解。
在另外一台机器上配置“Managed Server”时,要指定“Admin Server”的名称,监听地址,监听端口。
集群配置中要注意的问题
附录 Weblogic8.1文档http://e-docs.bea.com/wls/docs81/ dev2dev在线http://dev2dev.bea.com.cn | |||||||||||||||||||||||||||||||||||||||||||||
WebLogic Flash教程5:部署集群的Web应用
(作者置顶)
本站推出WebLogic Flash系列教程,欢迎浏览!
教程5:http://www.crackj2ee.com/flash/weblogic/5.htm
注:所有Flash教程均来自互联网,版权归原作者所有。
WebLogic Flash教程4:使用WebLogic集群
(作者置顶)
本站推出WebLogic Flash系列教程,欢迎浏览!
教程4:http://www.crackj2ee.com/flash/weblogic/4.htm
注:所有Flash教程均来自互联网,版权归原作者所有。
WebLogic Flash教程3:启动示例应用并使用管理员控制台
(作者置顶)
本站推出WebLogic Flash系列教程,欢迎浏览!
教程3:http://www.crackj2ee.com/flash/weblogic/3.htm
注:所有Flash教程均来自互联网,版权归原作者所有。
WebLogic Flash教程2:了解WebLogic的启动脚本
(作者置顶)
本站推出WebLogic Flash系列教程,欢迎浏览!
教程2:http://www.crackj2ee.com/flash/weblogic/2.htm
注:所有Flash教程均来自互联网,版权归原作者所有。
WebLogic Flash教程1:安装WebLogic
(作者置顶)
WebLogic Flash教程1:安装WebLogic
http://www.crackj2ee.com/flash/weblogic/1.htm
注:所有Flash教程均来自互联网,版权归原作者所有。
WebLogic Server7.0中Oracle的JDBC Pool/DataSource配置指南
(作者置顶)
| WebLogic Server7.0中Oracle的JDBC Pool/DataSource配置指南 | |||||||||||
| 作者:周骞 文章来源:bea dev2dev 点击数:57 更新时间:2005-11-7 | |||||||||||
WebLogic Server7.0中Oracle的JDBC Pool/DataSource配置指南
| |||||||||||
Programming WebLogic JDBC
(作者置顶)
中间件weblogic JDBC配置说明书地址:
oracle安装手记for,redhatas4.0
上午弄完了oscar下午,闲着无聊,安装了一下,我认为很高档的oracle 在linuxas4.0下安装的ship_9204下面试着写一下吧,省得自己忘了 安装LINUX一定要全部安装啊,今天我强烈感觉,我不是全部安装的,好多包都没有安装完了以后,和正常一样,驱网卡啥的接着. 一把oracle解了 2)zcat ship_9204_linux_disk1.cpio.gz | cpio –idmv && zcat ship_9204_linux_disk2.cpio.gz | cpio –idmv && zcat ship_9204_linux_disk3.cpio.gz | cpio&nsp;–idmv 2) 解包和解压过程中,自动创建了3个包含安装文件的目录: Disk1 Disk2 Disk3 之后就可以安装Oracle9iR2了。 二,安装前的检查和准备工作; 1, 查看这些开发包是否已安装; 安装需要的软件包和补丁包: p4198954_21_linux.zip 在运行 runInstaller 之前打. p3238244_9204_LINUX.zip 修复agent错误的补丁. p2617419_210_GENERIC.zip 打3238244补丁所需要的补丁. compat-db-4.1.25-9 compat-gcc-32-3.2.3-47.3 compat-gcc-32-c++-3.2.3-47.3 compat-oracle-rhel4-1.0-3 compat-libcwait-2.0-1 compat-libgcc-296-2.96-132.7.2 compat-libstdc++-296-2.96-132.7.2 compat-libstdc++-33-3.2.3-47.3 gcc-3.4.3-9.EL4 gcc-c++-3.4.3-9.EL4 gnome-libs-1.4.1.2.90-44 gnome-libs-devel-1.4.1.2.90-44 libaio-devel-0.3.102-1 libaio-0.3.102-1 make-3.80-5 openmotif21-2.1.30-11 xorg-x11-deprecated-libs-devel-6.8.1-23.EL xorg-x11-deprecated-libs-6.8.1-23.EL 其中compat-oracle-rhel4和compat-libcwait可以在如下网站: http://oss.oracle.com/projects/compat-oracle/files/RedHat/ # rpm -qa | grep ‘compat’ 用电脑联上服务器,把光盘全拷到服务器上这样安装着方便,真的 一个一个的对着安装。 三,创建数据库安装的准备工作; 1,创建user/group; #groupadd dba #groupadd oinstall #useradd oracle -g oinstall -G dba #passwd oracle 2,建立oracle安装文件夹; # mkdir -p /u01/app/oracle/product/9.2.0.4 # mkdir /u01/cwdata # chmod 777 /u01/cwdata # chown oracle.dba /u01/cwdata # mkdir /orasetup # chown oracle.dba /orasetup # chmod 777 /orasetup # chown -R oracle.dba /u01/app/oracle/product/9.2.0.4 # chmod -R 777 /u01/app/oracle/product/9.2.0.4 3, 配置环境变量; 以root用户登录,设置root用户的环境打开.bash_profile文件,将如下内容加入: export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/9.2.0.4 export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin export ORACLE_OWNER=oracle export ORACLE_SID=oradb 使用Oracle用户登陆: #su – oracle $vi .bash_profile 以下是配置文件的内容(其中红色字体为添加的内容) # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin #ORACLE_BASE 可以定位到盘阵上/data export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/9.2.0.4 export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin export ORACLE_OWNER=oracle export ORACLE_SID=oradb export ORACLE_TERM=xterm export LD_ASSUME_KERNEL=2.4.19 export THREADS_FLAG=native export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib export NLS_LANG=”American_america.zhs16gbk” # export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export DISPLAY=:0 export LANG=en_US export GDM_LANG= en_US export LC= en_US export PATH unset USERNAME 4, 设置系统参数; #su – root切换到root用户 a) 修改#vi /etc/sysctl.conf, 以下是配置文件的内容(其中红色字体为添加的内容): # Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details. # Controls IP packet forwarding net.ipv4.ip_forward = 0 # Controls source route verification net.ipv4.conf.default.rp_filter = 1 # Controls the System Request debugging functionality of the kernel kernel.sysrq = 0 # Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid = 1 kernel.shmmax = 536870912 / 268435456 kernel.shmmni = 4096 kernel.shmall = 2097152 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 修改后运行#sysctl –p命令使得内核改变立即生效; 译者注:一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,如上;如物理内存是 1G,则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912;以此类推。) 建议永久地增加 shmmax 设置。 sem 4个参数依次为SEMMSL(每个用户拥有信号量最大数);SEMMNS(系统信号量最大数);SEMOPM(每次semopm系统调用操作数);SEMMNI(系统辛苦量集数最大数).Shmmax 最大共享内存,官方文档建议是内存的1/2,Shmmni 最小共享内存 4096KB.Shmall 所有内存大小 B) 设置oracle对文件的要求: 编辑文件:#vi /etc/security/limits.conf 加入以下语句: oracle soft nofile 65536 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 这些东西,也不用看,是不是,加了什么了,就直接把文件里的内容给覆盖了就行了 C) gcc降级 #su – root #mv /usr/bin/gcc /usr/bin/gcc34 #ln –s /usr/bin/gcc32 /usr/bin/gcc #mv /usr/bin/g++ /usr/bin/g++34 #ln –s /usr/bin/g++32 /usr/bin/g++ 5,安装oracle补丁 当你从 Oracle 9iR2 光盘执行 runInstaller 时,会出现错误信息: Error occurred during initialization of VM Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386 /libjava.so symbol _libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference 为了解决 _libc_wait 符号问题, 从http://oss.oracle.com/projects/compat-oracle/files/RedHat/ 下载补丁 compat-libcwait-2.0-2.i386.rpm compat-oracle-rhel4-1.0-5.i386.rpm.为了应用这个补丁,可以运行: $su – root # cd /orasetup #ls compat*.rpm compat-libcwait-2.0-2.i386.rpm compat-oracle-rhel4-1.0-5.i386.rpm # rpm -Uvh compat*.rpm Preparing... ########################################### [100%] 1:compat-libcwait-2.0-2.i386.rpm ##################################### [ 50%] 2:compat-oracle-rhel4-1.0-5.i386.rpm#################################### [100%] 四,开始安装oracle9iR2 (一)开始安装: 1.以oracle用户登录系统,进行Oracle的安装: $ cd Disk1 $ ./runInstaller过一会儿就会出现Oracle的安装界面 2.一步一个脚印安装下去就行了 3.有一步会提错误,说没有权限去修改一个目录,我直接用root进去,给改成了777就OK了,不过可能不安全但是装上再说,还有一个shell不能执行还是权限的问题,用root执行一下就OK了。 4,安装完成后,不知道,为啥,oracle用户进去的,大多是乱码,下次把语言装全了,看看,会不会还这样。 五。打补丁 ,安装完后打补丁: 切换到root:#su – root 首先安装 opatch. #cd /orasetup #unzip p2617419_210_GENERIC.zip Archive: p2617419_210_GENERIC.zip creating: OPatch/ creating: OPatch/docs/ inflating: Opatch/docs/FAQ ...... inflating: README.txt #export PATH=$PATH:/orasetup/OPatch:/sbin (这句直接打就成) (修改PATH时要要包括解压缩出来的Opatch 和 sbin目录) # unzip p3238244_9204_LINUX.zip # cd 3238244 # opatch apply 如果提示HOME变量错误可执行语句:(肯定会出错误的,所以这句还是先执行了吧) #export ORACLE_BASE=/u01/app/oracle #export ORACLE_HOME=/u01/app/oracle/product/9.2.0.4 出现success的提示就全部安装成功. 补丁打完后,还要relinked一个.mk文件,切换到oracle用户窗口 cd $ORACLE_HOME/network/lib make –f ins_oemagent.mk install 之后就可以启动Agent服务了. 六测试oracle 1 最后执行 #dbca 建oracle数据库 点击OK,然后退出即可,正常登陆并启动数据库的操作。(我运行的时候咋没出OK呢) [oracle@oracle oracle]$ lsnrctl start [oracle@oracle oracle]$ sqlplus /nolog SQL*Plus: Release 9.2.0.4.0 - Production on Sat Mar 12 22:58:53 2005 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL>; connect / as sysdba Connected. SQL>; shutdown immediate 关闭数据库 Database closed. Database dismounted. ORACLE instance shut down. SQL>; startup; 启动数据库 ORACLE instance started. Total System Global Area 236000356 bytes Fixed Size 451684 bytes Variable Size 201326592 bytes Database Buffers 33554432 bytes Redo Buffers 667648 bytes Database mounted. Database opened. 6, 数据库创建完成后,修改/etc/oratab,把boss那一行最后的N改成Y,然后执行dbstart启动数据库数据库可能无法启动,报告Can’t find init file …的错误,需要复制一个初始化文件: cp /u01/app/oracle/admin/oradb/pfile/init.ora.* /u01/app/oracle/product/9.2.0/dbs/initoradb.ora 重新执行dbstart就可以了。 我没改这块,因为没看见,下次改一下试试 七:root管理ORACLE的SHell 为了方便管理,可以写一个启动脚本ora9i: 以root身份进入,编写以下脚本: #!/bin/bash #start and stop the oracle instance # chkconfig –level 5 --add ora9i #chkconfig: 345 91 19 # description: starts the oracle listener and instance export ORACLE_HOME="/u01/app/oracle/product/9.2.0.4" export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH export ORACLE_OWNER="oracle" export ORACLE_SID=oradb if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ] then echo "oracle startup:cannot start" exit 1 fi case "$1" in start) #startup the listener and instance echo -n "oracle startup: " su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start" su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbstart touch /var/lock/subsys/oracle echo "finished" ;; stop) # stop listener, apache and database echo -n "oracle shutdown:" su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop" su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbshut rm -f /var/lock/subsys/oracle echo "finished" ;; reload|restart) $0 stop $0 start ;; *) echo "Usage: ora9i [start|stop|reload|restart]" exit 1 esac exit 0 存为ora9i后,然后用chmod a+x ora9,即可在以后以root身份运行/etc/rc.d/init.d/ora9i start |stop 来管理oracle的启动和停止了。如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:chkconfig --level 3(或者是5) --add ora9i 或者以root用户执行如下命令: #cp /orasetup/ora9i /etc/rc.d/init.d/ #chmod a+x /etc/rc.d/init.d /ora9 #cd /etc/rc.d/rc5.d #ln -s /etc/rc.d/init.d/ora9i S99ora9i #cd /etc/rc.d/rc0.d #ln -s /etc/rc.d/init.d/ora9i K99ora9i 也可自启动oracle9i! 或者可在/etc/rc.d/rc.local中加入如下: su - oracle -c "/u01/app/oracle/product/9.2.0.4/bin/lsnrctl start" su - oracle -c "/u01/app/oracle/product/9.2.0.4/bin/dbstart start" 6, 关于数据库删除重新安装的问题: 把ORACLE安装目录删除及/etc/ora*.*删除就行了 #rm –f /etc/ora*.* 7,关于在LINUX中运行管理软件 #oemapp |
一个完整的ftp远程批量shell