从gadm.org下载大陆和台湾地区的行政区划shape数据,导入数据库后,直接把台湾地区的数据插入到CHN_ADM1的表中,提交事务时,出现下面错误:sql
ORA-29875: 没法执行 ODCIINDEXINSERT 例行程序
ORA-13031: SDO_GEOMETRY 对象中用于点对象的 Gtype 无效
ORA-06512: 在 "MDSYS.SDO_INDEX_METHOD_10I", line 720
ORA-06512: 在 "MDSYS.SDO_INDEX_METHOD_10I", line 225数据库View program sources of error stack?code
发现上海的空间数据有问题,修正语句对象
UPDATE CHN_ADM1 t SET t.geometry = MDSYS.SDO_GEOMETRY(2003, 8307, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 1), MDSYS.SDO_ORDINATE_ARRAY(...)) WHERE t.id_1 = 24
运行出现错误索引
ORA-29861: 域索引标记为 LOADING/FAILED/UNUSABLE 事务
删除索引后,再次运行成功插入。重建索引。class
create index SIDX_CHN_ADM1 on CHN_ADM1 (GEOMETRY) indextype is MDSYS.SPATIAL_INDEX
发现TWN_ADM1的记录有多行,不是和CHN_ADM1一行记录(省)等价。date
update CHN_ADM1 c1 set (c1.geometry)=( select t0.geometry from TWN_ADM0 t0) where p1.name_0='Taiwan';