哥们我原来的环境为 Window7操作系统,数据库Oracle11.1.0.6(64BIt服务器端),Oracle11.1.0.6(32Bit客户端),ArcSDE10 SP2补丁,但是在执行ST_Geometry SQL查询时,extproc.exe进程的内存成几十MB递增,这应该是
Oracle11.1.0.6数据库的一个Bug,所以我选择卸载我的数据库所有Oracle,安装Oracle11.2.0.1版本
下面就说明一下怎么的悲剧
1:关于卸载Oracle,基本没有什么说的,关闭相关的所有Oracle服务,有直接的卸载程序,完毕之后,删除所有Oracle文件夹,注册表删除相关Oracle信息,这一步比较顺利
2:安装Oracle服务器端,悲剧就开始了,在安装Oracle有一个预前检查,有一项比较变态,说你的环境变量太长了,必须在一个长度范围内才能继续安装,以前安装Oracle都是在安装操作系统后,第一个安装,所以一直就没有怎么报这个错误,现在重装Oracle,我已经安装了N个程序,在环境变量里面都装了那么多信息,现在它有一个环境变量长度限制,个人感觉太变态了,我曾经忽略过去,结果报了一个错误,没有办法,只有将环境变量复制一份,截取了一点,重启机器即可。
PS,因为修改环境变量,一开始以为只能重启机器才能生效,最后发现只需要注销就可以了,让我重启了好几次
3:安装Oracle服务器端,建议安装软件和创建数据库分开来做,这样避免问题比较少,如果一块做,RP不好了有可能出问题,大部分是监听问题和EM的问题,不过都是小问题
4:安装Oracle客户端,客户端的安装也有环境变量长度限制的问题,所以建议安装完服务器端,直接安装客户端即可,基本不会出现问题
PS,在Oracle安装完毕后,不管是服务器端还是客户端都需要往环境变量写东西,而且如果有一个新的软件安装,就会将新软件的信息写在环境变量的最前面,这一点分成重要了,那么大家都知道我64Bit的Oracle服务器可以安装64Bit的ArcSDE,我32Bit的Oracle客户端也可以安装32Bit的ArcSDE,所以我这台机器都可以安装,那么我选择那么个呢,那么用户是想将ArcSDE和数据库安装在一块还是做一个分布式安装呢。
a:ArcSDE与数据库安装在一块,那么需要安装64Bit的ArcSDE,那么你的数据库64Bit服务器软件的环境变量应该放在环境变量最前面或者说放在客户端信息的前面
b:如果是分布式安装,道理一样,需要将客户端的环境变量信息写在前面了
-----------------------------------------------
因为我机器上安装了两个ArcSDE,Post重新将两个服务建立了,这时候最后一个建立的服务更改SDEHOME环境变量,这如果不注意也会出现问题,例如你有一个ORacle的一个SQL的,SDEHOME为SQL的
1:比如你的Oracle服务出现问题了,你SDEHOME如果执行SQL的,你只能去SQL的文件夹查看日志文件了
2:在ArcGIS10安装ST_Raster,在执行时如果报could not be loaded library,这就说明你的SDEHOME有问题
-----------------------------------------------
以上是在重装Oracle之后自己的一点感受,不管怎么样,每次重装Oracle都能有些数据库和ArcSDE的收获,其实以前也可能知道一些问题,但是不理解,总结一下,希望能给大家带来帮助。