Oracle audit, net als veel andere uitgevers, haar klanten (zie ook www.oracle.com/corporate/lms). Om dit te kunnen doen worden meestal scripts gebruikt om het gebruik te inventariseren en kwantificeren. Een relatief nieuw onderdeel in het audit proces van Oracle is een script wat op Oracle databases het gebruik van Database Options en Management Packs inventariseert. Dit is begrijpelijk, aangezien veel DBA’s puur omwille van performance, uptime garantie en troubleshooting deze tooling in gebruik nemen zonder te weten dat er hiervoor een additionele licentie nodig is. Het script wat Oracle LMS gebruikt wil zelfs verder kijken dan het vraagstuk of een optie is geïnstalleerd. En ook dit is begrijpelijk, want tijdens een normale installatie procedure worden de meeste opties al door Oracle geïnstalleerd, zodat deze in gebruik genomen kunnen worden zonder het systeem te moeten herstarten. Het script van Oracle heeft dan ook met name als doel om te bepalen of een optie ook werkelijk wordt gebruikt: In dat geval is er een licentie nodig.
Zo ook voor Oracle Spatial. Dit is een functie die tegen betaling van een additionele licentievergoeding beschikbaar is voor licentienemers van Oracle Database Enterprise Edition software. Oracle Spatial geeft deze klanten de mogelijkheid om met een grote variatie aan geavanceerde geografische/ruimtelijke functies te werken. Alleen de Spatial functie ‘Locator’ is voor elke Oracle database beschikbaar zonder dat een licentie hiervoor nodig is, zelfs in de gratis Oracle XE database. Met de Oracle Locator functie kunnen GIS systemen (Geografisch Informatiesysteem) gebouwd worden: Denk aan routeplanners andere locatie gebaseerde applicaties.
Om te bepalen of een klant Oracle Spatial gebruikt wordt de klant verzocht om een script te draaien waarbij ook de volgende selectie wordt gemaakt:
select count(*) “ALL_SDO_GEOM_METADATA”
from ALL_SDO_GEOM_METADATA;
PROMPT
PROMPT If no rows are returned, then SPATIAL is NOT being used.
PROMPT If rows are returned then SPATIAL IS being used.
PROMPT
Door dit script op uw database los te laten wordt er gekeken of er metadata is opgevoerd voor een laag met een SDO_GEOMETRY kolom: Om een spatial index te kunnen maken moet er namelijk metadata opgevoerd zijn. Nu wil het zo zijn dat het maken van een spatial index ook een onderdeel is van Oracle Locator, een functie van de Oracle database waar u geen additionele licentie voor nodig heeft. Het is dus de vraag wat er gebeurd wanneer het script wordt gebruikt op een database die werkelijk geavanceerde Spatial functies gebruikt, en wat er gebeurd wanneer het script wordt gebruikt op een database die alleen de Oracle Locator gebruikt. Dit is onderzocht, en het blijkt dat in beide gevallen rijen door het script worden geretourneerd. Zelfs in het geval van Oracle XE, een database waarbij het technisch onmogelijk is om Spatial te gebruiken (en dus ook te licenseren).
Wij stellen daarom dat het te voorbarig is om te roepen dat er Spatial wordt gebruikt door enkel en alleen op het audit script van Oracle af te gaan (dit script is door Oracle in Q3 2007 aan een klant gestuurd). Wanneer er als resultaat van het script rijen worden geretourneerd zal dit vaak veroorzaakt worden door de populaire “Locator” functie en niet de optionele (en zelden gebruikte) Spatial optie. Om echt te kunnen zien of Locator of Spatial wordt gebruikt moet worden gekeken welke packages gebruikt worden. Doet u dat niet, dan koopt u een licentie voor een functie die u wellicht al mag gebruiken.
Zoekt u meer informatie over dit onderwerp? Lees hier dan verder.
PROMPT If rows are returned then SPATIAL IS being used.
PROMPT If rows are returned then SPATIAL MAY OR MAY NOT BE IN USE, BUT YOU REALLY CAN’T TELL BY RUNNING THIS QUERY.
————-
EDIT 24/07/2008: bovengenoemde fout was van toepassing bij script versie 0.22. Oracle bekijkt dit log met argusogen en heeft daarom het script aangepast. Nieuwe versies van het script zeggen inderdaad dat er verder onderzoek noodzakelijk is om uitsluitsel te kunnen geven. Echter zijn nu andere zaken aan het licht gekomen: Binnenkort meer over dit onderwerp. Tot die tijd adviseren wij u om contact met ons op de nemen voordat u scripts van Oracle in gebruik neemt!
————