Как определить, что использует Oracle Spatial?

У нас есть установка Oracle Enterprise Edition 10, и, как мне объяснили наши администраторы баз данных, установки Oracle Enterprise включают все расширения, и вы просто лицензируете то, что вы используете.

Мы обнаружили, что используем Oracle Spatial, но не хотим этого делать. Я могу подтвердить для себя, что он используется с этим SQL:

select * from dba_feature_usage_statistics;

К сожалению, это все, что я могу узнать. У нас есть большое количество приложений, которые используют элементы Spatial, но, спросив всех наших поставщиков, они уверяют нас, что их приложения используют Oracle Locator (который является бесплатным подмножеством Spatial).

Итак, мой вопрос прост: как узнать, какое именно приложение использует расширение Oracle Spatial? В качестве альтернативы (выявленной ответом ik_zelf), как мне доказать, что я использую только подмножество Locator Spatial.


person GIS-Jonathan    schedule 11.04.2012    source источник


Ответы (2)


Проверьте метаданные sdo:

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

если вы немного углубитесь в статистику dba_feature_usage_statistics, вы обнаружите, что этот запрос является частью определения того, что используется, а что нет. MDSYS и OE схемы не учитываются, даже если они содержат объекты sdo.

person ik_zelf    schedule 11.04.2012
comment
У меня был администратор баз данных, и это дало много результатов. Есть столбцы для SDO_TABLE_NAME SDO_COLUMN_NAME и т. д., но неясно, что это такое (я предполагаю, что запись о том, что кто-то получил доступ к материалам SDO). Ничего не говорит о том, откуда пришли соединения или какое приложение сделало запрос. - person GIS-Jonathan; 12.04.2012
comment
Теперь я изучил это подробнее, и похоже, что эта таблица представляет собой всего лишь список всех таблиц с геометрией SDO в них. Я не считаю этот тест допустимым для Spatial, поскольку Locator также использует SDO_Geometry — docs.oracle.com/cd/B19306_01/appdev.102/b14255/sdo_locator.htm - person GIS-Jonathan; 12.04.2012
comment
Этот запрос является частью проверки. Если вы можете доказать, что использование исходит только от Locator и что Locator может использовать SDO бесплатно, все должно быть в порядке. Обратитесь к торговому представителю Oracle. сейчас лучший вариант. - person ik_zelf; 12.04.2012
comment
Ах, но именно в этом и заключается смысл этого вопроса — как мне доказать, что я только использую Locator (входит в комплект бесплатно), а не Spatial (за дополнительную плату)? - person GIS-Jonathan; 12.04.2012
comment
Этот запрос совершенно бесполезен для определения того, используются ли пространственные функции. Все, что он делает, это перечисляет все таблицы, которые содержат векторную геометрию (объекты SDO_GEOMETRY), и они могут одинаково использоваться Locator или Spatial. - person Albert Godfrind; 13.05.2014

На веб-сайте Oracle есть список функций, являющихся частью Oracle Spatial и Oracle Locator: http://docs.oracle.com/cd/B19306_01/appdev.102/b14255/sdo_locator.htm#SPATL340 — обратите особое внимание на раздел, в котором перечислены вещи, доступные только в Оракул Пространственный.

Коротко о том, что (в основном) следующие вещи не обсуждаются для Locator:

  • Топология
  • Сетевая модель данных
  • ГеоРастр
  • Геокодирование
  • Встроенные функции интеллектуального анализа данных
  • Линейная привязка
  • Некоторые функции пространственного агрегирования
  • Некоторые части пакета sdo_geom

Хранение, индексирование, разбиение на разделы, пакет sdo_util, преобразование координат и многое другое полностью находятся в Locator. Я бы просто проверил представление dba_source на наличие хранимых процедур, использующих любую из запрещенных функций.

Для кода вне базы данных, я думаю, вы должны поверить кому-то на слово, но по моему опыту внешние приложения, как правило, используют свои собственные методы, а не встроенные функции Oracle.

person Ben    schedule 10.07.2012
comment
Спасибо за это. Я уже знал об этом документе, поэтому я совершенно уверен, что мы не используем Locator намеренно. К сожалению, наша проблема заключается в попытке получить информацию из базы данных Oracle, чтобы сообщить нам, что происходит. - person GIS-Jonathan; 12.07.2012