2012-04-11 17 views
3

Wir haben eine Oracle Enterprise Edition 10-Installation, und wie mir von unseren Datenbankadministratoren erklärt wurde, enthalten Oracle Enterprise-Installationen alle Erweiterungen, und Sie werden lediglich nach dem lizenziert, was Sie verwenden.Wie ermittle ich, was Oracle Spatial verwendet?

Wir haben festgestellt, dass wir Oracle Spatial verwenden, aber das wollen wir nicht sein. Ich kann für mich selbst bestätigen, dass ihr Wesen mit diesem SQL verwendet:

select * from dba_feature_usage_statistics;

Leider ist alles, was ich herausfinden kann. Wir haben eine große Anzahl von Anwendungen, die Spatial-Elemente verwenden, aber nachdem wir alle unsere Anbieter gefragt haben, versichern sie uns, dass ihre Apps Oracle Locator verwenden (was die freie Teilmenge von Spatial ist).

Also meine Frage ist einfach - wie finde ich genau heraus, welche App die Oracle Spatial Extension verwendet? Alternativ (wie durch die Antwort von ik_zelf gezeigt), wie kann ich beweisen, dass ich nur die Locator-Untermenge von Spatial verwende?

Antwort

2

Überprüfen Sie die SDO-Metadaten:

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

, wenn man ein wenig tiefer in die dba_feature_usage_statistics graben Sie diese Abfrage als Teil der Bestimmung finden, was verwendet wird und was nicht. Die MDSYS und OE des Schemas werden nicht gezählt, auch wenn sie sdo-Objekte haben.

+0

sind Sie als dba angemeldet? –

+0

Ich hatte einen DBA es laufen lassen und es gab viele Ergebnisse. Es gibt Spalten für 'SDO_TABLE_NAME'' SDO_COLUMN_NAME' etc, aber es ist nicht klar, was diese sind (Ich vermute einen Datensatz, dass etwas auf SDO-Sachen zugegriffen hat). Es gibt keine Angaben darüber, woher die Verbindungen stammen oder welche Anwendung die Abfrage durchgeführt hat. –

+0

Ich habe mich jetzt weiter damit befasst und es sieht so aus, als wäre diese Tabelle nur eine Liste aller Tabellen mit SDO-Geometrie in ihnen. Ich sehe nicht, dass dies ein gültiger Test für Spatial ist, da Locator auch SDO_Geometry verwendet - http://docs.oracle.com/cd/B19306_01/appdev.102/b14255/sdo_locator.htm –

0

Es gibt eine Liste von Funktionen, die Teil von Oracle Spatial vs. Oracle Locator auf der Oracle-Website ist: http://docs.oracle.com/cd/B19306_01/appdev.102/b14255/sdo_locator.htm#SPATL340 - speziell achten Sie auf den Abschnitt, der Dinge auflistet, die nur in Oracle Spatial verfügbar sind.

Die kurze Geschichte ist, dass (im Grunde) die folgenden Dinge vom Tisch für Locator sind:

  • Topologie
  • Netzwerk-Datenmodell
  • GeoRaster
  • Geocoding
  • In-built-Daten Mining-Funktionen
  • Lineare Referenzierung
  • S OMe räumliche Aggregations Funktionalität
  • Einige Teile des sdo_geom Paket

Speicherung, Indexierung, Partitionierung, sdo_util Paket, Koordinatentransformationen und sind vollständig innerhalb Locator. Ich würde einfach die dba_source Ansicht für alle gespeicherten Prozeduren überprüfen, die eine der verbotenen Funktionen verwenden.

Für Code außerhalb der Datenbank, ich denke, Sie müssen jemandes Wort dafür nehmen, aber nach meiner Erfahrung neigen externe Anwendungen dazu, ihre eigenen Methoden anstelle von Oracle eingebauten Funktionen zu verwenden.

+0

Danke dafür. Ich war mir dieses Dokuments bereits bewusst, weshalb ich ziemlich sicher bin, dass wir Locator nicht absichtlich verwenden. Leider versucht unser Problem, Informationen aus der Oracle-Datenbank zu erhalten, um uns mitzuteilen, was passiert. –