• ArcGIS创建要素提示表已经被注册(Table already registered)


    环境说明:

    服务端:Centos6.7  Oracle11gR2 RAC集群     已经注册企业级数据库

    本机:WIN10   ArcGIS10.1

    问题描述:

    因为原来的表空间创建错误(路径指定错误),需要将表空间数据清空后,删除表空间并重建,重建后无法导入或者新建原有数据,提示表已经存在错误,具体错误信息如下:

    Table already registered [Error executing stored procedure sde.registry_util.insert_registration:ORA-20218:Registration 14158 already exists.]

    QQ截图20210122151834

    问题解决:

    因为空间数据会在在SDE下注册相应,怀疑是注册信息因为某些情况未删除导致的,解决思路是清除一下相应图层在SDE下的相关注册信息。

    1、SDE自带清理的方法,按照道理是最安全的,可以使用【sdetable -o unregister -t tablename】命令进行清理表的注册信息。但是sdetable命令需要安装ArcSDE软件(10.1之后都是是使用直连的方式,很少安装SDE软件了,只要创建一个企业级数据库即可),数据库是RAC集群的,而且也没有在linux rac下安装SDE的经验,担心会对数据库有所影响,所以没有使用此种方式。

    2、手动清理

    根据表名和用户在SDE下找到所有涉及到该要素集注册信息的表。我初步找到以下几张表

    TABLE_REGISTRY

    LAYERS

    GEOMETRY_COLUMNS

    COLUMN_REGISTRY

    为了安全考虑,没有使用直接删除表中要素注册信息的方法,而是采用手动修改名称的方式(修改注册要素的名称),修改过程做好记录,以便于出现问题恢复。

    按照表采用从上往下的顺序修改,修改一张表测试一次,比较奇怪的是,我只是修改了TABLE_REGISTRY,然后LAYERS表中的要素注册信息就查询不到了,难道是有所关联?至今为搞清楚,修改后尝试进行数据创建和拷贝,均正常,问题解决。

    GEOMETRY_COLUMNS和COLUMN_REGISTRY表的内容也没有修改。后续会持续跟踪使用情况,评估是否有其他的影响。

    image

    参考:

    https://support.esri.com/en/technical-article/000006563

    https://blog.csdn.net/qq_15696177/article/details/79141872

  • 相关阅读:
    小知识
    对NSArray中自定义的对象进行排序
    照片浏览滑动效果UIScrollView和UIPageControl组合
    label 设置行间距 字间距
    即使通讯聊天界面搭建----iOS
    ios8推送新增
    UITableviewCell滑动出现多级的控制按钮
    iOS 去掉html标签 留下原本的字符串
    平时常用的小知识点 (不断更新中)
    IOS UI多线程 NSThread 下载并显示图片到UIImageView
  • 原文地址:https://www.cnblogs.com/Jingkunliu/p/14314045.html
Copyright © 2020-2023  润新知