转载请注明原文地址:http://www.cnblogs.com/litou/p/8028843.html
html
环境:Oracle 11g 11.2.0.1.0(双节点RAC群集),ArcGIS Desktop 10.1。数据库
通常在Oracle单机实例的状况下须要存储ArcGIS空间数据,第一次须要使用ArcGIS工具箱中的Create Enterprise Geodatabase工具生成SDE用户、表空间及相应的管理表,这个在Oracle单机实例状况下是没有问题的。工具
可是在Oracle RAC群集的状况下使用该工具建立SDE相关内容时,会建立失败,具体错误缘由为没法找到表空间的数据文件。这时打开Oracle控制台的表空间页面也报一样的错误。ui
这时使用DBA权限用户登陆数据库,查看数据库的表空间文件状况,因为Oracle RAC使用的是ASM存储管理,并不是通常的文件存储方式,而Create Enterprise Geodatabase工具中,SDE用户的默认表空间SDE_TBS的数据文件默认是放在Oracle HOME的本地路径上,并不是ASM管理的存储上,致使表空间数据文件找不到。spa
参考《解决OracleRAC集群下建立SDE时报Stored procedures错误问题》的作法,错误是解决了,使用SDE用户存储和使用空间数据没有问题,可是其余非SDE数据库用户建立或导入空间数据,空间数据自动都存在SDE用户下,没法使用其余数据库用户保存空间数据。.net
解决办法:日志
一、如已使用过Create Enterprise Geodatabase工具并出现上面的报错,使用DBA权限用户登陆数据库,删除SDE用户和SDE_TBS表空间。htm
a)删除SDE用户:drop user cascade;blog
b)删除SDE_TBS表空间:drop tablespace sde_tbs including contents;get
二、经过Oracle控制台手动建立SDE_TBS表空间,这里SDE_TBS表空间的数据文件使用的是ASM存储管理。
三、再次使用Create Enterprise Geodatabase工具生成,这时SDE相关的东西就会建立成功,建立日志提示有个警告,但不影响使用。