如何确定使用Oracle Spatial的内容?

时间:2012-04-11 15:34:28

标签: oracle oracle10g oracle-spatial

我们安装了Oracle Enterprise Edition 10,正如我们的DBA向我解释的那样,Oracle Enterprise安装包括所有扩展,并且您只是根据您的使用许可。

我们发现我们正在使用Oracle Spatial,但我们不希望这样。我可以自己确认它与这个SQL一起使用:

select * from dba_feature_usage_statistics;

不幸的是,这是我能找到的全部内容。我们有大量使用Spatial元素的应用程序,但在向我们所有供应商询问后,他们向我们保证他们的应用程序正在使用Oracle Locator(这是Spatial的免费子集)。

所以我的问题很简单 - 如何确切地发现哪个应用程序正在使用Oracle Spatial扩展? 或者(通过ik_zelf的回答揭示),我如何证明我只使用Spatial的Locator子集。

2 个答案:

答案 0 :(得分:2)

检查sdo元数据:

select * from mdsys.sdo_geom_metadata_table where sdo_owner not in ('MDSYS', 'OE')

当您在dba_feature_usage_statistics中深入挖掘时,您会发现此查询是确定正在使用的内容和不使用内容的一部分。模式的MDSYS和OE不计算在内,即使它们有sdo对象。

答案 1 :(得分:0)

Oracle网站上有一个Oracle Spatial与Oracle Locator一部分的功能列表:http://docs.oracle.com/cd/B19306_01/appdev.102/b14255/sdo_locator.htm#SPATL340 - 特别注意列出仅在Oracle Spatial中可用的内容的部分。

简短的故事是(基本上)以下内容不在Locator的桌面上:

  • 拓扑
  • 网络数据模型
  • 的GeoRaster
  • 天气预报
  • 内置数据挖掘功能
  • 线性参考
  • 一些空间聚合功能
  • sdo_geom包的某些部分

存储,索引,分区,sdo_util包,坐标转换等等都完全在Locator中。我只需检查dba_source视图中是否存在任何使用任何禁用函数的存储过程。

对于数据库之外的代码,我想你必须接受别人的话,但根据我的经验,外部应用程序倾向于使用自己的方法而不是Oracle内置功能。<​​/ p>