两个SDE引发的问题

Posted by 蒋波涛 23 October,2006 Views (2)Comment

由于工作的需要,我在自己机器的oracle上新建了两个数据库A和B,并基于两个数据库分别建立了两个SDE服务,两个数据库使用各自的物理文件,且两个SDE服务也是分别基于不同的Oracle数据库,但是"奇妙"的事情就此开始了,当我使用ArcCatalog打开一个SDE数据库,并改变其中的数据时,另一个SDE数据库的数据居然同步在变化,让我惊奇的真以为自己看花了眼睛,以为不小心连接到一个数据库上去了。反复几次,寻找原因:

1.两个SDE服务可能使用的是同一个物理文件吗?我们知道,在新建SDE服务的时候,会在数据库中新建一个SDE用户及其SDE表空间,而这个表空间的物理文件,即sde.dbf,是默认放在admin下的,因此,在新建两个服务的时候,如果不注意,完全可能让后一个SDE物理文件覆盖前一个,即两个服务使用一个物理文件的情况。但我在新建SDE服务的时候,就特别注意到这一点,且我的地理数据,是采用专门的表空间在存储,而不是SDE表空间。

2.两个SDE服务占用的端口一样吗?打开C:\WINDOWS\system32\drivers\etc\中的services文件,发现两个服务分别使用5151和5152端口,不可能。

3.莫非Oracle的两个数据库占用一个端口?打开企业管理器,果然如此,两个数据库使用同一个端口。改变其中一个的端口,并建立一个新的监听器。问题还是没有得到解决。

打电话问ESRI技术人员,结果是不知道出了什么问题,但是建议一台server上最好只有一个SDE服务。

经验:
1.在一台机器上安装多个oracle数据库的时候,最好让它们各自分别使用不同的端口,并有自己的监听器。
2.新建SDE服务的时候,最好将默认的SDE物理文件路径改掉
3.SDE用户和SDE表空间,最好只是用来存储SDE数据库的组织文件,即以GDB开头的那些为了是oracle作为一个地理数据库而需要建立的表;用户自己的数据,新建其它的用户和相应的表空间来存储。

Related Items

Categories : Oracle学习 Tags : ArcObjects  ArcSDE  个人咚咚  
Comments
2006-10-25 12:06:25

我在用Createfeatureclass时出现了这样的问题:
DBMS table not found[Microsoft OLE DB Provider for SQL Server:无法完成延迟准备.
对象名'sde.sde.GDB_NetDatasets'无效.]
[sde.sde.GDB_NetDatasets][STATE_ID=0]
请问这是什么原因啊?
SDE里没有'sde.sde.GDB_NetDatasets'这个表啊,请回复!

Posted by NALA Gravatar Icon

2009-10-28 16:26:51

我现在也要在服务器上建2个SDE数据库实例,也用2个Oracle数据库实例,还在配,好像有点难度。。

Posted by Goed Gravatar Icon

Leave a comment

Or, take a look at Archives and Categories

目录

存档