3

我们有一个 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 的定位器子集。

4

2 回答 2

2

检查 sdo 元数据:

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

当您深入研究 dba_feature_usage_statistics 时,您会发现此查询是确定正在使用什么和不使用什么的一部分。架构的 MDSYS 和 OE 不计算在内,即使它们具有 sdo 对象也是如此。

于 2012-04-11T16:05:46.467 回答
0

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

简短的故事是(基本上)以下事情不适合定位器:

  • 拓扑
  • 网络数据模型
  • 地理栅格
  • 地理编码
  • 内置数据挖掘功能
  • 线性参考
  • 一些空间聚合功能
  • sdo_geom 包的某些部分

存储、索引、分区、sdo_util 包、坐标转换等都完全在 Locator 中。我会简单地检查dba_source使用任何禁止功能的任何存储过程的视图。

对于数据库之外的代码,我想你必须相信别人的话,但根据我的经验,外部应用程序倾向于使用它们自己的方法,而不是 Oracle 的内置特性。

于 2012-07-10T22:47:31.970 回答