项目的一个sde与oracle的数据库,突然无法导入空间数据了(一般都是在arcmap中,通过sde的方式,连接到oracle)
大家都不知道怎么办,准备重新建一个新的数据库。
我google了一下,找到了原因。记录一下,希望能帮到更多的人。
很遗憾,报错的error信息没有记录下来。
大家看看分析思路是否有帮助吧:
1、首先,我们新建一个表空间是这样的:通过oracle的em新建一个表空间;
之后,通过命令,在表空间中建立相应SDE数据表,指定用户和密码。
sdesetup -o install -d oralce11g ......................
原理解析:该命令实际上是在oracle中,建立了sde的用户配置表。(在instance这个表中,也新建了一条这个表空间的记录)
问题来了?
2、如果这个oracle的表空间不需要了,手动删除了,再次sde连接数据库就会报错了?!
提示信息大概是:instance conflict
如果你能够仔细分析,这个问题就可以解决,oracle中的表空间,与instance表中对应的表空间条目不是一一对应的。
因此,因为oracle中,你手动删除了表空间,而sde的instance表中,还残余了该表空间的记录信息,不对应了,所以sde表空间被锁定了。
3、处理方法是:手动在instance表中,删除你在oracle中删掉的表空间这条记录,保持一致就可以解除锁定了。