自己建了一个有空间坐标的表,然后为空间字段创建一个空间索引,不论用SQLPLUS,或者用OEM,结果总是出错。
sql语句很简单:
CREATE INDEX
SCGRID.COOR_IDXON
SCGRID.GRID(COOR) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
错误信息如下:
ORA-29855: 执行 ODCIINDEXCREATE
例行程序时出错
ORA-13203: 无法读取 USER_SDO_GEOM_METADATA
视图
ORA-13203: 无法读取 USER_SDO_GEOM_METADATA
视图
ORA-06512: 在
"MDSYS.SDO_INDEX_METHOD_10I", line 10
在网上查了半天,有的说是权限的问题,可是我用sys、system都试过,一样的问题。我甚至把所有权限全部赋给scgrid这个用户来试,还是不行。
又有的文章说是O7_DICTIONARY_ACCESSIBILITY
这个参数的问题,要设置为true。照样修改参数,然后重启数据库,依旧出错。
在百度上搜了好几轮,没找到解决办法。头大了。
换google搜索,总算找到了问题所在。
(声明:俺不是给google做广告,平时俺都优先用百度的,但是百度的搜索范围好像只局限于中文网站,这个就不如google了)
原来在给自己的表建立空间索引之前,还要在MDSYS.SDO_GEOM_METADATA_TABLE这张表中