Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确定使用Oracle Spatial的是什么?_Oracle_Oracle10g_Oracle Spatial - Fatal编程技术网

如何确定使用Oracle Spatial的是什么?

如何确定使用Oracle Spatial的是什么?,oracle,oracle10g,oracle-spatial,Oracle,Oracle10g,Oracle Spatial,我们有一个Oracle Enterprise Edition 10安装,正如我们的DBA向我解释的那样,Oracle Enterprise安装包括所有扩展,您只需根据您使用的内容获得许可即可 我们发现我们正在使用Oracle Spatial,但我们不想这样。我可以自己确认它正在与此SQL一起使用: 从dba\u功能\u使用情况\u统计中选择* 不幸的是,我只能找到这些。我们有大量使用空间元素的应用程序,但询问了所有供应商后,他们向我们保证,他们的应用程序使用的是Oracle Locator,这是

我们有一个Oracle Enterprise Edition 10安装,正如我们的DBA向我解释的那样,Oracle Enterprise安装包括所有扩展,您只需根据您使用的内容获得许可即可

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

从dba\u功能\u使用情况\u统计中选择*

不幸的是,我只能找到这些。我们有大量使用空间元素的应用程序,但询问了所有供应商后,他们向我们保证,他们的应用程序使用的是Oracle Locator,这是空间元素的免费子集

所以我的问题很简单-我如何确切地发现哪个应用程序正在使用Oracle Spatial extension?
通过ik_zelf的回答,我如何证明我只使用了Spatial的定位器子集。

检查sdo元数据:

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

当您深入研究dba_特性_使用情况_统计信息时,您会发现此查询是确定使用什么和不使用什么的一部分。架构的MDSYS和OE不计算在内,即使它们有sdo对象。

Oracle网站上有一个功能列表,它是Oracle Spatial vs.Oracle Locator的一部分:-请特别注意列出仅在Oracle Spatial中可用的内容的部分

简而言之,定位器基本上不需要考虑以下事项:

拓扑学 网络数据模型 空间栅格 地理编码 内置数据挖掘功能 线性参考 一些空间聚合功能 sdo_geom包的某些部分 存储、索引、分区、sdo_util包、坐标转换等都完全在Locator中。我只需检查dba_源代码视图中是否有使用任何禁用函数的存储过程


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

我让一位DBA运行它,它给出了很多结果。SDO_TABLE_NAME SDO_COLUMN_NAME等有一些列,但不清楚它们是什么,我猜是某个记录访问了SDO内容。没有说明连接来自何处,也没有说明是什么应用程序进行了查询。我现在进一步研究了这一点,该表似乎只是包含SDO几何体的所有表的列表。我不认为这是对Spatial的有效测试,因为Locator也使用SDO_几何体-此查询是检查的一部分。如果您可以证明使用仅来自定位器,并且定位器可以免费使用SDO,那么应该可以。检查一下您的Oracle销售代表。这是现在最好的选择。啊,但这正是问题的重点-我如何证明我只使用了免费的定位器,而不是空间昂贵的额外定位器?该查询在确定是否使用空间特定功能时完全没有用。它所做的只是列出包含矢量几何SDO_几何对象的所有表,这些表可以被定位器或空间对象同等使用。谢谢。我已经知道这个文档,这就是为什么我相当确定我们不是故意使用定位器的原因。不幸的是,我们的问题是试图从Oracle数据库中获取详细信息来告诉我们发生了什么。