VISIE
VISIE
Winter 2008 • Jaargang 13 • Nummer 2 • h 7,50
Oracle Gebruikersclub Holland
Oracle Benelux User Group
JDeveloper 11g 11g -- mijlpaal mijlpaal release release biedt biedt JDeveloper Web 2.0 2.0 én én productiviteit productiviteit Web
OBUG OBUG Benelux Benelux Connect Connect -- Embrace Embrace the the Future Future
Business Intelligence en GIS
Embrace the Future March 31st 2009 in Antwerp Metropolis Cinema Complex in Antwerp, Belgium on March 31st
Members for free (maximum 3 members for free, every member more: €100,-) Nonmembers: €150,Register at http://www.obug.nl/ Info OBUG Benelux Connect: Mr. C. Coolen,
[email protected] Info OBUG federation: OBUG secretary, mailto:
[email protected]
Platinum sponsor:
Voorwoord Geachte lezer, Voor u ligt het winternummer 2008! Een nummer dat, naar verwachting, voor het laatst zal verschijnen in deze vorm. We vertellen u dat met enige trots, want het is bijna zo ver dat de fusie tussen BLOUG, BRUG, OAUG en OGH een feit is. En dus zal de Oracle Gebruikers Club Holland opgaan in de OBUG. En OGh Visie gaat in de toekomst OBUG Visie heten. Natuurlijk zal het bestuur in een speciale Algemene Ledenvergadering uw goedkeuring voor deze plannen vragen.
VISIE
Colofon Redactie
H. Gerritse (hoofdredacteur) R. Buitenhuis M. Jonkers M. Uitentuis
Redactie-adres
Oracle Gebruikersclub Holland Utrechtseweg 48/C 3704 HE Zeist Postbus 701, 3700 AS Zeist T +31 (0)30 699 70 70 E
[email protected]
Realisatie
Drukkerij Donath B.V. T (030) 69 22 887 F (030) 69 181 34 E
[email protected]
Organisatie
A.J. van der Weijden-Klinkers BMO b.v. T + 31 (0)30 6997070 F + 31 (0)30 6962378 E
[email protected]
OGh-secretariaat/ advertentie-exploitatie
Utrechtseweg 48/C, 3704 HE Zeist A.J. van der Weijden-Klinkers T +31 (0)30 69 970 65 F +31 (0)30 69 623 78 E
[email protected] W www.ogh.nl
Gebruikersbijeenkomsten/congres Werving sprekers/ onderwerpen: Th. Koster Conclusion Communication E
[email protected]
Bestuur OGh
Voorzitter R. Bos Delta Lloyd NV T +31 (0)20 59 423 60 E
[email protected] Penningmeester H. Fermont Matadex BV T + 31 (0)6 41 42 35 56 E
[email protected] Overige bestuursleden R. Buitenhuis Ciber Nederland BV T + 31 (0)6 15 06 88 59 E
[email protected] Y. Fu Itude Technology T +31 (0)30 65 661 71 E
[email protected] Vertegenwoordiger SIM M. Uitentuis Atlis Informatiesystemen T + 31 (0)30 60 200 70 E
[email protected] Oplage 7.000 OGh Visie is een uitgave van Oracle Gebruikersclub Holland en wordt verzonden aan al haar leden en Oracle geïnteresseerden. U kunt zich aanmelden voor een gratis abonnement via de website www.ogh.nl
© 2008 OGh
In het zomernummer van 2007 maakten we melding van de oprichting van de OBUG. Deze oprichting is een belangrijke stap om de activiteiten van de gebruikersverenigingen in de Benelux op één lijn te brengen. Sinds 2007 hebben de besturen niet stil gezeten en het plan is dat medio 2009 de integratie van vier (van de oorspronkelijk zes) usergroups een feit zal zijn. De vier deelnemende partijen zijn de BRUG: PeopleSoft & J.D. Edwards Benelux Regional User Group, (www.brugonline.org), de BLOUG: Belgium Luxemburg Oracle User Group (www.bloug.org), OAUG-NL: Oracle Application Usergroup Nederland (www.oaug.nl) en de OGh: Oracle Gebruikersclub Holland (www.ogh.nl). Uiteraard wordt er rekening mee gehouden dat ook de gebruikersgroepen van Siebel, Hyperion en eventuele toekomstige overnamekandidaten van Oracle zich aansluiten. Vooruitlopend op deze ontwikkelingen zijn ook met betrekking tot publiciteit en communicatie spijkers met koppen geslagen. Ons magazine OGh Visie zal, als de fusie eenmaal een feit is, OBUG Visie worden, waarin alle aangesloten doel- en interessegroepen een plekje kunnen vinden. De redactie zal daar-
toe worden versterkt en uitgebreid. We zijn daarom op zoek naar enthousiaste vertegenwoordigers van de deelnemende Oracle usergroups die zich willen inzetten om OBUG Visie redactionele invulling te geven en het magazine tot een succes te maken. Gegadigden kunnen zich aanmelden via het e-mailadres:
[email protected] We hopen dat bij het grote OBUG event Benelux Connect op 31 maart 2009 in Antwerpen alle formele zaken zijn afgerond en de datum van definitieve fusie dan bekend kan worden gemaakt. In dit (extra dikke) nummer staan er natuurlijk weer talrijke interessante artikelen. Daarnaast is ook de OGh website vernieuwd en verrijkt en interactiever geworden. Actuele nieuwsfeiten, achtergrondartikelen en columns over Oracle en Oracle technologie zullen vanaf nu regelmatig direct op de site worden geplaatst. Hierover en over de nieuwe mogelijkheden om uw organisatie via de OGh Site en/of OGh Visie nog meer te profileren verwijs ik u naar de informatie elders in dit nummer. Ruud Bos Voorzitter Oracle Gebruikersclub Holland
Inhoud JDeveloper 11 – mijlpaalrelease biedt Web 2.0 én productiviteit
4
OBUG Benelux Connect – Embrace the Future
9
Column - Kan Oracle Forms de deur uit?
10
Dunne rapportages en vette databases
11
De weg kwijt bij Oracle Open World
14
OGh website vernieuwd
18
‘Standaarden verbeteren de dienstverlening van de overheid’
19
OGh en SIM commissie
21
Business Intelligence en GIS
22
Daniel Fink - Effective performance for Developers en Users
25
De SQL modelclausule in de praktijk
30
Presentatie Graham Wood - DBTime en Active Session History
35
JDeveloper 11g
JDeveloper 11g mijlpaal release biedt Web 2.0 én productiviteit Door Luc Bors en Lucas Jellema Oracle producten kennen soms releases die echte mijlpalen zijn. Release 7.0 van de database was er zo een, net als 9iR2. En ook Designer 6i en Forms 4.5. Een release waarmee een nieuw plateau in functionaliteit wordt bereikt, die als het ware een nieuwe wereld ontsluit. Een release die al een flinke tijd in de lucht hangt, waar met spanning en hoge verwachtingen naar uitgekeken wordt en die altijd net iets later komt dan je had gedacht. JDeveloper 11g is ook zo’n mijlpaal
Manager, WebCenter, BAM en de
tiviteitsverbetering voor enkele dui-
release. Deze release is uitgekomen
overige Oracle Applications pro-
zenden ontwikkelaars betekent heel
in oktober 2008, maar heeft in ver-
ducten.
veel kostenbesparing!
bijna een jaar rondgezongen. Nog
In deze release zien we de invloed
Veel van de nieuwe functies in JDe-
langer is deze release onderwerp van
van die interne ontwikkelgroepen
veloper en vooral ADF zijn te herlei-
vaak opgewonden gesprekken ge-
duidelijk terug. In de afgelopen
den tot de wensen en eisen van de
weest. En met JDeveloper 11g moet
twee jaar heeft het JDeveloper team
Fusion Applications development
ook ADF 11g genoemd worden:
nauw samengewerkt met de Fusion
teams. Sommige daarvan zijn heel
JDeveloper 11g is de design time
Apps teams die stevige eisen stelden
specifiek en voor gewone applicaties
ontwikkelomgeving waarbinnen ap-
aan onder meer de aantrekkelijk-
niet of nauwelijks relevant, maar
plicaties worden gebouwd, mogelijk
heid en rijkheid van de applicaties
heel veel van die functies kunnen
met en op basis van het Application
die ADF 11g produceerde en uiter-
ook wij zinvol inzetten.
Development Framework. JDevelo-
aard de functionaliteit van die ap-
per 11g is een uitstekende IDE maar
plicatie. Minstens zo belangrijk
JDeveloper 11g en ADF 11g zijn
het echt bijzondere van deze 11g re-
- begrijpelijk gezien de enorme aan-
in enkele kernthema’s te karak-
lease is ADF 11g, het framework dat
tallen ontwikkelaars - zijn de leer-
teriseren:
productief en gestructureerd ont-
curve om ontwikkelaars op gang
• Web 2.0, rijke en aantrekkelijke
wikkelen van rijke web applicaties
te krijgen en de productiviteit die
naar een nieuw niveau tilt.
ontwikkelaars en ook teams in hun
Dit artikel beschrijft JDeveloper en
onderlinge samenwerking kunnen
ADF 11g en legt uit waarom en voor
bereiken. Een paar procent produc-
schillende Technical Previews al
wie deze release een mijlpaal kan blijken.
Wat maakt deze release tot een mijlpaal? Dit is de eerste release van JDeveloper (en ADF) die op echt grote schaal - duizenden ontwikkelaars - door de Oracle Applications ontwikkelgroepen wordt gebruikt. Fusion Applications wordt gebouwd met JDeveloper 11g, en dat geldt
4
ook voor onderdelen van diverse andere producten zoals Enterprise
user interfaces • Herbruikbaarheid, structuur en beheerbaarheid van het ont
wikkelproces
JDeveloper 11g
• Declaratief, productief ont-
component voor de ‘folder view’, en
via drag-and-drop te verplaatsen
aan de rechterkant een daaraan ge-
naar een andere component. Dub-
koppelde tabel, voor de inhoud van
bel klikken is dan misschien wel
wikkelen veelal vanuit het Model
• Data visualisatie en grafische
de folders. In een oogopslag ziet de
een veel betere optie.
We zullen kort elk van deze thema’s
representatie
eindgebruiker de inhoud van de fol-
De Query component is ook een
onder de loep nemen.
der. Omdat er ook gebruik gemaakt
voorbeeld van een krachtige nieuwe
kan worden van drag-and-drop is
feature. Hiermee kan eenvoudig
Rijk en Aantrekkelijk
het eenvoudig om bestanden te ver-
geavanceerde
Met ADF Rich Client Components
plaatsen van de ene naar de andere
worden toegevoegd aan de applica-
(ADF-RC) wordt het ontwikkelen
folder. Het werkt eigenlijk hetzelfde
tie. Met JHeadstart was deze func-
van een RIA (Rich Internet Applica-
als de verkenner van bijvoorbeeld
tionaliteit in 10.1.3x al te realise-
tion) een stuk eenvoudiger dan met
Windows XP. En dat is nou precies
ren, maar zonder JHeadstart was dit
de vorige versie van ADF. Out of the
een van de kenmerken van Web
behoorlijk complex en bewerkelijk.
box zien de componenten er al een
2.0: applicaties in de browser, die
Nu is dit een standaard component
stuk mooier uit dan in 10.1.3, het
werken zoals men dat gewend is op
die simpel aan de applicatie kan
zijn er meer dan in 10.1.3 en ze kun-
de desktop.
worden toegevoegd.
nen ook meer. Zo is er bijvoorbeeld
Componenten zoals sliders, spin-
De gebruiker kan zelf instellen hoe
de verbeterde table component die
ners, panel splitters, de nieuwe rij-
gezocht moet worden. Hij kan vel-
default de mogelijkheid bevat om
kere panelbox en functionaliteit zo-
den toevoegen aan de zoekcriteria,
te sorteren, filteren en kolommen
als client side messaging geven een
mits deze velden daarvoor zijn ge-
te verplaatsen of de breedte ervan
applicatie niet alleen een mooier en
configureerd. Vervolgens kunnen
te wijzigen. Ook het selecteren van
een professioneler uiterlijk, maar ze
deze aangepaste zoekvragen ook be-
een rij is verbeterd. In 10.1.3 moest
voegen ook degelijk iets toe aan het
waard worden.
nog veel moeite gedaan worden om
gebruikersgemak.
Browser pop-up windows zijn irri-
met een muisklik, of met de pijltjes-
Bij het gebruik van nieuwe com-
tant. Ze zijn lelijk, botsen met pop-
toetsen door een tabel te bladeren,
ponenten moet wel goed worden
up-blockers in je browser en bieden
maar in 11g is dit standaard functi-
nagedacht over de noodzaak ervan.
bepaald geen Web 2.0 ervaring. Met
onaliteit geworden.
Soms is het beter om een andere
ADF 11g RichFaces zijn ze ook niet
Met de nieuwe ADF 11g componen-
oplossing te kiezen. Eentje die mis-
meer nodig. Voor datumselectie of
ten kan bijvoorbeeld een file-explo-
schien niet mooier is, maar voor
List of Values - typisch situaties
rer (verkenner) worden gemaakt.
de eindgebruiker wel een stuk pret-
waarin een pop-up window wordt
Deze maakt het verschil tussen web
tiger. Neem nou het gebruik van
gebruikt - is in 11g een nieuw type
1.x en ADF 10.1.3x user interface
drag-and-drop, één van de nieuwe
pop-up beschikbaar; deze opent niet
aan de ene kant en Web 2.0 en ADF
mogelijkheden die ADF 11g biedt.
een apart venster maar gebruikt een
11 aan de andere kant goed duide-
Drag-and-drop maakt het leven van
‘floating DIV’ die onderdeel vormt
lijk.
de eindgebruiker aangenaam. Maar
van de pagina.
zoekfunctionaliteit
Deze pop-up component kan gekoppeld worden aan acties zoals rechter-muisklik en op die manier op diverse plekken in de pagina ondersteunende informatie beschikbaar stellen. Gebruik van pop-ups in ADF applicaties kan veel meer informatie ‘aan de vingertoppen van de gebruiker’ brengen dan er eigenlijk op een pagina past. Voor een ontwikkelaar is het bijna kinderspel om pop-ups in de appliDe ADF 11g file explorer bestaat ei-
het kan voor de gebruiker tamelijk
catie op te nemen. De stappen zijn:
genlijk uit twee gekoppelde compo-
bewerkelijk worden om bijvoorbeeld
sleep een pop-up component naar
nenten. Aan de linkerkant een tree-
uit een lijst een aantal elementen
de pagina, definieer de inhoud van
5
JDeveloper 11 g
het element (net als het definiëren
template wordt de structuur van de
re componenten is een belangrijke
van alle andere pagina-elementen)
applicatie-pagina’s bepaald - als-
doelstelling van ADF 11g. De page
en tenslotte bepaal bij welke actie
mede de generieke inhoud - logo,
templates die we eerder besproken
op welk ander element de pop-up
copyright boodschap, globaal menu
hebben zijn daarvan een voorbeeld:
moet worden getoond.
etc. Individuele pagina’s (kunnen)
de structuur wordt centraal bepaald
Een belangrijk aspect van een aan-
worden gebaseerd op zo’n template;
en beheerd en in individuele pagi-
trekkelijke applicatie is de look &
pagina’s geven aan welke inhoud ze
na’s toegepast. De skins doen het-
feel. In eerdere releases van ADF
in de facetten van het template wil-
zelfde voor de look & feel.
was het moeilijk om een consistent
len inbrengen. Op run-time wor-
Het meest belangrijke mechanisme
en vooral aantrekkelijk en op de
den template en deze facet-inhoud
voor hergebruik is de Task Flow. Een
situatie afgestemd uiterlijk van de
van de pagina gecombineerd om
Task Flow is een bundeling van een
applicatie te realiseren. Er was het
een resultaat op te leveren aan de
of meerdere pagina’s, de navigatie
‘skinning’ mechanisme maar dat
browser. Page templates kunnen
tussen die pagina’s en de operaties
op ieder gewenst moment aange-
die tussen de pagina-overgangen
past worden; met zo’n aanpassing
moeten worden ondernomen. Een
kunnen alle pagina’s van uiterlijk
wizard - train in ADF jargon - is
veranderen, zonder dat de ontwik-
een specifiek voorbeeld van een task
kelaar zelfs maar één pagina hoeft
flow, maar iedere combinatie van
te wijzigen.
samenhangende pagina’s kan je als Task Flow beschouwen. Op het
Rijke beperkingen
niveau van een Task Flow kan ook
Internet Explorer 6 wordt niet on-
transactie management, exceptie
dersteund met de RichFaces (wel
afhandeling, bookmarking en save-
met de gewone Trinidad ADF Faces
point management worden gedaan.
componenten). Er zijn nog veel be-
Een Task Flow kan een of meerdere
drijven en gebruikers die gebruik-
input parameters definiëren die de
maken van Internet Explorer 6;
koppeling tussen de aanroepende
dit is voor de korte termijn - IE 6
partij en de Task Flow bepalen. Task
gebruik loopt wel fors terug - een
Flows kunnen als regio in andere
was lastig te gebruiken. In de 11g
serieuze beperking.
pagina’s worden ingepast. Eén Task
versie is skinning als mechanisme
Helaas is het nog steeds lastig, zo
Flow kan zo op vele pagina’s wor-
vanaf het begin in de visuele com-
niet onmogelijk, om verschillende
den hergebruikt.
ponenten ingebouwd in plaats van
frameworks met elkaar te combine-
Met PanelSplitters, Tabs en Pop-ups
er later aan toegevoegd zoals voor
ren. Oracle lijkt niet van plan om
wordt binnen één pagina enorm
de 10g componenten gold. Met 11g
op korte termijn ondersteuning te
veel
skinning is er veel meer controle
bieden voor FLEX, Silverlight of Ja-
Het ontwikkelen van een enkele
over vrijwel alle visuele eigenschap-
vaFX in JDeveloper. Een naadloze
pagina kan een nogal ingewikkelde
pen van individuele componenten
integratie met andere JavaServer
taak zijn die door meerdere ontwik-
en is het bovendien eenvoudiger
Faces libraries zoals JBoss RichFaces
kelaars moet worden uitgevoerd.
geworden om die controle toe te
moeten we op de korte termijn ook
Task Flows zijn een uitstekend me-
passen.
niet verwachten - maar dat geldt
chanisme om zo’n taak op te split-
Skins helpen met kenmerken van
andersom precies zo.
sen.
tainers, zoals kleur, font, decoratie
Hergebruik en Structuur
Declaratief en Model-gestuurd
en alignment. Ze doen niets voor
Productiviteit kan niet meer ver-
Ontwikkelaars die ervaring hebben
de structuur van pagina’s: waar
hoogd worden dan door hergebruik:
met Oracle Designer zullen in ADF
staan zaken als menu, titel, sidebar,
iets niet opnieuw hoeven ontwikke-
11g veel bekende elementen tegen-
header, footer, logo en de pagina-
len is altijd efficiënter dan - hoe snel
komen. Op verzoek van de Fusion
inhoud. In ADF 11g zijn de Page
dan ook - iets meermaals moeten
Application
Templates ingevoerd om die uitda-
bouwen. Hergebruik en ontwikke-
is de mate van declaratief, model-
ging aan te kunnen. In een page
ling van applicaties via herbruikba-
gestuurd ontwikkelen enorm toe-
functionaliteit
aangeboden.
individuele componenten en con-
6
development
teams
JDeveloper 11 g
genomen. Dat stelt ontwikkelaars
snel een beeld moet krijgen van ge-
en object model. In eerste instantie
zonder programmeerkennis in staat
gevens. Een grafische weergave van
was dat een Smalltalk object model,
door middel van wizards en proper-
gegevens zegt vaak meer dan alleen
later ook een Java model. In JDe-
ty palets vergaand de functionaliteit
een tabel met kale cijfertjes.
veloper 11g levert Oracle de 11g
van de applicatie te bepalen. Vali-
Grafieken kunnen gemaakt wor-
release van TopLink, identiek aan
daties, AJAX-gedrag, selectie-lijsten,
den met data afkomstig uit een re-
EclipseLink 1.0.1. Dat laatste is de
berekeningen, display eigenschap-
lationele database via ADF BC, en
open source variant van TopLink.
pen,
database
vanuit bijvoorbeeld een BAM ser-
TopLink 11g is een alternatief - vol-
queries etc. kunnen op declaratieve
ver of BI server. Omdat het data-
ledig volgens de EJB 3.0/JPA stan-
wijze gespecificeerd worden.
bound componenten zijn, kunnen
daarden van het JEE platform - voor
Een tweede aspect van het model-
ze met drag-and-drop vanaf het
ADF Business Component bij het
gestuurd ontwikkelen is de door-
datacontrol palet worden gemaakt.
ontwikkelen van database gebaseer-
werking van de instellingen in alle
De componenten zien er mooi uit
de ADF applicaties.
pagina’s van de applicatie die de
(Flash of SVG) en ondersteunen in-
ADF Faces 11g is gebaseerd op de
betreffende
teractie zoals drilldown, inzoomen
meest recente release van de Java-
en animatie.
Server Faces standaard: 1.2.
default
waarden,
model-componenten
gebruiken. Zoals in Oracle Designer de display instellingen bij een
Het Nederlandse complement op
Table Definition doorwerken in
Ook kunnen webservices gebruikt
ADF - JHeadstart - zal op korte
alle Module Components die op de
worden om grafieken van data te
termijn ook voor 11g beschikbaar
tabel gebaseerd zijn, zo hebben de
voorzien. In combinatie met de
komen. Een belangrijke nieuwe
instellingen bij een Entity of View
Geographical Map component kan
component - al beschikbaar voor
Object effect op iedere pagina die
zo een typische Web 2.0 Mashup
10g maar wellicht nog waardevoller
de objecten ‘data binden’.
worden gemaakt.
met 11g is de Forms2ADF converter
Data visualisatie en grafische representatie
Overige kenmerken
grammatuur naar ADF 11g tech-
JDeveloper 11g heeft WebLogic
nologie over te brengen. Daarnaast
De ADF 11g Data Visualization
10.3 (voorheen BEA) als geïnte-
maakt JHeadstart 11g volop gebruik
Tools zijn uitermate geschikt om
greerde Application Server - en dus
van de RichFaces componenten en
data op een visuele manier te pre-
niet meer OC4J zoals we in eerdere
mechanismen als page templates
senteren. DVT bevat onder andere
versies van JDeveloper gewend wa-
en bounded task flows. Verder voegt
grafieken, metertjes (gauges), Gantt
ren. Voor de ontwikkelaar maakt
JHeadstart een extra declaratieve,
charts en Geographical maps. Deze
dit overigens weinig uit.
nog abstractere – technologie-onaf-
dragen sterk bij aan het Web 2.0
In 1994 startte het Canadese bedrijf
hankelijke - laag toe in het applica-
die helpt om bestaande Forms pro-
tie ontwikkelproces. Deze laag zorgt er onder andere voor dat migraties van JHeadstart 10g naar 11g (betrekkelijk) eenvoudig kunnen verlopen en direct al volop 11g functionaliteit benutten. Dat laatste in tegenstelling tot de in JDeveloper ingebouwde ADF 10g naar 11g conversie die weliswaar een werkende applicatie oplevert, echter niet op basis van RichFaces maar nog met de Trinidad componenten.
Voor wie is JDeveloper 11g interessant? gevoel bij het tonen van data aan
The Object People met een product
JDeveloper en ADF 11g zijn natuur-
de eindgebruiker. DVT componen-
dat TopLink heette en dat de brug
lijk van belang voor ontwikkelaars
ten zijn waardevol als een gebruiker
vormde tussen relationele database
die nu al met ADF aan de slag zijn.
7
JDeveloper 11 g
Met de 11g release kunnen zij, gro-
actief zijn in APEX zouden ADF 11g
SOA Suite 11g - Composite Appli-
tendeels op basis van hun huidige
nog eens kunnen overwegen: de ap-
cations met BPEL, Rules, Mediator
kennis en ervaring, nog plezieriger
plicaties gebouwd met ADF 11g zijn
(voorheen ESB) en Human Work-
en productiever aan de slag met
toch weer een stapje geavanceerder
flow - en WebCenter 11g. Ook Ora-
aanzienlijk aantrekkelijker resul-
en aantrekkelijker dan APEX appli-
cle Data Integrator zal JDeveloper
taten. Het is de logische volgende
caties en de wijze van ontwikkelen
11g als IDE gaan gebruiken.
stap.
is minstens zo declaratief en pro-
Een van de thema’s van deze vol-
Ook Java ontwikkelaars buiten het
ductief. Zonder te programmeren
gende release is Application Life
Oracle technologie domein hebben
bereik je in ADF 11g vergelijkbaar
Cycle Management - functionali-
met ADF 11g een goede reden ook
snel hetzelfde functionele resultaat
teit om het samenwerken in teams
eens de Oracle stack in overweging
als in APEX. (Natuurlijk is de de-
te ondersteunen en het beheren
te nemen. De resultaten die met
ployment infrastructuur - je hebt
van meerdere releases binnen een
deze stack geboekt kunnen worden
een aparte applicatie server nodig -
OTAP-omgeving te faciliteren. In-
zijn zeer concurrerend vergeleken
voor ADF applicaties wel complexer
gebouwde chat, koppelingen met
met alternatieve Java web ontwik-
dan voor APEX applicaties!) En kan
MS Project, Subversion en Jira zijn
keltechnologieën. Daarnaast is de
je er in ADF nog het nodige aan toe-
voorbeelden van wat Bulldog zal
productiviteit en het gemak van
voegen. JDeveloper 11g kan gratis
bieden. De integratie van ADF met
ontwikkelen van de eerste 90% van
gebruikt worden. Voor ADF is een
SOA - bijvoorbeeld de uitwisseling
de functionaliteit plezierig, omdat
run-time licentie nodig als de appli-
van Business Events via het Event
daarmee de bulk van de tijd kan
catie niet op een Oracle Application
Delivery Network en de interactie
worden besteed aan de meest ge-
Server wordt gedeployed. Overigens
met de Human Workflow Service
avanceerde features van een appli-
overweegt Oracle om ook die run-
voor het implementeren van een
catie die vaak de leukste uitdaging
time licentie los te laten (het echte
User Interface voor de taken in
vormen voor een programmeur.
geld wordt door Oracle toch niet
workflows. Een belangrijk aspect -
Het declaratieve ontwikkelen zal
met ADF verdiend). Daarnaast zal
zeker voor Oracle Applications - is
overigens de echte Java program-
de ADF RichFaces componenten-set
Customization & Personalization:
meur veelal niet enorm aanspreken
aan het open source project Apache
faciliteiten om een applicatie aan te
- het kan handig zijn teams te vor-
MyFaces Trinidad worden overge-
passen aan een organisatie, rollen
men die elkaar onderling aanvullen
dragen, net als eerder met de ADF
en individuele gebruikers. Oracle zal
in declaratief ontwikkelen en code
10g Faces set gebeurd is.
in Fusion Middleware 11g de Meta-
schrijven. Met ADF 11g kunnen
Daarnaast wordt mogelijk ook de
Data Services bieden - een generiek
applicaties worden ontwikkeld die
ADF Controller aan Trinidad gedo-
mechanisme om op run-time aan-
alles kunnen wat Forms applica-
neerd. ADF Model (de data binding
passingen door te voeren op de ADF
ties kunnen -dat kon met ADF 10g
laag) lijkt overigens niet op die ma-
applicatie.
trouwens ook al. Daar bovenop is
nier vrijgegeven te zullen worden.
Ondersteuning van Mobiele devices
het ontwikkelen van een applicatie
8
voor ADF applicaties bestaat al maar
die exact hetzelfde kan als een be-
Aan de horizon
zal in de volgende major release sterk
staande Forms applicatie nu vrijwel
Ook een mijlpaal-release kent een
worden uitgebreid. Ook de ‘desktop’
even productief en declaratief (code
opvolger. De zojuist - oktober 2008
- rich client in plaats van Web Brow-
vrij). De overstap voor Forms ont-
- verschenen 11g release wordt door
ser - wordt in deze release opgeno-
wikkelaars is een stuk eenvoudiger
het ontwikkelteam van JDeveloper
men. Concreet betekent dit dat een
geworden: veel gebeurt vanuit het
aangeduid als de Boxer-release. Te-
Excel-sheet een ADF client kan zijn,
Model (sterk SQL georiënteerd) of
gelijk met Fusion Middleware 11g
compleet met querien van data via
op zeer 4GL, declaratieve wijze.
- de release van ondermeer SOA
ADF Data Controls en het off-line
Daar bovenop kan met ADF 11g
Suite 11g - komt de Bulldog-release
wijzigen van data in Excel die op een
een aantal zaken veel makkelijker
van JDeveloper. Deze release voegt
later moment weer gesynchroniseerd
dan in Forms. Met minstens zo
functionaliteit toe die tijdens de
wordt met ADF en de achterliggende
aantrekkelijke en zeker veel meer
Oracle Open World 2008 conferen-
data service.
aan internet conventies aangepaste
tie al werd gedemonstreerd:
Voor gebruikers van Hyperion is de
resultaten.
JDeveloper 11g Bulldog is de design
EssBase Data Control interessant.
Ontwikkelaars die flirten met of al
time omgeving voor ondermeer
De ondersteuning van Active Data
JDeveloper 11 g
Sources - ook bekend als Server Push
willen ontwikkelen zouden een seri-
ontwikkelen op een plezierige en
- bestaat nu in beperkte mate en
euze blik moeten werpen op JDevelo-
gestructureerde manier zonder dat
wordt in Bulldog verder vervolmaakt.
per en ADF 11g. Deze release brengt
vanaf het eerste moment veel prie-
Daarnaast kunnen we uitbreidingen
ADF qua user interface - Web 2.0
gelig en weinig productief Java pro-
van de set Data Visualization com-
gehalte - vooraan ten opzichte van
grammeerwerk nodig is. Het is leuk
ponents tegemoet zien, met onder-
andere Java webapplicatie ontwik-
om tamelijk geavanceerde features
meer de Hierarchy Viewer voor de
keltechnologie. Het ontwikkelen met
– pop-up, drag & drop, grafieken,
grafische weergave van hiërarchische
ADF is inmiddels vergelijkbaar decla-
AJAX gebaseerde interactiviteit - in
data.De huidige verwachting is dat
ratief als Oracle Forms en - daarmee -
te bouwen. We kunnen alleen maar
deze release rond juni 2009 beschik-
ook vergelijkbaar productief. Het feit
aanraden het ook eens te proberen.
baar zal komen.
dat deze ADF 11g release ook het fundament vormt van onder meer Fusion
Luc Bors en Lucas Jellema zijn ADF
Conclusie
Applications bevestigt de strategische
ontwikkelaars bij AMIS in Nieuwe-
Organisaties die op een productieve,
betekenis ervan voor Oracle.
gein. Zie ook de ADF 11g artikelen op
gestructureerde en model-gebaseerde
In andere woorden: ADF 11g laat ons
hun blog: http://technology.amis.nl/
wijze aantrekkelijke webapplicaties
mooie, aantrekkelijke webapplicaties
blog/ .
Gebruikersconferentie 31 maart 2009 in Metropolis Cinema Complex Antwerpen
OBUG Benelux Connect – Embrace the Future Op dinsdag 31 maart organiseert de Oracle Benelux User Group haar tweede gebruikersconferentie onder de nieuwe naam OBUG Benelux Connect met als thema voor 2009 Embrace the Future. OBUG Benelux Connect 2009 zal worden vormgegeven door de Oracle usergroups die in de OBUG zijn verenigd in nauwe samenwerking met Oracle Benelux. Oracle is tevens Platinum Sponsor van het evenement, dat wordt gehouden in het Metropolis Cinema Complex in Antwerpen. Oracle Benelux Connect zal bestaan
wordt geopend met een keynote door
Oracle EMEA.
uit een uitgebreid conferentieprogram-
Oracle. Na de openingskeynote vin-
Het volledige conferentieprogramma
ma en een informatiemarkt, waar bu-
den parallelsessies plaats in verschil-
zal in de komende weken zijn defini-
sinesspartners van Oracle en de deel-
lende zalen van het Metropolis Cine-
tieve invulling krijgen en wordt dan
nemende usergroups hun diensten en
ma Complex. Tijdens de pauzes en de
bekendgemaakt via de usergroups en
producten zullen aanbieden. Bezoe-
lunch is er ruim gelegenheid om de in-
de website van de OBUG: www.obug.nl.
kers van het evenement kunnen naast
formatiemarkt te bezoeken. Het mid-
drie aansprekende keynote sessies een
dagprogramma wordt ingeluid met
Deelname aan OBUG Benelux Con-
keuze maken uit een groot aantal in-
een optreden van de bekende standup
nect 2009 is kosteloos voor leden
teressante parallelsessies. De verschil-
comedian Tom Sligting, die op geheel
(maximaal drie deelnemers per lid-
lende parallelsessies zijn overzichtelijk
eigen wijze het conferentiethema en
maatschap, elke deelnemer meer: €
ingedeeld naar de verschillende Oracle
de (Oracle)wereld zal belichten.
100). Niet-leden: € 150,-. Aanmel-
technologie- en applicatiegebieden: BI,
Het middagprogramma omvat verder
ding vanaf 26 januari 2009 op www.
Oracle eBusiness Suite, JD Edwards,
twee series van parallelsessies en Ora-
obug.nl.
PeopleSoft, Middleware en Techno-
cle University workshops. OBUG Be-
Businesspartners die geïnteresseerd
logy. Daarnaast zal Oracle University
nelux Connect 2009 wordt afgesloten
zijn in sponsoring van dit evenement
een aantal workshops verzorgen.
met een keynote van Andrew Suther-
kunnen dit kanbaar maken via: obug@
De
land, Senior Vice President Technology
vofdetekst.nl.
OBUG
gebruikersconferentie
EMBRACE THE FUTURE – EN RESERVEER NU DINSDAG 31 MAART 2009 IN UW AGENDA VOOR DE OBUG BENELUX CONNECT GEBRUIKERSCONFERENTIE
9
Column
Column
OGh Visie verwelkomt Wilfred van der Deijl als columnist. Wilfred werkt als Systeem Architect bij Eurotransplant, is een actief lid van de Oracle community en werd afgelopen zomer benoemd tot Oracle ACE.
Kan Oracle Forms de deur uit?
Om maar meteen met de deur in huis te vallen; Ja, Forms kan (maar hoeft niet) de deur uit. Er zijn de laatste tijd de nodige ontwikkelingen geweest die het in ieder geval mogelijk maken om op een verantwoorde manier van Forms af te stappen. Oracle Forms is jarenlang de belangrijkste ontwikkelomgeving geweest voor veel Oracle gebruikers. Nog steeds zijn er veel bedrijven met (soms heel grote) Oracle Forms applicaties. In al die jaren is Oracle Forms een bijzonder productieve ontwikkelomgeving gebleken die ook iedere keer met zijn tijd mee kon gaan. Zo heeft Forms de overstap van de terminal naar client-server gemaakt en later van client-server naar een webclient. Oracle Forms gaat al ruim 20 jaar mee, en Oracle heeft aangegeven het nog zeker 9 jaar, maar waarschijnlijk langer, te ondersteunen. Er is vanuit die hoek dus geen noodzaak om Oracle Forms te verlaten. Maar toch knaagt er iets bij de meeste Forms gebruikers. De laatste jaren zet Oracle strategisch in op het op standaarden gebaseerde Application Development Framework (ADF) en de daarbij horende ontwikkeltool JDeveloper. Sinds kort is de lang verwachte versie 11g van JDeveloper/ ADF in productie, waarbij vooral de nieuwe ADF Rich Client componenten tot de verbeelding spreken. Deze ongelofelijk rijke JSF componenten bieden zaken die tot voor kort onmogelijk waren in een webbrowser. Zo is het nu mogelijk om zaken als drag-and-drop, interactieve tabellen, pop-up menu’s, interactieve grafieken, draaitabellen en nog veel meer te bouwen. Iedere organisatie die de overstap van Oracle Forms naar ADF overweegt zal daar zijn eigen redenen voor hebben. Ook het moment waarop de overstap overwogen wordt zal sterk verschillen. Zo zijn er organisaties die de overstap al hebben gemaakt, en er zullen ongetwijfeld organisaties zijn die nog 10 of 20 jaar Forms zullen blijven gebruiken.
Knelpunten
10
Als serieus wordt overwogen om de overstap van Forms naar ADF te maken, dan ziet men al snel een aantal belangrijke knelpunten. Allereerst moeten
Forms ontwikkelaars JDeveloper, Java, XML en ADF leren kennen. Voor sommige ontwikkelaars kan het aantal keuzes en mogelijkheden in deze nieuwe omgeving overweldigend zijn. Dit kan een bedreiging voor de productiviteit zijn. Naast de mogelijke problemen met de leercurve en de productiviteit, is er ook nog de applicatie zelf. Het is niet ongewoon dat een Forms applicatie uit honderden of soms zelfs duizenden Forms bestaat. Hoe kan je met zo’n applicatie de overstap naar ADF maken. Herbouwen van de hele applicatie is zelden een serieuze optie. Eigenlijk wil je een geleidelijke overgang van Forms naar ADF. Je kunt natuurlijk steeds delen van een systeem herbouwen in ADF, maar dan moet de gebruiker wel jaren lang tussen verschillende applicaties wisselen, waarbij een deel van de taken in de oude Forms worden uitgevoerd en een deel in de nieuwe ADF schermen. Deze problemen hebben er voor gezorgd dat veel organisaties de overstap nog niet hebben gemaakt en nog steeds grootschalig gebruik maken van Oracle Forms. Gelukkig is er het afgelopen jaar een aantal oplossingen verschenen. Allereerst is er JHeadstart, een toolkit van Oracle Consulting die al jaren bestaat en die het probleem van de leercurve en productiviteit een stuk verlicht. In JHeadstart zitten alle best-practices van Oracle Consulting verwerkt en de toolkit maakt het mogelijk om op basis van (aan te passen) templates een ADF applicatie te genereren. Sinds deze zomer zit er een innovatief nieuw onderdeel in de JHeadstart toolkit: de Forms2ADF Generator. Deze tool analyseert bestaande Forms modules en genereert op basis van die informatie de benodigde ADF Business Components en de JHeadstart metadata waarmee de originele JHeadstart tool een ADF applicatie kan genereren. Deze manier van herbouwen is vele
malen productiever dan volledig handmatige herbouw, maar vraagt nog steeds de nodige inspanning per Form. Naast JHeadstart is er sinds begin dit jaar OraFormsFaces, een door mij ontwikkelde technologie die het mogelijk maakt om een bestaande Form zonder noemenswaardige aanpassingen in slechts enkele minuten te hergebruiken in een JSF, ADF (of andere web-) applicatie. Hierbij kunnen de twee technologieën gegevens en acties uitwisselen en kan, indien gewenst, het Form zelfs visueel volledig geïntegreerd worden waarbij niet langer zichtbaar is dat gebruik wordt gemaakt van Oracle Forms. De technologie is bijzonder goed ontvangen en is waarschijnlijk een belangrijke reden geweest voor mijn benoeming tot Oracle ACE. Wanneer OraFormsFaces en JHeadstart gecombineerd worden dan ontstaat een bijzondere combinatie. OraFormsFaces maakt het mogelijk om op korte termijn alle Forms op te nemen in een ADF applicatie. De gebruiker kan dus gebruik blijven maken van één geïntegreerde omgeving, terwijl met JHeadstart op een productieve manier nieuwe functionaliteit kan worden bijgebouwd in ADF. Op langere termijn kunnen individuele Forms worden omgezet naar ADF met de JHeadstart Forms2ADF Generator. Dit biedt een geleidelijke, en daarmee veel minder riskante, overgangsstrategie van Oracle Forms naar ADF. Om terug te komen op de oorspronkelijke vraag: uiteindelijk moet iedere organisatie voor zichzelf bepalen wanneer ze de overstap wil of moet maken. Het is alleen belangrijk om te weten dat er nu oplossingen zijn voor de grootste obstakels, dus laat dat je er niet van weerhouden. Wilfred van der Deijl
Rapportagetools
Een rapportagetool hoort te rapporteren
Dunne rapportages en vette databases Door René Kuipers In elk BI-traject kom je ze tegen: rapportagetools. Met al hun functionaliteit en geboden opties lijken het vaak méér dan rapportagetools. En dat is waar het misgaat. Te vaak worden rapportagetools ingezet voor zaken waar ze niet voor bedoeld zijn. Het resultaat: een starre, slecht onderhoudbare en bovenal trage rapportagelaag. Terwijl juist performance altijd een issue is wanneer het gaat om het opbouwen van rapporten. De paradox is daar : we willen snel onze informatie, maar doen er weinig moeite voor om functionaliteiten onder te brengen in die gebieden die er ook het beste in zijn. Toegegeven, de drempel is soms laag, maar we zijn zelf degenen die de ontwerpbeslissingen nemen en het dus, helaas maar al te vaak, op de makkelijkste manier willen in plaats van op de juiste. Dit artikel kan naar ik hoop ertoe leiden dat we betere DWH- en BI- landschappen ontwerpen. De boodschap is: laat de functionaliteit waar hij hoort: een rapportagetool hoort te rapporteren… Onlangs kocht ik een ander huis.
werden ontworpen. Het resultaat
kelijk
En zoals in elk nieuw huis moet
‘doet het’, maar kom er vooral
‘waarmee je alles kunt.’ Dat komt
prachtige
rapportagetool
er worden geklust: behang, verf,
niet meer aan. En een omgeving
goed uit, want de klant wil ook ‘al-
gordijnen, fotolijstjes ophangen.
waaraan niets meer hoeft te wor-
les kunnen’.
In deze context kon de vergelijking
den veranderd ben ik in de IT nog
‘De vorige rapportagetool, daar
niet treffender zijn: er moest een
niet tegengekomen. Het vreemde
konden we niet alles mee en dus
fotolijstje worden opgehangen en
in dit hele verhaal is toch wel dat
willen we een nieuwe tool.’
een altijd bijzonder behulpzame
de bahco noch de hamer hier iets
En daar hebben we het risico al:
vriend ramde de spijker met een
aan kunnen doen: wij nemen zelf
Wanneer je de bahco vervangt
bahco de muur in. En waarom
het besluit om verkeerde dingen
door een betere bahco blijft het
niet, zou je denken. Nou, omdat
met onze tooling te doen. Waarom
probleem bestaan.
een bahco geen hamer is, en bah-
toch?
Architectuur
co’s zijn er niet voor bedoeld om spijkers mee in de muur te slaan.
Het dilemma
OBI-EE is een rapportagetool. Het
De muur vond het ook wat min-
In grote organisaties waar ver-
biedt een platform om binnen een
der: de spijker ging eerst drie keer
anderingen projectmatig worden
webbrowser rapporten te maken,
scheef en dat bracht de onvermij-
aangepakt is het risico op toolmis-
dashboards te creëren, alerts af te
delijke schade met zich mee aan
bruik het grootst. Maar al te vaak
laten gaan, businessprocessen op
het stucwerk.
is het projectresultaat belangrijker
te starten et cetera.
OK, het fotolijstje hangt. Maar als
dan al het andere, dus de manier
De basis van deze functionali-
straks het interieur weer op zijn
waarop dat resultaat wordt gehaald
teit vormt de Repository. Een file
kop gaat en het fotolijstje natuur-
is ondergeschikt aan datzelfde re-
die door de BI Server component
lijk ergens anders moet komen,
sultaat. Goed voor het project en
wordt geopend en in het geheugen
hebben we toch meer werk dan
de projectleider, maar niet voor de
wordt geladen en waarin (verge-
we hadden verwacht. Het lijkt een
overall-architectuur, noch voor de
lijkbaar met Oracle Discoverer’s
bizarre vergelijking met een da-
beheer- en beheersbaarheid.
End-User-Layer) een semantische
tawarehouse-/rapportagetraject,
laag de vertaling verzorgt van de
maar hij is zo ontzettend waar.
Voorbeeld - OBI-EE
veelal technische tabelnamen naar
Tools worden ingezet voor taken
Oracle’s
de leesbare businesstermen die er-
waarvoor ze oorspronkelijk niet
Suite Enterprise Edition. Een wer-
Business
Intelligence
bij horen. Maar er is meer.
11
Rapportagetools
Tussen de semantische laag en de
worden aan een bepaalde gebrui-
fysieke laag bestaat een Business
ker of niet. Mijn boodschap is dat
Model laag. Deze laag stelt je in
je dat niet moet willen: autorisatie
staat om een logisch datamodel
op recordniveau hoort thuis in de
Shared-logon vs named accounts
te maken, op basis van de fysieke
database!
Wanneer vanuit OBI-EE een con-
laag. Dit logisch datamodel is op-
Beveiliging van data is een alge-
nectie naar de database wordt op-
gebouwd uit meerdere fysieke ta-
meen issue en niet iets van een
gezet, wordt gebruik gemaakt van
bellen, die verspreid kunnen liggen
specifieke (rapportage-)tool. Stel
een useraccount. Er kan gekozen
over meerdere gegevensbronnen.
je voor dat de security wordt inge-
worden (dat is de standaardin-
Met andere woorden: in mijn logi-
richt door middel van OBI. Wan-
stelling) voor een shared logon.
sche model kunnen klantgegevens
neer ik dan via een andere weg
Dit betekent dat elke OBI front-
uit Dabatase X worden aangevuld
(ODBC, SQLPlus, andere rappor-
end user onder dezelfde username
met klantgegevens uit Database
tagetooling) bij dezelfde database
inlogt in de database. Dit maakt
Y. Aangezien de semantische laag
aanklop, werkt mijn security me-
het eenvoudig in bijvoorbeeld een
(datgene wat de eindgebruiker te
chanisme niet meer, want deze is
webapplicatie omgeving waar ano-
zien krijgt) bovenop de Business
namelijk ingericht in de Business
nieme gebruikers data mogen zien:
Model laag ligt is de oorsprong van
Model Layer van OBI. Daarnaast is
je hoeft dan niet voor elke user een
deze data voor de gebruiker com-
het beheer van een dergelijk me-
apart database account te hebben.
pleet transparant. Briljant: waar
chanisme vele malen intensiever
Daarnaast is het mogelijk om elke
voorheen de eindgebruikers zelf
dan wanneer de security ín de da-
front-end user een eigen account
moesten weten uit welk systeem
tabase wordt geregeld - waar hij
in de database te laten hebben, zo-
ze welke gegevens moesten halen
hoort. Daar bestaat één definitie
dat elke front-end user ook uniek
kun je dit nu vanuit één front-end
van autorisatie op recordniveau en
geïdentificeerd in de database is.
regelen.
ongeacht de manier (of de tool)
Beide opties kunnen worden ge-
Op het moment dat je dat inricht
waarmee ik deze data benader doet
bruikt in een VPD omgeving. In het
komt onherroepelijk de roep om
dat mechanisme zijn werk.
laatste geval is het inrichten van VPD gelijk aan elke andere VPD
security naar voren. Immers, de
12
Context moet vullen voor VPD.
gebruiker mag alleen maar die data
OBI-EE en VPD
implementatie, immers de login-
zien waarvoor hij is geautoriseerd.
Een manier om security op record-
namen zijn vooraf bekend. Indien
niveau in te richten is door ge-
wordt gekozen voor de shared-
OBI-EE en Security
bruik te maken van Oracle’s Virtu-
logon optie, zal de username in
Toegang tot data kan worden gere-
al Private Database mechanisme.
het OBI-frontend moeten worden
geld met behulp van OBI-EE. Door
Hierdoor wordt het mogelijk om
meegegeven als variabele tijdens
subject-areas in te richten waar
gebruikers een profiel te geven op
de database login zodat de inhoud
alleen maar die objecten in voor-
het moment van inloggen en dat
van deze variabele kan worden ge-
komen die een bepaalde gebruiker
profiel, in combinatie met de po-
lezen om de context te zetten.
mag bevragen en deze subject-are-
licy die aan de individuele tabellen
as toegankelijk te maken voor be-
is gekoppeld, bepaalt welke records
De mogelijkheid die OBI hiervoor
paalde rapportage-gebruikersgroe-
van die tabel door een gebruiker
biedt is om SQL code uit te voe-
pen, kan worden bepaald welke
benaderd kunnen worden en welke
ren op het moment van het op-
gebruikers welke data mogen zien.
niet. Wat hiervoor nodig is, naast
bouwen van de sessie. Deze optie
Echter, dat is maar gedeeltelijk
de reguliere inrichting van VPD
is beschikbaar in het Connection
waar. Op deze manier wordt op
met zijn policies en profielen, is de
Pool object:
objectniveau beperkt, niet op re-
username van de rapportage user.
cordniveau.
Om de username van de rapporta-
Als je zou willen, zou je met be-
ge user aan de database door te ge-
hulp van OBI de omgeving dusda-
ven kan gebruik worden gemaakt
nig kunnen configureren en op-
van de USER variabele in OBI-EE.
zetten dat de rapportagetool zelfs
Deze wordt op de connectionpool
tot op recordniveau kan filteren of
definitie meegegeven, evenals de
een bepaald record getoond mag
functienaam van de functie die de
Rapportagetools
Op het Connection Scripts tabblad kan code worden opgenomen die op gezette momenten wordt uitgevoerd: • Tijdens het opbouwen van de
DB-connectie
• Vóórdat een query start • Nádat een query klaar is • Wanneer een sessie wordt afgesloten In dit geval willen we code uitvoeren wanneer de database sessie wordt opgebouwd. Immers, de databasefunctie die de context voor VPD zet moet worden aangesproken en de username van de OBI-sessie moet hieraan worden doorgegeven. Om deze echt pér sessie te kunnen uitvoeren, moet de ‘enable connection pooling’ optie worden uitgezet op het General tabblad.
De username is binnen een OBI-
vuurd. Hierdoor ligt de inrichting
aanverwante zaken, zoals toegang
sessie opgeslagen in de USER vari-
en het beheer van de securitylaag
tot data.
abele en kan worden uitgelezen via
bij de DBA en (nog belangrijker)
De zwakke schakel in het geheel
de :USER variabele. Bijvoorbeeld:
zo dicht mogelijk bij de data zelf.
zijn niet de tools die voorhanden
wanneer de databasefunctie die de
Op deze wijze wordt de toegang tot
zijn, maar de mensen die ze ge-
VPD context moet zetten de naam
data geregeld ín de database, daar
bruiken en inrichten. Zolang wij
INITVPD heeft en een usernaam
waar het hoort.
ons zelf niet de druk willen opleg-
als inputvariabele vereist, kan de
In dit artikel is een voorbeeld uit-
gen om ons aan bepaalde ontwerp-
volgende code worden opgenomen
gewerkt aan de hand van security
standaarden te houden, zullen
in Execute on connect om de VPD
en OBI-EE. Maar uiteraard kan en
tools altijd minder dan optimaal
context te zetten:
moet dit concept ook worden toe-
worden ingezet met versnippering
gepast met elk ander rapportage-
en beheersproblemen tot gevolg.
tool.
Op project- en programmama-
begin initvpd(’:USER’); end;
nagementniveau zou vaker geko-
Conclusie
zen moeten worden voor de juiste
Functionaliteit hoort daar te lig-
aanpak en niet voor de snelste
Hiermee wordt de username van
gen waar het hoort. Een rappor-
aanpak.
de OBI-user overgedragen aan de
tagetool moet zich focussen op
database waar vervolgens het se-
rapporteren. Een database hoort
René Kuipers is SL Manager BI bij
curity mechanisme wordt afge-
zich bezig te houden met data en
CIBER.
13
Oracle Open World
De weg kwijt bij Oracle Open World Door Yung Fu Met 43.000 bezoekers is de Oracle Open World een event geworden dat nauwelijks meer past in San Francisco. Open World bood 1.800 sessies; het was dus schier onmogelijk voor één persoon om in vijf dagen tijd een volledig beeld te krijgen van de laatste ontwikkelingen rondom Oracle. Gelukkig waren wij met een delegatie van tien collega’s en hadden wij Oracle systeemontwikkeling- en integratie als focus voor ons bezoek. Mocht je toevallig alleen geïnte-
4. BPEL
is APEX niet geschikt. De webap-
resseerd zijn geweest in Oracle
Een interessante overweging. Wat
plicatie vormt een monolithisch
Designer en Developer, dan kon je
zegt Oracle Open World hierover?
geheel en er is geen scheiding tus-
je gelukkig prijzen en kon je een
14
sen model, logica en presentatie
week onder heerlijke weersom-
APEX
(wat ongewenste afhankelijkheden
standigheden genieten van wat
Het is ongelooflijk hoeveel ses-
met zich meebrengt). Als je er een
San Francisco te bieden heeft. Er
sies er zijn over APEX. Is dat nou
grote applicatie mee wilt bouwen,
was namelijk geen enkele sessie
echt een ontwikkeling die zoveel
dan vereist dat al gauw specifieke
die echt daarover ging. Er was wel
aandacht waard is? APEX is fan-
kennis, waarbij je probeert om het
een aantal sessies dat je handvat-
tastisch snel. Niet alleen kun je
onderste uit de kan te halen. En
Wat opvalt tijdens deze Oracle
gesticht. Het is leuk om telkens te
tijd terug heeft versoepeld. Steeds
Open World is het grote aan-
lezen dat dit tekenend is voor de
meer bedrijven halen (uit nood)
tal Aziatische deelnemers, naar
internationalisatie van de kennis-
Indiërs naar Nederland in plaats
schatting meer dan 40%. Niet al-
economie. Maar om dit met eigen
van te outsourcen naar India. En
leen komen zij uit Azië zelf, maar
ogen te zien, is toch wat anders.
de Indiase bedrijven realiseren
er zijn er ook heel veel die uit de
Het zal niet lang meer duren, voor-
dat zij niet meer verder kunnen
VS komen. Enkele Indiërs of Chi-
dat het aantal kennismigranten
groeien in de VS en zullen steeds
nezen die ik heb gesproken zijn
ook in Nederland zichtbare vor-
intensiever proberen om in Eu-
allen enkele jaren terug vanuit
men aan gaat nemen tijdens con-
ropa (en ook in Nederland) hun
de universiteit geëmigreerd naar
ferenties. Zeker omdat de Neder-
marktaandeel te vergroten.
de VS en hebben daar hun gezin
landse overheid de regeling enige
ten aanreikte om daarvandaan te
heel snel een eenvoudige webap-
dat is niet verstandig. De pool van
migreren. Voor de velen onder ons
plicatie bouwen en deployen, je
mensen die zich bezig gaan hou-
die nog volop bezig zijn met deze
kunt het ook heel snel leren zon-
den met APEX wordt kleiner om-
technologieën, is het wellicht tijd
der je al te veel te verdiepen in
dat deze voornamelijk bestaat uit
om zich te bezinnen.
de webtechnologie. Met een zelf-
voormalige
studiecursus van enkele uren via
ontwikkelaars. Er zullen nauwe-
Iets nieuws
bijvoorbeeld www.w3schools.com
lijks nieuwkomers zijn vanuit de
Wat te doen? Overschakelen naar
en het doorlopen van de tutorial
hoge scholen en universiteiten
Open Source Java en .NET? Of je
van APEX, kom je al heel ver. Het
die zich hierin gaan specialiseren.
richten op één van de Oracle-tech-
is daarom een ideale tool als je iets
Kortom, het is een raadsel waarom
nologieën?:
werkends wilt, dat niet groot en
er zoveel sessies waren over APEX.
1. APEX
onderhoudsgevoelig is, en waar-
Sessies zoals het migreren van De-
2. JDeveloper
van de verwachte levensduur kort
signer/Forms applicatie naar APEX
3. JDeveloper ADF Framework
is. Wil je iets groots bouwen, dan
wekken
een
Oracle
(Developer)
verkeerde
indruk.
Oracle Open World
Wie geïnteresseerd is in Oracle De-
De praktijk bleek helaas weerbarsti ger.
Van de hands-on sessies die wij heb-
veloper en de handen uit de mouwen
Een hands-on sessie duurde slechts
ben bezocht, beoordeelden wij rond
wilde steken heeft hier zijn hart kun-
45 minuten. Inderdaad, in 45 minu-
75% als voldoende. Hopelijk hand-
nen ophalen. Er waren maar liefst
ten kan je niet veel doen. Zeker als er
haaft Oracle het con cept van hands-
72 hands-on sessies. Wij hebben ons
tijdens de start af en toe wat aanloop-
on sessies, maar dan in een aange-
dan ook massaal ingeschreven.
problemen zijn.
paste vorm.
Maar het positioneren van APEX
waarmee het mogelijk is om de-
werken zonder dat je de onderlig-
als vervanger van een spreadsheet-
claratief een applicatie te bouwen,
gende principes (en code) goed be-
of Access-applicatie is wel prima.
waarbij je alleen het model, de
grijpt. Er komt een dag dat je moet
Voor een Oracle ontwikkelaar is
business rules en allerlei proper-
debuggen en zonder Java-kennis
APEX een prima opstapje naar een
ties hoeft te specificeren om een
ben je dan aan de goden overge-
webapplicatie, maar niet voor het
applicatie te genereren. Als Oracle
leverd. Mijn beeld is dan ook dat
grote werk dat hij/zij gewend is.
ontwikkelaar moet je dit ter plekke
JDeveloper/ADF op zich een fan-
een déjà vu gevoel geven. In 1994,
tastische combinatie is. Als ik de
JDeveloper / ADF
toen wij actief waren tijdens de
sessies nu zie dan is er veel ver-
Uiteraard kun je als Oracle ont-
opkomst van 4GL-pakketten zoals
beterd ten opzichte van de versies
wikkelaar kiezen om JDeveloper te
Designer/Forms, Powerbuilder en
een paar jaren geleden. Het ziet er
gaan gebruiken om webapplicaties
Cool:Gen, was het precies hetzelf-
allemaal goed uit. Het is inderdaad
te bouwen. Gewetensvraag: waar-
de. Pascal en C werden verdrongen
mogelijk om snel master-detail
om zou je JDeveloper gebruiken
door deze ontwikkelingen. Kortom,
schermen te bouwen. Met enkele
als je het framework ADF of BPEL
wij zijn terug bij af. Maar dan wel
definities kunnen inderdaad busi-
niet gebruikt? Juist, er zijn geen
op een betere 3-tier architectuur.
ness rules worden aangebracht.
overtuigende redenen te beden-
Iedereen die met Headstart of een
Deze definities worden netjes in
ken. In dat geval is het namelijk
eigen template heeft gestoeid, weet
XML-bestanden opgeslagen. Kort-
voor de hand liggend om Eclipse
wat dit betekent voor de systeem-
om, het ziet eruit zoals het eruit
of NetBeans als IDE te gebruiken.
ontwikkeling.
conformeren
zag rond 10 jaar geleden. Wij kun-
Waarom zou je een tool gebruiken
aan een framework zoals ADF,
nen weer zonder veel moeite appli-
dat slechts door klein deel van de
betekent het beperken van de vrij-
caties genereren.
Java community wordt gebruikt?
heid en een grote afhankelijkheid
Als je de laatste zinnen nog een
JDeveloper is dus eigenlijk alleen
van de framework leverancier. Als
paar keer leest, kan je je afvragen
handig in combinatie met het ADF
oude rot realiseer je je dat het las-
of dit wel een goede keuze is. De
framework. Dit is een framework
tig is om met een framework te
wereld is veranderd. Waarom heb-
Het
ben wij een nostalgisch verlangennaar het verleden, het genereren van applicaties? Moeten wij dat niet gewoon achter ons laten en meegaan met de ontwikkelingen en ons storten op Component Based
Development
(CBD)
in
plaats van telkens terug te grijpen naar Model Based Development? Een groot project op basis van CBD is makkelijker gedistribueerd Oracle president Charles Philips in gesprek met zwemmer Michael Phelps, de achtvoudige gouden medaillewinnaar van de Olympische Spelen in Beijing.
15
Oracle Open World
te ontwikkelen (team in VS, team
doorgaat voor een standaardap-
wisselingen en doorgroei. Er komt
in Nederland en team in India).
plicatie in een bepaald marktseg-
geen nieuwe aanwas vanuit de uni-
Dit laatste zal niet mee vallen met
ment. Eigenlijk speelt Oracle een
versiteiten en hogescholen. Niet
Model Based Development. On-
potje Go met SAP. Door alles om
voor niets liggen de tarieven voor
derhoud is makkelijker zonder een
SAP heen op te kopen, probeert
de
proprietary framework. Een Indi-
Oracle SAP in te sluiten. 60% van
ontwikkelaars hoger dan die van
aas team kan zonder veel moeite
SAP applicaties draait op een Ora-
een Java- of .NET-ontwikkelaar.
in code duiken. Een proprietary
cle database. In de meeste orga-
De installed base Oracle klanten
framework vereist weer extra in-
nisaties moet SAP interfacen met
denken er voorlopig niet aan om
leertijd en complexiteit bij het uit-
bijvoorbeeld Siebel, PeopleSoft en
tonnen of miljoenen te spenderen
besteden van systemen naar lage-
JD Edwards. Daarnaast worden
aan het opnieuw bouwen van sy-
lonenlanden. Daarnaast moet nog
met Hyperion analyses uitgevoerd
stemen zonder er functionaliteit
maar blijken of een proprietary
op data van SAP. Dit illustreert de
bij te krijgen. Als je bedenkt dat
framework na zes jaar nog gedra-
potentie van Oracle BPEL, dat als
er nu klanten zijn die Natural/
gen wordt door een community
integratietool naar voren is ge-
Adabas-systemen (pre-4GL tech-
Tijdens Oracle Open World zijn
ontwikkeld op een declaratieve
Daarnaast is een code tracing tot
er 11 sessies over .NET en Oracle.
wijze. Het is mogelijk om op ba-
op regelniveau mogelijk. Dit is
Nu hebben wij als Oracle ont-
sis van een datamodel binnen de
geen oproep om over te stappen.
wikkelaars niet altijd een objec-
Oracle database een applicatie bij
Maar dit is hopelijk een teken
tieve mening als het gaat om die
elkaar te klikken. Daarnaast is het
dat een hybride architectuur in
‘Mickey Mouse applicaties die
mogelijk om met .NET tools van-
opkomst is, waarbij het niet uit-
met Microsoft tools worden ont-
uit Visual Studio te debuggen tot
maakt welke tools wij gebruiken,
wikkeld’. Echter, sommige sessies
aan PL/SQL toe. Het is mogelijk
zolang de softwarearchitectuur
maken indruk. Met behulp van
om een watch point in te stellen
maar solide is.
een Oracle plug-in in Visual Stu-
in een PL/SQL-procedure en waar-
dio kunnen applicaties worden
den van variabelen op te vragen.
en/of leverancier. Kortom, tech-
schoven door Oracle. Grote kans
nologie) willen vernieuwen naar
nisch en op korte termijn gezien
dat Oracle BPEL wordt gebruikt
bijvoorbeeld .NET, dan kunnen
is zo’n framework handig en goed-
om als een SOA tool functies en
Designer/Developer
koop. Maar organisatorisch en op
data van de verschillende applica-
nog zeker jaren mee.
langere termijn is het maar zeer de
ties te integreren en nieuwe busi-
vraag of dit handig en goedkoop
nessprocessen
blijkt te zijn.
Wat betekent dit voor ons, Oracle
Daarnaast bestaat er de mogelijk-
te
ondersteunen.
Designer/Developer-
applicaties
Verdiepen in de database
ontwikkelaars? Inderdaad, willen
heid om je te verdiepen in de kern
BPEL
wij hieraan meedoen, dan ontko-
van Oracle; de database. Tijdens de
Hoe zit het dan met BPEL? Moe-
men wij er niet meer aan om toch
Oracle Open World merk je dat de
ten wij ons daar niet op storten?
mee te gaan met de hedendaagse
Oracle database zich blijft ontwikke-
Jazeker. Integreren is hot. Al jaren
internettechnologie.
len. Met betrekking tot de database
is ‘eerst kopen, dan integreren’ het
16
Oracle
probeert Oracle zoveel mogelijk het
motto van de meeste bedrijven. En
Lekker doorgaan
werk uit handen te nemen van de
dat blijft zo. Een ander argument
Natuurlijk is het mogelijk om nog
DBA’s. Dat heeft ook voordelen voor
waarom focussen op BPEL een
lekker door te gaan met Designer/
systeemontwikkelaars, omdat DBA-
goede stap is, is de strategie met
Developer. Naar verwachting zal er
functies hiermee steeds toegankelij-
betrekking tot Oracle Applicati-
meer dan genoeg werk zijn op dit
ker worden voor hen.
ons. Oracle wil compleet zijn op
gebied de komende vijf, zes jaren
Het gevaar schuilt erin dat er steeds
het gebied van diensten in de Ap-
en misschien nog langer. Immers,
minder ontwikkelaars zijn die door
plications markt. Dit betekent dat
de populatie hardcore Designer/
al die ‘verpakkingen’ nog de basis-
Oracle alles opkoopt dat enigszins
Developers sterft uit door functie-
concepten kennen van de database,
Oracle Open World
Caching … caching… caching…
wijzigingen worden periodiek en
servers, waardoor het lijkt alsof
Dat is het thema op het gebied
asynchroon weggeschreven naar
er sprake is van één applicatie-
van de database tijdens deze Ora-
de storage unit.
server. Daarnaast is het op deze
cle Open World. Ten eerste het
Ten tweede een wat geavanceerde
wijze niet meer nodig om telkens
cachen van een complete data-
caching op de middleware laag via
de database direct te benaderen,
base via Oracle TimesTen (8 ses-
Oracle Coherence (11 sessies).
zodra data wordt geraadpleegd,
sies). Bij TimesTen wordt de com-
Een interessante ontwikkeling. In
gewijzigd of verwijderd. Dit leidt
plete inhoud van een database
het kort komt het erop neer dat de
tot een data grid, die supersnel is
ingelezen in het geheugen. Alle
objecten en data van applicaties
en die blijft werken wanneer een
datamanipulaties vinden vervol-
met behulp van Oracle Coherence
onderliggende server uitvalt.
gens plaats in het geheugen. Deze
worden geclusterd over meerdere
zoals hoe een index werkt, op welke
tie van de programmatuur.
En nu?
wijze de data worden opgeslagen op
Het bovenstaande toont aan dat er
Als je het als Designer/Developer
de disks, etc. Als je tevens bedenkt
nog veel mogelijkheden zijn voor
ontwikkelaar niet vol kunt houden
dat de nieuwe lichting Java en .NET
ontwikkelaars met Oracle database
tot aan je pensioen, dan lijkt de tijd
ontwikkelaars vanuit de hogescho-
kennis. Zij kunnen zich richten op
nu toch echt rijp om je te verdiepen
len en universiteiten nauwelijks
de database zelf, PL/SQL, dataware-
in een aantal technologieën zoals
iets van databasetechnologie heeft
housing of allerlei nieuwe features
Java, .NET en BPEL. Immers, als je
geleerd, dan kan het bedrijfsleven
binnen de Oracle database.
nog tenminste 10 jaren te gaan hebt,
zich alvast zorgen gaan maken over
dan kun je in die tijd twee comple-
de performance van de nieuwe ge-
En zij kunnen samenwerken met Java
te studies doen! Een weekje Oracle
neratie webapplicaties. Het efficiënt
of .NET softwarearchitecten om een
Open World past prima in dat plaat-
programmeren verschuift naar de
efficiënte applicatie te ontwikkelen,
je.
achtergrond.
waarbij gebruik wordt gemaakt van
De database en de hardware com-
zowel Object Oriëntatie als stored
Yung Fu is partner bij Itude en be-
penseren voor een deel de inefficiën-
procedures in de database.
stuurslid van de OGh.
En tot slot, last but not least,
Het idee is daarmee geboren om
gebeurt is, dat de databaseserver
de grote aankondiging van deze
een storage unit te voorzien van
deze miljoen ophaalt en vervol-
Oracle Open World, de database
twee lijnen. Indien een storage
gens het resultaat berekent. Door
machine. Als je niet in detail wilt
unit wordt toegevoegd, dan wor-
in de storage unit wat simpele lo-
treden is de database machine ei-
den tevens twee lijnen toegevoegd.
gica in te bouwen, zal deze bere-
genlijk gebaseerd op een simpel
Dit betekent dat de dataoverdracht
kening in de storage unit kunnen
concept.
geen bottleneck meer vormt voor
plaatsvinden, zodat alleen enkele
Dit concept is gericht op het ver-
het toevoegen van extra hardware.
rijen wordt doorgegeven aan de
snellen van de dataoverdracht
De tweede noviteit is het inbou-
databaseserver.
van de storage unit naar de da-
wen van een stukje logica in de
Oracle heeft voorbeelden getoond
tabaseserver. Allereerst wordt de
storage unit, waarbij gefilterd data
waarbij met de database machine
dataoverdracht beperkt door de
wordt verstuurd naar de database-
versnellingen kunnen worden ge-
fysieke lijntjes van de storage
server in plaats van bijvoorbeeld
haald tot een factor 75, afhanke-
units naar de databaseserver. Te-
een complete tabel.
lijk van de toepassing. Dit is met
genwoordig kunnen wij het aan-
Stel dat voor een management
name toepasbaar voor bedrijven
tal storage units uitbreiden zoveel
rapport een sommatie moet wor-
die veel geld te besteden hebben
wij willen, maar er is altijd maar
den gemaakt van 1 miljoen rijen
en het uiterste uit hun applica-
één lijn naar de databaseserver.
ophaalt per afdeling. Wat er nu
ties willen halen.
17
OGh website vernieuwd
OGh website vernieuwd De OGh website is vernieuwd en ver-
Door de nieuwe opzet en invulling
meer dan 8.000 Oracle-specialisten
rijkt. Met actueel nieuws, achtergron-
zal de traffic ongetwijfeld nog verder
in Nederland. Echte Oracle-specialis-
dartikelen en columns over Oracle en
toenemen. Bedrijven en instellingen
ten, die dagelijks werken met Oracle
Oracle technologie, verslagen en pre-
kunnen daarmee heel gericht en ef-
technologie en OGh Visie lezen om
sentaties van themabijeenkomsten en
fectief hun organisatie, producten
op de hoogte te blijven van de ont-
uitgebreide
discussiemogelijkheden,
of diensten onder aandacht brengen
wikkelingen in hun vakgebied.
zal de vernieuwde OGh website meer
van een selecte doelgroep van geïn-
Neem daarom contact op met het
dan ooit fungeren als hét platform
teresseerde bezoekers uit de Oracle
OGh-secretariaat en laat u vrijblij-
voor Oracle gebruikers en andere
Community!
vend informeren over de uitgebreide
Oracle-geïnteresseerden.
advertentiemogelijkheden in OGh Ook de mogelijkheden om te adverte-
Visie en op de OGh website.
Met de vernieuwing van de website is
ren in OGh Visie, het magazine van
Telefoon: 030-6997065
een verruiming van de mogelijkheden
de Oracle Gebruikersclub Holland,
E-mail:
[email protected]
voor adverteren op de OGh site en
zijn verruimd. U kunt daardoor OGh
het plaatsen van sponsored activitei-
Visie voortaan ook inzetten als per-
Bezoek www.ogh.nl en kom in
ten een feit. De OGh site www.ogh.
fect medium voor uw personeelswer-
contact met de Oracle wereld.
nl is steeds meer een belangrijke in-
ving. Met een advertentie in OGh Vi-
formatiebron voor Oracle gebruikers.
sie bereikt u een selecte doelgroep van
Congres voor Oracle ontwikkelaars met grote Nederlandse inbreng
ODTUG Kaleidoscope 2008 Eerder dit jaar vond in New Orleans de ODTUG Kaleidoscope plaats, het jaarlijks congres voor Oracle ontwikkelaars. ODTUG Kaleidoscope 2008 kende een grote Nederlandse inbreng: onder de circa honderd sprekers bevonden zich negen sprekers uit Nederland. Drie van hen, Wilfred van der Deijl (Eurotransplant), Michiel Jonkers (AMIS Services BV) en René van Wijk (Transfer Solutions) brengen op de OGh website uitgebreid verslag uit van de conferentie en de trends die ze signaleren.
18
In het verslag wordt ingegaan op
Andere onderwerpen die aan bod
wikkelingen en productversies die
de huidige stand van zaken en toe-
komen zijn onder meer SQL Develo-
zijn aangekondigd en deels inmid-
komstige ontwikkelingen rond de
per, de rol van Java EE, new features
dels zijn uitgebracht.
‘klassieke’ tools (Forms, Designer,
in de 11g database, databinding,
Reporter) en de migratie van Forms
webapplicaties en nieuwe features
Kijk voor het complete verslag van
naar JSF/ADF, waarbij twee Neder-
in de Oracle 11g database. In de
Kaleidoscope 2008 op www.ogh.nl
landse initiatieven een belangrijke
slotconclusie
ondersteuning kunnen bieden. Ook
worden de be-
wordt ruim aandacht Oracle Appli-
vindingen van
cation Express (Apex) - dat tijdens
de
het congres volop in de schijnwer-
K aleidoscope
pers stond – en de keuze tussen
geplaatst
de ontwikkelomgevingen Apex en
het licht van
ADF.
de nieuwe ont-
ODTUG in
Geo-standaarden
‘Standaarden verbeteren de dienstverlening van de overheid’ Kijk verder dan de implementatie van INSPIRE en de realisatie van de Nationale Geo-Informatie Infrastructuur, zo luidt de boodschap van Han Wammes van GeoBusiness Nederland. Want standaarden gaan volgens hem niet alléén over het combineren van gegevens uit verschillende bronnen, maar ook over verbetering van de dienstverlening door de overheid. “En dat bereik je alleen door geo-componenten in hun bedrijfsprocessen te integreren”. Naast zijn werk als Solution Ar-
ture (SOA). Op IT-niveau sluiten
De eerste testbeds vinden plaats
chitect Overheid bij Oracle is Han
de webservices op elkaar aan, maar
op drie aandachtsgebieden:
Wammes commissievoorzitter In-
om de geo-component te integreren
• de
novatie bij GeoBusiness Nederland.
zijn kunstgrepen nodig.”
matie standaarden met compo-
nenten van de e-overheid;
We spreken met hem over de imple-
integratie
van
geo-infor-
Hoe kan je daar iets aan veranderen?
• de opzet van ketens van (geo-)
services met andere business
Wat merk je in de dagelijkse praktijk van standaarden?
“IT en geo-standaarden ontwikkelen
domeinen (procesbesturing);
zich nu nog in parallelle werelden.
• standaarden voor (Nationale)
“Veel overheidsorganisaties willen
Ogenschijnlijk hebben die niets met
geo-informatie wel gebruiken in
elkaar te maken. Daarom hebben Ge-
hun bedrijfsprocessen, maar dan
onovum en GeoBusiness Nederland
blijken de geo-standaarden af te
samenwerking gezocht. Hiervoor is
Geonovum en GeoBusiness hebben
wijken van de IT-standaarden. Zo
een ‘memorandum of understan-
Roodzand Advice aangetrokken voor
merkten we kort geleden dat de
ding’ ondertekend.
het begeleiden en faciliteren van de
standaarden van het Open Geo-
GeoBusiness en Geonovum willen
testbeds. Van publieke en private zijde
spatial Consortium eigenlijk niet
daarmee een brug slaan tussen de
hebben zich al veel partijen gemeld
meelopen met de ontwikkelingen
standaarden van de elektronische
om aan de testbeds mee te doen.
van een Service Oriented Architec-
overheid en de standaarden uit het
mentatie van geo-standaarden.
Geo Informatie Infrastructuren/
architecturen
bedrijfsprocessen. Bij het bedrijfsleven
Wat zijn de belangrijkste aandachtspunten in de komende jaren?
blijkt een grote behoefte te bestaan
“De doelstelling van standaarden is
aan verdieping en uitwisseling van
interoperabiliteit, de mogelijkheid
kennis over standaarden. Onderdeel
gegevens en diensten uit te wisse-
van de samenwerking is dan ook het
len tussen verschillende systemen.
delen van kennis en ervaring en het
Maar in de geo-wereld gaat nu veel
publiceren van resultaten uit pro-
aandacht naar de implementatie
jecten. Voor specifieke aandachtsge-
van INSPIRE en de realisatie van
bieden worden testbeds opgezet. De
een nationale geo-informatie infra-
gezamenlijke inzet moet uitmonden
structuur. Centraal daarin staat het
geo-domein. Steeds vaker speelt geoinformatie immers een rol in reguliere
in betere en in de praktijk toegepaste
soepel combineren van gegevens uit
Aan dit artikel hebben meegewerkt
standaarden. Daarmee slaan overheid
verschillende bronnen. Maar in de
van links naar rechts: Jan Roodzand
en bedrijfsleven de handen ineen om
dagelijkse praktijk wordt het steeds
(Roodzand Advice), Han Wammes
versneld een ’geo-informatiesnelweg’
belangrijker om geo-componenten
(Oracle) en Marcel Reuvers (Geo-
aan te leggen.
te integreren in bedrijfsprocessen
novum).
en applicaties. Geo is één compo-
19
Geo-standaarden
nent, en die moet in zulke processen met andere componenten kunnen samenwerken.” “SOA-standaarden zijn geschikt om verschillende services met elkaar te laten samenwerken: niet alleen
Wilt u uw klant op elk moment professioneel te woord staan? Moet u uw secretariaat goed geregeld hebben? Wilt u geen fulltime secretaresse op de loonlijst?
informatieverstrekking, maar ook het verwerken van transacties. Bij de implementatie ervan krijg je met allerlei beheeraspecten te maken: Hoe ga je het versiebeheer en de autorisatie regelen? Ga je historische gegevens vastleggen? Moet je verantwoording afleggen omdat je met geldstromen te maken krijgt? Zulke discussies moeten ook in de geo-wereld worden gevoerd.”
Waar zit het verschil in benadering tussen geo en IT? “Als je puur vanuit het geo-domein kijkt, ligt de nadruk op: hoe win ik data in, hoe sla ik ze op en hoe publiceer ik ze? Maar geo-informatie
Sinds 1980 werkt BMO, bureau voor managementondersteuning, als telefoon- en secretariaatsservice op afstand. Vanaf uw zakelijke telefoonnummer worden alle binnenkomende telefoontjes direct beantwoord. Uw klanten worden door vaste BMO-professionals te woord gestaan.
is ook een middel om andere doelen te bereiken. Net zoals Google en Microsoft geld willen verdienen met fraaie satellietbeelden, wil de overheid met geo-informatie
haar
dienstverle-
ning verbeteren. Standaarden zijn daarbij de lijm om verschillende
Bovendien hoeft u geen tijd en geld te besteden aan het inrichten en onderhouden van een permanente telefonische receptie. U betaalt alleen voor daadwerkelijk binnenkomende telefoontjes. Een flexibele kostenstructuur, zonder vaste maandelijkse salariskosten.
diensten en gegevensbronnen met elkaar te verbinden.” “Ik verwacht veel van de actuele ontwikkelingen. Door geo-informatie te ontdoen van het stempel ‘bijzonder’ komt naar mijn overtui-
De diensten van BMO kunnen verder uitgebreid worden. Als u dat wenst voeren we een volledig secretariaat op afstand. Correspondentie, afspraken, administratie en organisatie met professionele accuratesse.
ging de meerwaarde ervan voor een steeds bredere groep toepassingen
Het BMO secretariaat op afstand:
en gebruikers beschikbaar. Een goe-
voor iedereen die al zijn tijd wil besteden aan zijn werk
de ontwikkeling voor die gebruikers en voor de Geo’-business in Nederland.”
BMO - Utrechtseweg 48c - 3704 HE Zeist 030-6997070 - e.mail:
[email protected]
20
OGh en SIM
OGh en SI M commissie (Spatial Information Management) Doelstelling en activiteiten van de OGh
Het bevorderen van een effectief en
kunt u ideeën aandragen voor the-
efficiënt gebruik van ruimtelijke da-
masessies en artikelen. Tevens hebt
De Oracle Gebruikersclub Holland
tabases in het algemeen en Oracle
u toegang tot het besloten gedeelte
is een vereniging van in het Neder-
Spatial producten in het bijzonder
op de website van OGh. Als SIM lid
lands taalgebied gevestigde Oracle
door uitwisseling van informatie
blijft u continu op de hoogte van de
gebruikers. OGh houdt gebruikers
tussen de leden onderling en tussen
ontwikkelingen van Spatial Oracle
op de hoogte van relevante ont-
de SIM commissie en Oracle.
en ervaringen in de praktijk. Daarnaast is de SIM commissie op
Oracle technologie. Zij is onaf-
Doelstelling en activiteiten van de SIM commissie
hankelijk van de softwareleveran-
De SIM commissie is het coördine-
de SIM commissie bepaalt u sa-
cier Oracle. De OGh is onderdeel
rende orgaan van de SIM. Zij heeft
men met collega-commissieleden
van de Oracle Benelux User Group
de volgende taken:
uit het Geo-ICT/ Oracle werkveld
(OBUG). De Spatial Information
• Het coördineren van de tot-
de agenda voor de activiteiten van
Management (SIM) Interest Group
standkoming
zelf
de SIM. De commissie komt enkele
is de Special Interest Group van de
verzorgen van artikelen voor het
keren per jaar bij elkaar, waarbij de
wikkelingen en vertegenwoordigd de belangen van de gebruikers van
OGh.
blad van de OGh (OGh Visie).
ontwikkelingen in het geo-werkveld in het algemeen en in relatie met
en themabijeenkomsten. Tijdens
Oracle in het bijzonder worden be-
deze
waarin
sproken. Bepaal mede de toekomst
thema
van de Geo-ICT en word lid van de
bezig met het verspreiden van kennis en ervaring van gebruikers en
een
bepaald
belicht,
vertellen
SIM commissie.
gebruikers over hun ervaringen en/of worden productpresen-
toepassingen en inhoudelijke ken-
nisuitwisseling met betrekking tot
• Het
geo-database
Daar-
bijeenkomsten,
telkens wordt
organisaties met Oracle Spatial
technologie.
het
• Het houden van forumavonden
Doelstelling en activiteiten van de SIM De SIM houdt zich binnen de OGh
en/of
zoek naar actieve leden. Als lid van
taties gegeven. organiseren
van
werk-
groepen. De resultaten van de
Voorbeelden van SIM themasessies en OGh Visie artikelen In de afgelopen periode zijn er diverse themasessies georganiseerd:
naast worden ontwikkelingen bin-
activiteiten van de werkgroepen
• Open (Geo) Standaarden en
nen de Geo-ICT in relatie tot Ora-
worden gepresenteerd tijdens
Service Oriented Architectures
algemene SIM bijeenkomsten.
• Oracle Spatial en Open Source
cle technologie door de SIM in de
gaten gehouden en gedeeld met de
• Het onderhouden van het SIM-
• Basisregistratie Geo Informatie
OGh-leden.
• Geo-informatie bij de gemeente
gedeelte van de OGh website.
De SIM commissie en de voorlopers
Breda
daarvan bestaat sinds 1999. De
What’s in it for me?
• Geo-ICT-ers – Wie leidt ze op?
SIM commissie bestaat uit verte-
U kunt lid worden van de OGh en
• Top10NL – Objectgeoriënteerde
genwoordigers van organisaties die
daarmee ook van de SIM. Schrijf
Oracle Spatial technologie gebrui-
u in via de website van de OGh
• Oracle
ken, softwareleveranciers, system
(www.ogh.nl) of neem contact op
integrators en onderwijsinstellin-
met één van de commissieleden.
gen (TU Delft).
Als lid van de SIM heeft u recht op
Het doel van de SIM kan als volgt
gratis toegang tot de themasessies
worden samengevat:
en u ontvangt de OGh Visie. Ook
opslag in de database Spatial
Technology
Update.
21
Business Intelligence en GIS
Business Intelligence en GIS How it was, how it is and how it should be Door Bram Schiltmans How it was
Nadeel is dat de benodigde tools
combinaties die zij gemaakt heb-
Business Intelligence tools zijn van
over het algemeen erg specialis-
ben beschikbaar voor een breder
oudsher bedoeld voor - en sterk
tisch zijn. Hooguit het presenteren
publiek. Alles wordt dus voorgede-
in - het destilleren van informatie
van de gegevens is bedoeld voor een
finieerd klaargezet, waardoor ge-
uit diverse gegevensverzamelingen.
groot publiek, en dan nog is vaak
bruikers slechts beperkte mogelijk-
Gegevens worden onttrokken aan
veel vakkennis nodig om er infor-
heden hebben om gegevens vanuit
bedrijfsprocessen, samengevat, en
matie uit te verkrijgen.
meerdere perspectieven te bekijken,
klaargezet in een aparte omgeving.
22
en daardoor niet altijd in staat zijn
De gegevens hierin kunnen vervol-
How it is
om er de gewenste informatie uit te
gens door individuele gebruikers
Sinds de komst van Google Earth is
halen.
naar wens vanuit verschillende per-
de vraag naar geografische informa-
spectieven worden bekeken, gecom-
tie explosief gegroeid. Vanuit GIS-
How it should be
bineerd, gegroepeerd, en gesorteerd.
perspectief zijn er diverse vraagte-
De ontwikkeling van GIS, en ze-
Het resultaat wordt gepresenteerd
kens bij dit soort tools te zetten,
ker van de integratie ervan in de
in tabel- of grafiekvorm, zodat de
maar feit blijft dat ze op een een-
rest van de IT-wereld, staat nog in
gebruikers optimaal inzicht verkrij-
voudige manier gegevens ontslui-
de kinderschoenen. Naarmate de
gen in de informatie die besloten
ten, en dat ze mede daardoor voor-
technologische mogelijkheden be-
ligt in de gegevensverzamelingen.
zien in een behoefte. Een behoefte
ter worden, wordt informatie steeds
Om te voorkomen dat er verkeerde
waarin voorlopig door de oorspron-
gedetailleerder en ontstaan er steeds
conclusies worden getrokken uit de
kelijke GIS-tools nog maar moei-
meer mogelijkheden om geografi-
gegevens of de afgeleidde informa-
lijk voorzien kan worden. Enerzijds
sche gegevens te beschouwen als
tie, is het van essentieel belang dat
door de complexiteit van de tools,
onderdeel van een groter geheel en
de tools intuïtief werken. Gebruiks-
maar anderzijds doordat het vaak
niet als volledig op zichzelf staand.
vriendelijkheid is hier dan ook eer-
lastig is om GIS-data te integreren
Natuurlijk houdt het hier niet op,
der noodzaak dan wens.
met administratieve gegevensverza-
er zijn meer typen gegevens die nu
melingen. En juist door dit integre-
nog te specialistische tools nodig
GIS-tools zijn van oudsher vooral
ren ontstaat net de samenhang die
hebben om simpel gepresenteerd te
sterk in het bewerken en presente-
nodig is om het geheel begrijpbaar
worden. Pas als alle datatypen dus-
ren van geografische gegevens, en
te maken. Pas dan ontstaan voor
danig standaard zijn dat ze onder-
het over elkaar leggen van verschil-
de gebruikers mogelijkheden om
steund worden door de gemiddelde
lende lagen met gegevens. Waarbij
verbanden te zien, om de GIS-data
(BI)tool, hebben we mogelijkheden
het zwaartepunt tot nu toe lag bij
een plaats te geven in ‘het grote ge-
om gegevensverzamelingen te cre-
2D-gegevens, oftewel punten, lij-
heel’. Oftewel, door het leggen van
ëren die echt volledig geïntegreerd
nen en vlakken. Natuurlijk is niet
verbanden wordt uit de gegevens
zijn. Natuurlijk zijn niet alle data-
alles geschikt voor presentatie in
informatie gehaald, met voor de
typen wat dat betreft even relevant,
kaartvorm, maar daar waar dat
gebruikers allerlei toepassingsmo-
maar daar waar ze kunnen bijdra-
wel zo is biedt de kaart een onge-
gelijkheden. En dan blijkt ook pas
gen om informatie eenvoudiger of
ëvenaarde mate van inzicht in de
de enorme meerwaarde die GIS kan
eenduidiger af te leiden, of zelfs
geografische samenhang van admi-
hebben voor traditionele gegevens-
nieuwe inzichten mogelijk maken,
nistratieve gegevens. Denk daarbij
verzamelingen, en omgekeerd.
is ondersteuning natuurlijk bijzon-
bijvoorbeeld aan de geografische
Ondanks tools als Google Earth
der gewenst. GIS is wat dat betreft
spreiding van een klantenbestand
geldt momenteel nog steeds dat het
een schot in de roos en daar speelt
of aan het presenteren van het aan-
geïntegreerd ontsluiten van gege-
Oracle met de introductie van
tal inwoners per km² op een kaart
vens voornamelijk is voorbehouden
Mapviewer in Oracle BI Enterprise
met gemeenten.
aan GIS-specialisten, en zijn alleen
Edition (EE) goed op in.
Business Intelligence en GIS
Oracle BI Enterprise Edition, een introductie
een zelf gedefinieerde
Maar eerst even een algemeen
een gebruiker in de
beeld. Elke BI-tool heeft een busi-
kaart), biedt inzich-
nessview nodig om de samenhang
ten die anders niet of
van gegevens te kunnen controle-
slechts zeer moeilijk
ren, zodat gebruikers geen appels
verkregen
met peren gaan vergelijken. Traditi-
worden.
oneel kan deze businessview helaas
En omdat een plaatje
vaak alleen gebruikt worden door
meer zegt dan dui-
de BI-tool waarvoor hij ontwikkeld
zend
is, waardoor ontwikkeling ervan re-
een paar voorbeelden
latief duur is. De ontwikkelkosten
regio (= selectie van
Figuur 1
kunnen
woorden,
nog
van hoe het gebruik
moeten immers door gebruik van
van kaarten er in de praktijk uit
deze specifieke tool weer terugver-
Oracle BI en GIS
kan zien.
diend worden. Oracle kiest met BI
Maar het meest opmerkelijke is toch
Het eerste voorbeeld (figuur 2) laat
EE voor een meer open aanpak, de
de toevoeging van Oracle Mapvie-
het kleuren van regio’s zien op basis
businessview is namelijk herbruik-
wer, waarmee BI EE de mogelijkheid
van een administratief gegeven, ter
baar. Los van het feit dat het ren-
krijgt om GIS-data te ontsluiten.
illustratie van mogelijkheid 1.
dement van investeringen hierdoor
Naast vormen als ta-
aanzienlijk wordt vergroot, biedt
bellen en grafieken,
het vanuit technisch oogpunt na-
behoren dus nu ook
tuurlijk mooie perspectieven.
kaarten tot de moge-
Om de businessview ook echt her-
lijkheden.
bruikbaar te maken is de (user)
wordt
interface gescheiden van de zogehe-
heid om gegevens in
ten BI Server. Deze laatste verzorgt
een
niet alleen de businessview, maar
te presenteren aan-
ook zaken als metadata en caching.
zienlijk vergroot. En
De user interface kenmerkt zich
de mogelijkheden om
voornamelijk door eenvoudige be-
gegevens te selecteren, berekenen
diening en biedt mede door het
en presenteren, nemen daarmee
gebruik van dashboards toch een
eveneens toe. Een greep uit de mo-
In het linker plaatje zijn gegevens
enorme flexibiliteit.
gelijkheden die nu al geboden wor-
van 2002 geselecteerd, in het rech-
de
Hiermee mogelijk-
optimale
vorm
Figuur 2. © Oracle Corporation.
den:
ter die van 2003. Het kaartje wordt
Figuur 1 toont een globaal overzicht
1. Selecteren en drillen van admini-
dynamisch opgebouwd op basis van
van de opbouw rond Oracle BI Ser-
stratieve gegevens heeft invloed
gegevens die administratief geselec-
ver. Hierin is de centrale positie van
op de getoonde kaart
teerd worden, in dit geval dmv de
de BI Server te zien, met daaronder
2. Interactie met de kaart heeft in-
de aanleverende gegevensbronnen,
vloed op de getoonde admini-
normaal de gegevensverzamelingen
stratieve gegevens
van de bestaande bedrijfsprocessen.
3. Drillen naar details in een kaart
toont hoe een selectie in de kaart
De bovenste laag wordt gevormd
4. Tonen van detailinformatie bij
van invloed is op de administratieve
door de (user)interface van Oracle
mouse-over.
grafieken onder de kaart. Het tweede voorbeeld (figuur 3)
gegevens, ter illustratie van moge-
BI en eventuele alternatieve tools
5. Kleurcodering van vlakken
lijkheid 2. Links de selectie vooraf,
die gebruik maken van de Open
Met name uit de eerste twee punten
met bijbehorende administratieve
SQL Interface.
spreekt een enorme meerwaarde.
gegevens, rechts de nieuwe selectie
De mogelijkheid om een kaart te
met aangepaste administratieve ge-
zien van een selectie die een gebrui-
gevens.
ker zelf heeft toegepast op een tabel, of om een grafiek te maken van
23
Business Intelligence en GIS
ook voor de integratie van Mapviewer en BI EE. Er wordt nog hard gewerkt aan het uitbreiden van de mogelijkheden. Zo wordt de interface aanzienlijk verrijkt, het beheer vereenvoudigd en komen er mogelijkheden om te printen naar HTML en PDF, om maar een paar interessante ontwikkelingen aan te stippen. Uiteindelijk blijft dit alles natuurlijk een momentopname, dus mocht uw Figuur 3. © Oracle Corporation.
maar een voorbeeld om de functio-
interesse gewekt zijn, dan kunt u de
naliteit te tonen. Feit blijft dat het
laatste stand van zaken volgen op.
Met name het tweede voorbeeld
een ontwikkeling is met potentie.
lijkt op het eerste gezicht misschien
Meer uitdrukkingsvormen in een
http://www.oracle.com/technolo-
weinig overtuigend, maar het is
BI-tool betekent beter inzicht in
gy/products/spatial/, http://www.
toch meer dan een simpele ‘identi-
de achterliggende gegevens, en dus
oracle.com/technology/tech/bi/in-
fy’ zoals die bij GIS-tools gebruike-
beter onderbouwde beslissingen, en
dex.html en/of http://www.oracle.
lijk is. Er worden namelijk meteen
daar was het uiteindelijk allemaal
com/bi/.
gegevens gegroepeerd. De geografi-
om te doen. Bram Schiltmans is Applicatie Architect
sche selectie bevat 4 punten, terwijl
24
administratief maar twee records
En verder…
bij Rijkswaterstaat Data-ICT-Dienst
getoond worden (tenminste gedeel-
Zoals gezegd staan de ontwikkelin-
en tevens lid van de OGh SIM com-
telijk). Bovendien is het natuurlijk
gen nog lang niet stil, en dat geldt
missie
(
[email protected]).
Daniel Fink
Presentatie Daniel Fink tijdens RedDatabase Symposium:
Effective performance for Developers and Users Door Toine van Beckhoven Performance. Een veel gehoord (Engels) woord. Een Nederlandse vertaling hoor je zelden. Iedereen heeft wel een idee wat ermee bedoeld wordt, maar het blijkt in praktijk vaak slecht kwantificeerbaar, het is erg gevoelig voor subjectiviteit en het kost menig project de kop. Met grote regelmaat voldoen opgeleverde applicaties direct of na verloop van tijd niet aan de snelheidsverwachtingen: OLTP schermen die traag zijn, rapporten die te lang duren, data loads die een nachtelijk window uitlopen, te lange back-up tijden, te lange restore tijden, processen die zo lang lopen dat ze elkaar in de weg gaan zitten Allemaal
herkenbare
problemen
jectleiders geen enkel teamlid gede-
van de presentatie van Tapio Lah-
waar niet alleen hele grote applica-
tailleerde kennis heeft van de da-
denmäki over Index Design, in dit
ties, maar ook kleinere applicaties
tabase waar de applicatie bovenop
nummer staat de presentatie van
mee kampen. En dan wordt veelal
gaat draaien. Ergens tegen het eind
Daniel Fink centraal. In dit artikel
te laat gedacht aan performance tu-
van het project, als de performance
besteed ik aandacht aan de instru-
ning. In elke fase van een applica-
nog flink tegenvalt, wordt in allerijl
menten om bij performance-uitda-
tie levenscyclus kan wel iets aan de
een DBA opgeroepen om de appli-
gingen diagnoses te stellen en code
performance gedaan worden, maar
catie tot een acceptabel niveau te
te profileren, aan de cost based op-
des te eerder in het ontwikkelpro-
versnellen. Het lijkt vaak wel alsof
timizer en wat je als ontwikkelaar
ces tuning mee wordt genomen
de database als een noodzakelijk
kunt doen om een applicatie diag-
in het ontwerp, des te meer kans
kwaad wordt beschouwd waar je zo
nose-’vriendelijk’ te maken.
van slagen de applicatie heeft. Dit
min mogelijk in moet doen behalve
is een open deur die niets nieuws
gegevens in opslaan. Helaas zijn
De uitdaging
weergeeft en daarom is het des te
veel gekochte applicaties -ook heel
‘Winners know why they win’. Ie-
opmerkelijk dat tuning nog zo vaak
grote- op deze leest gestoeld. Daar
mand die snel de juiste diagnoses
een sluitpost is. Minstens een van
zijn dan ook erg vaak performance
stelt, bezit veelal de sleutel tot een
de redenen die genoemd kan wor-
problemen mee. Database onaf-
succesvol diagnose proces: solide
den is dat de ontwikkeling van een
hankelijkheid is voer voor (perfor-
kennis van de technologie en ge-
applicatie gedaan wordt door ont-
mance) problemen.
bruiken van de juiste instrumenten.
wikkelaars. En het gros der ontwik-
Het stellen van de juiste diagnose
kelaars heeft nauwelijks kennis van
Daniel Fink, een Amerikaan die tij-
voor het vinden van de ‘root cause’
de instrumenten die performance
dens het RedDatabase Symposium
van een performance probleem is
beïnvloeden en de middelen om
in Den Haag een uitgebreide pre-
vaak niet eenvoudig, zeker niet om-
een performance probleem mee op
sentatie gaf, startte zijn betoog ook
dat er vaak veel symptomen zijn die
te sporen.
met een aantal statements die over-
veroorzaakt worden door een ket-
De afstand tussen de ontwikkelom-
eenkomen met de voorgaande con-
tingreactie geïnitieerd door de root
geving en de database is de laatste
statering: performance is niet het
cause zelf.
jaren nog verder gegroeid en daar-
exclusieve terrein van de DBA en
De grote uitdaging is derhalve het
mee de afstand tussen ontwikkelaar
het gat tussen ontwikkelaar en DBA
vinden van de root cause(s) van
en DBA/database specialist. Niet
groeit. Dat was dan ook de context
een performance probleem. Maar
elk project heeft ook een database
van zijn presentatie ‘(Introduction
een even belangrijke uitdaging is
specialist die mee kan kijken. Het
to) Effective Performance Tuning
vervolgens het implementeren van
komt voor dat in een team van 15
for Developers and Users’. In de
de juiste oplossing. Dat is soms evi-
ontwerpers, ontwikkelaars en pro-
vorige OGh Visie is verslag gedaan
dent, maar vaak ook (zeker bij een
25
Daniel Fink
third party applicatie) helemaal
ratio’s en kunstmatige metrics; per-
interface, maar wel afleidbaar).
niet zo simpel, vooral niet als er
formance gaat alleen over Tijd, een
V$SESSION_WAIT
geen controle is over de SQL state-
concept dat iedereen snapt’.
V$SESSION is dan in alle versies
ments of stored procedures die wor-
Performance gaat ook over activi-
(vanaf V7) een goed startpunt, al
den uitgevoerd.
teit en ‘(work)load’. Activiteit is de
zit sinds 10g in V$SESSION alleen
In Oracle versie ‘6’ was er heel wei-
hoeveelheid werk die gebruikers van
ook al voldoende informatie. 10g
nig houvast voor het vinden van
het systeem vragen en de load is de
heeft ook een V$SESSION_WAIT_
een root cause. In versie 7 werd
hoeveelheid systeemresources nodig
HISTORY toegevoegd met daarin de
de Wait interface geïntroduceerd,
om het gevraagde werk af te han-
10 meest recente wait events van
maar nog nauwelijks gebruikt of be-
delen. Recent heb ik bij een klant
elke ingelogde sessie. De Nederlan-
kend bij het grote publiek. Het was
de dagelijkse ETL van het OLTP sy-
der Anjo Kolk heeft mede een white
de tijd dat de aandacht werd gericht
steem naar het OLAP systeem met
paper geschreven, genaamd ‘YAPP’
op de buffer cache hit ratio (bchr):
30% in tijd verkort door een gelijk-
(Yet Another Performance Profi-
die moest vooral heel erg hoog zijn,
blijvende activiteit (het aanmaken
ling’ method), die gestoeld is op
bijvoorbeeld 99%. Als de bchr 70%
van een drietal aggregatietabellen)
het gebruik van de wait interface.
was dan had je een performance
met een sterk verminderde load (ge-
Deze white paper wordt nog vaak
probleem. Inmiddels weten we be-
bruik makend van Fast refreshable
aangehaald – lees het boek ‘Ora-
ter: de database met 99% buffer
materialized views). Qua logische
cle Insights, Tales of The Oak Ta-
cache kan met grotere performance
activiteit verandert er niets, alleen
ble’ maar eens - en biedt nog steeds
problemen kampen dan de database
gebeurt het een stuk efficiënter.
goede aanknopingspunten om een
met 70% bchr. Connor McDonald
Er wordt wel eens gezegd: de snelste
performanceprobleem
schreef eens een PL/SQL routine
query is degene die niet uitgevoerd
reerd te analyseren. De meeste wait
die je elke gewenste bchr kon geven
wordt en zo is het maar net: alle
events hebben ook nog maximaal
die je maar wenste (http://www.
niet noodzakelijke load moet van
3 parameters, waarvan de waardes
oracledba.co.uk/tips/choose.htm).
een systeem gemeden worden, want
in
Niet alleen de bchr is achterhaald,
dat biedt ruimte aan andere load
worden. Zo toont V$SESSION(_
in wezen is tunen op basis van bijna
die wel noodzakelijk is. Een Oracle
WAIT) voor het event ‘db file scat-
elke ratio te vergelijken met het rij-
feature als partitioning vermindert
tered read’ (het lezen van meerdere
den in een auto met een blinddoek
ook de load die nodig is om het-
Oracle blocks in één I/O) zowel
om: het geeft heel weinig houvast.
zelfde resultaat (activiteit) te berei-
de file, het block id en het aantal
Recentere tuning methodes richten
ken: in plaats van FULL table scans
blocks dat gelezen wordt vanaf het
zich veel meer op ‘Tijd’ (DBTime),
worden indien juist opgezet hooguit
genoemde block id. Dat is gedetail-
op resource profielen en op ba-
FULL partition scans gedaan.
leerde informatie! Hetzelfde geldt
sis van de Active Session History
26
gejoined
V$SESSION(_WAIT)
met
gestructu-
getoond
voor latch waits, locks (en queues)
(ASH). In deze OGh Visie staat
Het stellen van de diagnose
en andere events. Oracle is wat dat
tevens een verslag van de presenta-
Als een applicatie niet de gewenste
aangaat zeer rijk geïnstrumenteerd,
tie van Graham Wood, die gericht
performance biedt, staan er ver-
zoals al eerder gezegd.
was op DBTime en ASH. Het is op
schillende diagnose-instrumenten
Niet alleen de wait interface biedt
zijn minst opmerkelijk dat in een
ter beschikking. Van SQL interfaces
informatie, ook de zeer rijk bij-
veelgeprezen boek van Oracle Press
(te bekijken met SQL*Plus of een
gehouden statistieken op allerlei
‘Oracle Database 10g Performance
IDE als TOAD of SQL Developer)
niveaus zijn van grote waarde en
Tuning Tips & Techniques’ enerzijds
tot profilers en Enterprise manager.
dan met name als ze bekeken wor-
met geen enkel woord gerept wordt
Een eerste indruk kan al verkregen
den vanuit het perspectief van een
over ASH en DBTime, maar nog al-
worden via de wait interface van
‘delta’: hoe hoog zijn de statistieken
tijd de buffer cache hit ratio als zeer
Oracle: een set (G)V$-views die
opgelopen sinds een vorige meting?
belangrijk wordt genoemd! Het lijkt
weergeeft waar een sessie zijn tijd
Tom Kyte heeft een relatief simpele,
wel een Oracle 7 Tuning boek met
aan het spenderen is: met actief
maar doeltreffende PL/SQL pac-
enkele 10g features daarin vermeld,
wachten (met informatie over welk
kage geschreven, genaamd ‘RunSt-
maar de belangrijkste zijn verge-
event), inactief wachten of CPU
ats’ waarmee je snel de impact op
ten. Daniel Fink gaf het ook aan:
verbruikend (al is het laatste strikt
diverse statistieken kunt zien als
‘Performance is niet: dashboards,
genomen niet te zien in de wait
een gegeven statement gedraaid
Daniel Fink
wordt. In zijn boeken gebruikt hij
De
bijge-
Oracle bij elke versie ‘tkprof’ (Tran-
deze ook regelmatig om het effect
houden op sessie- (V$SESSSTAT,
sient Kernel Profiler). Tkprof profi-
van verschillende implementaties
V$SESS_IO) en op systeemniveau
leert een trace file en maakt er een
van dezelfde oplossing te tonen: de
(V$SYSSTAT). Net als voor de wait
leesbaarder rapport van met aller-
beste is vaak degene die de minste
interface geldt ook voor de statistie-
lei sorteermogelijkheden en opties.
‘resources’ vergt. Voorbeelden van
ken dat degene op sessie niveau het
Fink gaf aan van al die opties er
belangrijke statistieken, genoemd
meest veelzeggend zijn (de scope is
consistent drie te nemen:
door Fink, zijn:
beter): systeem waits en statistie-
Tkprof
ken zijn totalen over alle sessies en
Waits=yes sys=no sort=exeela,fchela,
dat maakt individuele performance
prsela
problemen onzichtbaar. Kijk op ses-
Dit genereert een rapport met de
sie niveau!
naam ‘out.txt’ voor tracefile ‘ontw_
• CPU used by this session - in centiseconden weergegeven hoe
statistieken
worden
ontw_ora_453.trc
out.txt
veelheid verbruikte CPU tijd
De meest gedetailleerde informatie
ora_453.trc’ met wait informatie
• Execute count - telling van aan-
over een problematische sessie is te
erin, geen recursive sql (systeem ge-
verkrijgen door een Extended SQL
genereerde SQL) en de statements
• Physical reads - totaal aantal
Trace. ‘Optimizing Oracle Perfor-
gesorteerd op elapsed time voor
Oracle blocks dat echt van disk
mance’ van Cary Millsap is een uit-
executes, fetches en parses.
moest worden gelezen
stekend boek over dit onderwerp.
Naast tkprof zijn er nog 3rd party
• Session logical reads - aantal
Extended SQL Trace levert een
producten die van een Extended
Oracle blocks dat gelezen is,
trace file op met daarin nagenoeg
trace file een leesbaar rapport ma-
ongeacht of een Block in de
op volgorde (er zijn wat geniepige
ken. De Hotsos profiler (gebaseerd
buffer cache stond of van disk
haken en ogen aan de volgorde)
op eerder genoemd boek van Cary
alle activiteit die een sessie gedaan
Millsap) is mogelijk de beste en be-
• Parse count (total)/(hard) -
heeft. In zo’n trace file valt dan bij-
kendste, maar zeker niet gratis. Een
totaal aantal parses en totaal
voorbeeld snel op als de sessie voor
handige Russische programmeur
aantal hard parses. Het aantal
een SQL statement extreem veel
heeft wel een gratis kloon van het
hard parses moet een fractie zijn
single block reads moest doen. Het
commerciële Hotsos profiler ge-
van het totaal aantal parses
is ook de enige manier om van een
maakt, genaamd ‘orasrp’ (http://
• Sorts (memory)/(disk) - aantal
sessie alle bind variable waardes te
www.oracledba.ru/orasrp/).
zien (zie noot).
tool maakt een heel mooi HTML
tal SQL statements uitgevoerd
moest worden gelezen
sorteringen in memory en op Bij
voorkeur
moeten
Deze
disk.
rapport van de trace file, met de
sorteringen in geheugen plaats-
Een Extended SQL trace file is erg
bind variabelen en wait events per
vinden
lastig te lezen en daarom levert
statement. Dat het lezen en parsen
Noot: bind variables zijn fantas-
moet worden, zal het statement
Oracle 11g maakt voor dit pro-
tisch voor het delen van SQL en
geoptimaliseerd worden volgens
bleem een sprong voorwaarts door
dus het vermijden van teveel dure
de waarde voor City die toevallig
een feature die ‘Adaptive Cursor
(CPU) hard parses, maar zijn daar-
door die gebruiker is ingegeven.
Sharing’ heet: het monitort exe-
entegen een probleem voor de op-
Nu scheelt het nogal of de plaats
cuties van elk statement met bind
timizer. In een huidig Oracle 10g
Parijs wordt gevraagd of de plaats
variabelen en bepaalt aan de hand
Siebel project (OLTP systeem) zien
Goirle. De betreffende Siebel query
van selectiviteit van de bind vari-
we hele wisselende responstijden
zou in het eerste geval heel anders
abelen of een statement geshared
voor bijvoorbeeld een query die
geoptimaliseerd worden dan in het
kan worden (soft parse) of dat het
alle personen moet tonen woon-
tweede (indien er histogrammen
opnieuw geparsed (hard) moet
achtig in een door de gebruiker op
berekend zijn). Maar de gebrui-
worden als child cursor , leidend
te geven plaats (City). Oracle doet
kers die vlak erna dezelfde query
tot een hopelijk beter executieplan
vanf versie 9i aan zogeheten ‘bind
uitvoeren en een volledig andere
voor de gegeven bind variabelen.
variable peeking’: elke keer dat het
waarde voor City kiezen, zijn ver-
Beide plannen blijven dan naast
statement niet in de shared SQL
oordeeld tot het executieplan van
elkaar als shared SQL in de SGA
area staat en dus geparsed (hard)
de ‘eerste’ gebruiker.
staan.
2727
Daniel Fink
van een ruwe tracefile niet evident
en met Oracle 10 echter heeft van
sie is daar niet gelijk aan een Ora-
is blijkt zeer goed uit genoemd boek
zulke afhankelijkheden geen weet.
cle sessie. Vind dan maar eens de
van Cary Millsap, een profiling tool
Vanaf Oracle 11 zijn ook zulke
achtereenvolgens uitgevoerde state-
is dan extreem waardevol. Ze tonen
statistieken mogelijk en dat is zeer
ments van dezelfde gebruiker! Die
ook aan dat event ‘SQL*Net mes-
goed nieuws: door de definitie van
staan helaas verspreid over meerde-
sage from client’ ten onrechte altijd
kolomgroepen
statistie-
re trace files en tussen statements
als een onbelangrijk event wordt
ken voor combinaties van kolom-
van andere gebruikers. En helaas is
beschouwd: zodra dit event signifi-
men berekend worden. Voor wie
er geen identificatie mogelijk omdat
cant bijdraagt aan de responstijd is
echt wil snappen wat de Cost Based
alle gebruikers de database benade-
het niet onbelangrijk. Een gebruiker
Optimizer allemaal in aanmerking
ren via dezelfde database user. Daar
die even niets doet is namelijk niet
neemt bij het bepalen van een exe-
is aanzienlijk minder eer te behalen
de enige reden voor het optreden
cutieplan, kan ik het boek van Jo-
dan in een specifiek voor Oracle ge-
van dit event!
nathan Lewis aanbevelen: ‘Cost
schreven applicatie.
kunnen
based Fundamentals’, tezamen met
Cost based optimizer
een serie white papers van Wolf-
Enkele gouden regels voor schaal-
Menigmaal heb ik mensen horen
gang Breitling (zoals ‘Fallacies of
bare en snelle applicaties zijn:
zeggen dat ze de Cost Based Opti-
the Cost Based Optimizer’). Beide
mizer van Oracle waardeloos vin-
hebben een goede website met veel
• Minimaliseer het aantal Logical
den: het doet niet wat het moet
informatie. Genoemde boeken en
I/O’s! Voer geen SQL statements
doen. Maar dit heeft voor een groot
white papers behoren tot mijn favo-
uit die onnodig zijn en haal niet
deel te maken met onbegrip. Voor
riete leesvoer ten aanzien van per-
meer records op dan nodig (open
de Cost Based Optimizer is het al-
formance tuning en niet voor niets
deuren die vaak dicht blijven)
lereerst noodzakelijk dat de object-
werden de meeste ook genoemd
statistieken accuraat genoeg zijn:
door Fink. De Cost Based Optimi-
• Elimineer alle zinloze workload
table statistics, column statistics,
zer is veel intelligenter dan de Rule
index statistics en partition statis-
Based Optimizer. Maar het moet
workload waar mogelijk. Dit
tics. En aanbevelenswaardig sinds
gezegd dat er soms teveel intelligen-
betekent ook: archiveren van
Oracle 9 zijn ook de system statis-
tie in wordt gestopt. Bepaalde hid-
oude data
tics (wat zijn de ‘kosten’ van single
den Oracle parameters willen dan
Block en multiblock reads en hoe
wel eens uitkomst bieden.
snel zijn de CPU’s). Door de opti-
• Tune een applicatie voordat
gedacht wordt aan extra of s
nellere CPU’s, meer memory
steem’ en de objecten te geven (via
Diagnose vriendelijke programma’s en gouden regels
de built-in package DBMS_STATS),
Waar kan een ontwikkelaar nu reke-
kan het al veel beter zijn werk doen.
ning mee houden bij zijn applicaties
Erg vaak wordt dit vergeten of zijn
(in de ruimste zin van het woord)?
maar een deel van de statistieken
Instrumenteren met behulp van
de helft van het onnodige werk
op peil. Lastige situaties zijn tabel-
DBMS_APPLICATION_INFO is erg
verwijderd worden.
len die volatile zijn: waar continue
prettig voor een DBA die jouw ap-
inserts en deletes op plaatsvinden.
plicatie moet analyseren of tracen.
• Maak
Maar dan nog geldt ook: al zijn de
De module, action en client_info
features als partitioning, cons-
statistieken accuraat genoeg, er zijn
waardes zijn rechtstreeks te zien
traint declaraties, niet te veel
situaties waar een optimizer niet
in de V$SESSION view. Als een ar-
mee om kan gaan. Één van die si-
chitectuur gekozen kan worden, is
tuaties is bijvoorbeeld kolomafhan-
de meest diagnose vriendelijke die
kelijkheid. Een kolom ‘geslacht’ en
waarbij SQL tracing mogelijk is. Ap-
een kolom ‘aanhef’ zijn niet geheel
plicatie connection pooling maakt
onafhankelijk: een persoon van het
tracen zeer lastig tot onmogelijk,
mannelijk geslacht zal hopelijk niet
ondervind ik momenteel aan den
gauw ‘mevrouw’ genoemd worden
lijve bij een (IBM) FileNet applicatie
of ‘Jonkvrouwe’. De optimizer tot
bovenop Oracle: een gebruikersses-
mizer deze informatie over het ‘sy-
28
van een systeem; spreid zinvolle
e.d.: er zijn zelfs voorbeelden genoeg van applicaties die trager werden na een CPU upgrade. In
elk systeem kan vaak meer dan
maar
gebruik
ook
van
niet
te
Oracle
weinig
indexen, index-organized tables, DBMS_STATS: al deze elimineren
onnodig werk dat de Oracle kernel
moet
uitvoeren
en
maken activiteit sneller met minder workload.
Performance tuning is niet makke-
Daniel Fink
lijk, maar er zijn wel een paar hele
Met dit verslag over deze presenta-
Toine van Beckhoven (http://www.
eenvoudige
En
tie, aangevuld met eigen ervaringen
jom-it.nl/) is zelfstandig en allround
Oracle biedt veel diagnose moge-
en materiaal uit een reeks aanbe-
Oracle specialist. Oracle Performance
lijkheden. Daniel Fink’s bedoeling
velenswaardige boeken, hoop ik
Tuning en PL/SQL hebben zijn groot-
was de ontwikkelaar bewust maken
een aanzet te geven tot eerste ver-
ste interesse.
van zijn rol in de tuning van zijn
beteringen en het opwekken van
applicaties.
nieuwsgierigheid.
uitgangspunten.
Marketing met verstand van zaken – communicatie met gevoel voor verhoudingen
Even voorstellen: Conclusion Corporate & Public Communication U zoekt proactieve marketeers die precies weten wat er speelt in de ICT-wereld? Dan bent u bij Conclusion Corporate & Public Communication aan het goede adres. Want we verzekeren u een oplossingsgerichte, pragmatische werkwijze. Met meetbare resultaten waarmee u voor de dag kunt komen! Full service Conclusion Corporate & Public Communication biedt het volledige scala aan marketing- en communicatieactiviteiten: • Leadgeneratie • PR • Branding • Productmarketing • Partner marketing • Arbeidsmarktcommunicatie Los ingezet of geïntegreerd in een campagne – de keuze is aan u! Altijd dichtbij In Conclusion Corporate & Public Communication vindt u een partner die altijd dichtbij is. Met een vast aanspreekpunt, dat u alles uit handen neemt. Op basis van consultancy, projecten of interim, van plan tot en met uitvoering. Geïnteresseerd? Wilt u meer weten over onze klanten, projecten en mensen? Kijk op www.conclusion.nl/ccpc.
2929 Conclusion advertentie.indd 1
12-12-2008 10:41:00
SQL modelclausule
De SQL modelclausule in de praktijk Welke soorten problemen zijn perfect met de modelclausule op te lossen en welke niet? Door Rob van Wijk Als je beroepshalve SQL zoekvragen ontwikkelt, dan is het de moeite waard om kennis te nemen van de SQL modelclausule. Wanneer eenmaal de angst voor de nieuwe syntax is overwonnen en de basisprincipes eigen zijn gemaakt, dan zul je ontdekken dat je minder vaak dan voorheen op een procedurele taal zult terugvallen. Dit zal over het algemeen resulteren in kortere, duidelijkere en vaak snellere code. Dit artikel gaat in op een aantal vaker voorkomende soorten zoekvragen en zet daarbij een oplossing met de modelclausule af tegen het beste alternatief, als dit bestaat. Hierbij zal gekeken worden naar leesbaarheid en snelheid. Uiteindelijk zul je gemakkelijker situaties gaan herkennen waarin de modelclausule kan of zou moeten worden ingezet. Achtergrond
Wie nog niet bekend is met de SQL
De vraag is om de verwachte ver-
De modelclausule werd geïntro-
modelclausule kan de schade inha-
koopaantallen voor 2008 te tonen
duceerd in versie 10g Release 1 in
len door Hoofdstuk 22 van de Data
op basis van de regel dat de ver-
2003. Volgens de documentatie
Warehousing Guide[1] te lezen.
koopaantallen voor 2008 gelijk zijn
kun je er vanuit de resultaten van
Ook de SQL Model Clause Tutori-
aan de verkoopaantallen in 2007,
een zoekvraag multidimensionale
al, part one[2] and part two[3] op
vermenigvuldigd
arrays mee vormen en daarop for-
mijn weblog kan ik uiteraard aan-
groeipercentage als van 2006 op
mules loslaten om nieuwe waarden
bevelen.
2007. In formulevorm (per pro-
te berekenen. Ze kunnen daarmee
hetzelfde
duct):
spreadsheet-applicaties op de PC
Voorspellingen/begrotingen
vervangen. Echter, afgaande op ei-
Dit type zoekvraag wordt bijna uit-
verkopen2008
gen ervaring en op de Oracle fo-
sluitend gebruikt in het hierboven
pen2007
rums, wordt de SQL modelclausule
genoemde hoofdstuk 22 van de Data
/ verkopen2006)
nog weinig gebruikt. En als de mo-
Warehousing Guide. Typisch wordt
Met
delclausule gebruikt wordt, dan is
hier een tabel of view met aantallen
wordt dit als volgt op-
het niet om spreadsheet-applicaties
verkopen genomen, waarbij de te be-
gelost:
op de PC te vervangen. Het type
antwoorden vraag er een is die moet
SQL> select product
problemen waarvoor de modelclau-
voorspellen hoe hoog de toekomstige
2
, jaar
sule wel gebruikt kan worden en die
verkoopaantallen zullen zijn op basis
3
, aantal
hier behandeld zullen worden, zijn:
van een of meer rekenregels. Neem
4
from verkopen
• voorspellingen/begrotingen
bijvoorbeeld de volgende inhoud van
5
model
• rijgeneratie
de tabel VERKOPEN:
6
• variabel aantal berekeningen
30
met
gebaseerd op berekende waarden
de
*
=
verko-
(verkopen2007 modelclausule
partition by (product)
AANTAL
7
dimension by (jaar)
• complexe algoritmen
------- ---------- -----
8
measures (aantal)
• stringaggregatie
nietjes
2006
18
9
rules
2
PRODUCT
JAAR
papier
2006
10
(aantal[2008]
Natuurlijk beperkt het gebruik van
pennen
2006
80
= aantal[2007]
de modelclausule zich niet tot deze
nietjes
2007
30
* aantal[2007] /
opsomming, maar bovenstaande
papier
2007
4
aantal[2006]
vijf ben ik het meest tegengeko-
pennen
2007
11
)
men.
100
SQL modelclausule
12
order by jaar
13 14
, product
gebruiken:
dimension by (1 i)
/
PRODUCT
één van de volgende twee varianten
model measures (0 x)
JAAR
AANTAL
------- -------
------
(x[for i from 2 to
SQL> select id
100000 increment 1] = 0)
2 , n volgnr 3 ,regexp
substr(str,
papier
2006
2
De totalen in het tkprof-bestand
’[^
pennen
2006
80
laat het volgende zien, in dezelfde
4 from t
nietjes
2006
18
volgorde als hierboven:
5 , ( select level n
papier
2007
4
pennen
2007
100
nietjes
2007
30
papier
2008
8
total 6670 0.39 0.36
0
pennen
2008
125
total 6670 3.01 3.13
0
nietjes
2008
50
]+’,1,n)
woord
call count cpu
elapsed disk query current rows
---- -----
-------- ----
---
-----
-------
----
0
0
100000
0
0
100000
Ook zonder de modelclausule te ge-
De modelclausule is dus ruim lang-
6 from ( select max
bruiken, kan dit resultaat worden
zamer dan de zoekvraag met con-
(regexp_count(str,’
bereikt. Bijvoorbeeld door inzet van
nect-by-level en is dus niet interes-
‘))+1 max_#woorden
een UNION ALL en een extra rond-
sant voor pure rijgeneratie. Voor
7 from t
gang door de tabel, of met behulp
afgeleide zoekvragen kan de mo-
8 )
van grouping sets. Echter, als je dit
delclausule echter wel interessant
9 connect by level <=
uitschrijft, blijkt snel dat het be-
zijn. Denk bij afgeleide zoekvragen
hoorlijk gekunsteld is en lastig leest.
bijvoorbeeld aan het uitvouwen van
10 )
En wat als je ook een prognose van
periodes in een agenda, waarbij je
11 where n <= regexp_
de verkoopaantallen van 2009 wilt
van één rij met begindatum 1-1-
count(str,’ ‘)+1
van bijvoorbeeld tweemaal die van
2008 en einddatum 5-1-2008, 5
12 order by id
2008? Met de modelclausule voeg
rijen moet maken. Of denk aan het
13 , volgnr
je gewoon een extra regel toe:
splitsen van strings in individuele
14 /
aantal[2009] = aantal[2008] * 2
elementen. Zie het volgende voor-
Het is dus niet voor niets dat voor-
beeld:
max_#woorden
ID
spellingen en begrotingen als hét
VOLGNR WOORD
------ ------- ---------
voorbeeld in de Oracle documenta-
SQL>
1
1 OGh
tie worden genomen.
(id,str)
1
2 Visie
create
table
t
2
as
2
Rijgeneratie
3
select 1, ‘OGh
2
Sinds 2003 is bekend dat je gemak-
Visie’ from dual
2
3 Holland
kelijk en snel rijen kunt genereren
union all
4
1 OGh
door gebruik te maken van een hië-
4
rarchische zoekvraag op dual:
Gebruikersclub
6
Holland’ from dual
teerd.
from dual
5 6
Met de modelclausule heb je echter nog een alternatief:
7
Gebruikersclub
select 2, ‘Oracle
select level connect by level <= 100000
1 Oracle 2
rijen
zijn
geselec-
union all select 3, null
SQL> select id
from dual union all
2 , i volgnr
select 4, ‘OGh’
3 , str woord
from dual
4 from t
/
5 model 6 return updated rows
select i from dual
Om hier de individuele woorden uit
7 partition by (id)
te selecteren, waarbij uiteraard de
8 dimension by (0 i)
spatie het scheidingsteken is, kan je
3131
SQL modelclausule
9 measures (str)
Qua snelheid moet de modelclau-
hele jaar een rentevergoeding krijgt.
10 ( str[for i from 1
sule het hier dus afleggen. Ook
De tabellen voor deze situatie zijn:
to regexp_ count(str[0]
SQL> create table stortingen (klantnummer, bedrag, datum)
,’ ‘)+1 increment 1]
2
as
11 =regexp_substr
3
select 1, 1000, date ‘2003-01-01’ from dual union all
(str[0],’[^
4
select 1, 200, date ‘2004-01-01’ from dual union all
]+’,1,cv(i))
5
select 1, 800, date ‘2007-01-01’ from dual union all
12 )
6
select 1, 500, date ‘2005-01-01’ from dual union all
13 order by id
7
select 1, 100, date ‘2006-01-01’ from dual union all
14 , volgnr
8
select 2, 20, date ‘2003-01-01’ from dual union all
15 /
9
select 2, 150, date ‘2004-01-01’ from dual union all
10
select 2, 60, date ‘2005-01-01’ from dual union all
11
select 2, 100, date ‘2006-01-01’ from dual union all
------- -------- -----
12
select 2, 100, date ‘2007-01-01’ from dual
1
1
OGh
13
/
1
2
Visie
2
1
Oracle
ID
VOLGNR
2
2
WOORD
Tabel is aangemaakt.
Gebruikersclub
2
3
Holland
4
1
OGh
SQL> create table rentes (datum, percentage) 2
as
3
select date ‘2003-01-01’, 5 from dual union all
4
select date ‘2004-01-01’, 3.2 from dual union all
5
select date ‘2005-01-01’, 4.1 from dual union all
6
select date ‘2006-01-01’, 5.8 from dual union all
Je ziet in beide zoekvragen de basis-
7
select date ‘2007-01-01’, 4.9 from dual
zoekvraag terug. In deze oplossin-
8
/
6
rijen
zijn
geselec-
teerd.
gen rekent regexp_count(str,’ ‘)+1 het aantal woorden in de string uit
Tabel is aangemaakt.
(vereist minimaal versie 11.1.0.6), en
haalt
regexp_substr(str,’[^
de eerder genoemde alternatieven
]+’,1,n) het n-de woord uit de
blijken iets sneller. Leesbaarheid is
De vraag is dan wat het saldo aan
string. Voor de eerste zoekvraag zijn
echter ook iets waard.
het eind van ieder jaar is. Voor klant
diverse alternatieven gebaseerd op
* 1,05 = 1050. Aan het eind van
tisch, wat ze lastiger onderhoudbaar
Variabel aantal berekeningen gebaseerd op berekende waarden
maakt. De modelclausule daarente-
Een voorbeeld zegt meer dan dui-
bedoel met berekeningen over bere-
gen behoudt zijn leesbaarheid van-
zend woorden, dus stel jezelf een
kende waarden. Met de modelclau-
wege de partitieclausule. Met een
sterk versimpeld financieel product
sule wordt de zoekvraag zo:
10.000 maal vergrootte tabel t, is
voor waarbij de klant gedurende een
het volgende te zien in een tkprof-
aantal jaren op 1 januari een stor-
bestand:
ting doet en waarbij hij over dat ge-
de connect-by-level truc bekend. Ze ogen echter allemaal nogal cryp-
call
count
------- ------
cpu
elapsed
disk
query
current
2004 is dit (1050 + 200) * 1,032 = 1290, enzovoorts. Dit is dus wat ik
rows
-------- ---------- ---------- -----------------
total
4004
1.92
1.88
0
571
0
60006
total
4004
2.18
2.20
0
143
0
60006
...
32
1 is dit aan het eind van 2003: 1000
SQL modelclausule
een enkele zoekvraag om iedere sudoku-puzzel te kunnen oplossen
SQL> select klantnummer 2
, bedrag
als je hem een string van 81 cijfers
3
, datum
voert[5]. Als je ervan houdt, is dit
4
, percentage
hartstikke leuk om te schrijven,
5
, saldo saldo_aan_eind_van_jaar
maar je hebt wel een probleem als
6
from stortingen s
je niet de auteur bent en je er on-
7
, rentes r
derhoud op moet uitvoeren. Dus
8
where s.datum = r.datum
ongeacht een eventueel geredu-
9
model
ceerde aantal regels code of kleine
10
partition by (s.klantnummer)
snelheidswinsten, lijken pipelined
11
dimension by (s.datum)
functies hier altijd een beter alter-
12
measures (s.bedrag, r.percentage, 0 saldo)
natief.
13
rules
14
( saldo[any] order by datum
Stringaggregatie
15
= round
Stringaggregatie is eigenlijk een spe-
16
(
ciaal geval van de categorie ‘variabel
(nvl(saldo[add_months(cv(),-12)],0) +
bedrag[cv()])
aantal berekeningen over bereken-
17
* (1 + percentage[cv()]/100)
de waarden’. De vraag wordt echter
18
, 2
zo vaak gesteld op Oracle forums
19
)
dat ik hem hier apart noem. Met
20
)
stringaggregatie wordt bedoeld dat
21
order by klantnummer
meerdere rijen worden geaggregeerd
22
, datum
tot één rij, waarbij de waarden van
23
/
een kolom achter elkaar worden
gezet, gescheiden door bijvoorbeeld KLANTNUMMER BEDRAG DATUM PERCENTAGE SALDO_AAN_
een komma. Een voorbeeld met de
EIND_VAN_
bekende EMP-tabel is het produce-
JAAR
ren van de volgende uitvoer:
----------- ------ ------ ---------- ------------ 1
1000
01-01-2003 5
1050
DEPTNO ENAMES
1
200
01-01-2004 3,2
1290
------- ----------------------------
1
500
01-01-2005 4,1
1863,39
10
CLARK,KING,MILLER
1
100
01-01-2006 5,8
2077,27
20
ADAMS,FORD,
1
800
01-01-2007 4,9
3018,26
JONES,SCOTT,
20
01-01-2003 5
21
SMITH
150
01-01-2004 3,2
176,47
30
ALLEN,BLAKE,JAMES,
60
01-01-2005 4,1
246,17
MARTIN, TURNER,
WARD
2 2 2
2
100
01-01-2006 5,8
366,25
2
100
01-01-2007 4,9
489,1 Je kunt dit op vele manieren doen:
Als je de berekende waarden wilt
Complexe algoritmes
• met een eigen aggregatie-
kunnen afronden, dan is er nau-
Met de modelclausule worden de
welijks een alternatief om dit voor
grenzen van wat mogelijk is in SQL
elkaar te krijgen, behalve een erg
flink opgerekt. Ook complexe algo-
• met een hierarchische zoekvraag
langzame met geavanceerde XML-
ritmes kun je ermee oplossen. Een
functies. Voor versie 10g zou je zo’n
voorbeeld hiervan is een zoekvraag
• met XML-functies
vraagstuk waarschijnlijk met een
om tabelruimtes over de databe-
• met de COLLECT functie, een
procedurele taal als PL/SQL oplos-
standen van een database dusda-
sen, maar dat hoeft nu dus niet
nig te verdelen dat de vrije ruimte
meer.
zo gelijk mogelijk blijft[4]. Of zelfs
functie, bijvoorbeeld Tom Kyte’s stragg functie met sys_connect_by_path
SQL type en een eigen gemaakte functie
3333
SQL modelclausule
• met het ongedocumenteerde en
daarom
afgeraden
-
wmsys.wm_concat
18 where rn = 1
gen en vraagstukken waarbij je een
19 order by deptno
variabel aantal berekeningen over
20 /
berekende waarden wilt uitvoeren,
Met de modelclausule los je het zo op:
inclusief stringaggregatie, blinkt de Eén zoekvraag, geen hulpobjecten
modelclausule uit. Complexere al-
en sneller dan alle andere alterna-
goritmes en zoekvragen waarbij je
SQL> select deptno
tieven[6]. De prijs die je ervoor be-
rijen genereert ‘uit het niets’, kun je
2 , rtrim(ename,’,’)
taalt is een groter beroep op PGA-
er ook mee oplossen. In het eerste
geheugen, wat vaak geen probleem
geval gaat dat echter vaak ten koste
3 from ( select
is, mits er voldoende aanwezig is. Is
van de onderhoudbaarheid. In het
enames
dat niet het geval, dan zie je ‘direct
tweede geval, blijkt dat qua snelheid
4 , ename
path read temp’ en ‘direct path wri-
niets opgewassen is tegen het gene-
5 , rn
te temp’ bij je wachttijden staan en
reren van rijen met de connect-by-
6 from emp
kan de kleine snelheidswinst om-
level truc. Desondanks is er mijns
7 model
slaan in een groot snelheidsverlies.
inziens genoeg reden om de SQL
deptno
modelclausule verder te bestuderen
8 partition by
(deptno)
en te gebruiken.
De SQL modelclausule is voor een
number() over
aantal soort zoekvragen een echte
Rob van Wijk is werkzaam bij
10 (partition by dept-
aanwinst. Met name bij voorspellin-
CIBER Nederland
no order by ename)rn
11 )
[1] http://download.oracle.com/docs/cd/B19306_01/server.102/b14223/sqlmodel.
12 measures(cast(ename
htm#sthref1855
as varchar2(40))
[2] http://rwijk.blogspot.com/2007/10/sql-model-clause-tutorial-part-one.html
ename)
[3] http://rwijk.blogspot.com/2007/10/sql-model-clause-tutorial-part-two.html
13 rules
[4] http://forums.oracle.com/forums/message.jspa?messageID=2044529#2044529
14 ( ename[any] order
[5] http://technology.amis.nl/blog/?p=2066
by rn desc
15 =ename[cv()]||’,’||
ename[cv()+1]
16 ) 17 )
34
Conclusie
9 dimension by (row_
[6] http://forums.oracle.com/forums/message.jspa?messageID=1819487#1819487
DBTime en ASH
Presentatie Graham Wood tijdens themabijeenkomst OGh
DBTime en Active Session History Door Toine van Beckhoven In de vorige OGh Visie was al een relatief kort verslag te lezen van de zeer boeiende presentatie van Oracle coryfee Graham Wood tijdens de themabijeenkomst van de OGh. Zoals beloofd dit keer een uitgebreider verslag van deze avond. Dit artikel sluit aan bij het verslag van het Red Database Symposium (Daniel Fink) elders in dit nummer.
In zijn presentatie op de OGh themabijeenkomst besteedde Graham Wood aandacht aan enkele van de revolutionaire nieuwe tuning mogelijkheden van Oracle 10g en 11g. In het artikel over de presentatie van Daniel Fink zijn de diagnosemogelijkheden besproken van in feite Oracle database versies 7 t/m 11g, maar Graham Wood liet zien waarin Oracle 10g en 11g de vorige versies laten verbleken. Drie zeer belangrijke termen passeerden deze avond de revue: DBTime, ADDM (Automatic Database Diagnostic Monitor) en ASH (Active Session History). In dit verslag wil ik met name ASH belichten en het raakvlak met DBTime. DBTime
het kan een actief
DBTime is een nieuw concept vanaf
wait event zijn (bij-
Oracle 10g, althans nieuw in de zin
voorbeeld een row
dat op diverse plaatsen in de kernel
lock, I/O of een van
nieuwe instrumenten zijn ingebouwd
de redo log Waits).
om actieve tijd gespendeerd ‘bin-
Er zijn in Oracle 10
nen de database’ te tonen. Iedereen
ruim 800 verschil-
snapt het begrip ‘Tijd’. Niets is een
lende wait events.
begrijpelijker meetinstrument om
Waarom is DBTime
responstijd en performance te meten
een belangrijk con-
en weer te geven dan verstreken tijd.
cept? Het geeft een
Oracle kan prima meten hoe lang een
goede indicatie over
sessie het RDBMS actief bezighoudt.
de performance:
Het weet weliswaar ook wanneer de
Als het aantal actieve gebruikers toe-
Waar wordt DBTime dan gebruikt in
gebruiker de database niet actief be-
neemt of er worden grotere trans-
Oracle? Allereerst gebruikt ADDM
zighoudt, maar het kan niet vertellen
acties uitgevoerd, dan zal DBTime
(Automatic
of in de perceptie van de gebruiker
toenemen. Als het I/O systeem een
Monitor) DBTime als meetinstru-
de applicatie nog bezig is (zonder de
probleem heeft, waardoor I/O tijden
ment voor allerlei analyses en aan-
database te belasten oftewel bezig
toenemen, dan zal DBTime toene-
bevelingen. Het meet bijvoorbeeld de
is met clientside code executie) of
men. Als de server CPU bound is of
totale DBTime in een meetperiode en
dat de gebruiker daadwerkelijk geen
wordt, dan wachten sessies langer
zet alle SQL statements daartegen af.
opdracht heeft gegeven. Oracle kan
in de CPU run queue, wat zichtwaar
Het geeft daarmee aan dat een zeker
dus DBTime meten als ‘Tijd gespen-
is in de tijd gespendeerd in de wait
statement 30% van de totale DBTime
deerd in een database call’. Die tijd
events voorafgaand aan de CPU
heeft gekost. Verder is DBTime zicht-
kan CPU-verbruik zijn (bijvoorbeeld
behoefte van de sessies (alhoewel
baar in diverse V$views, zoals V$SQL
parsen van een SQL statement, fil-
kunstmatig omdat de run queue
(de kolom heet echter geen dbtime,
teren van records als gevolg van een
moeilijk inzichtelijk te maken is
maar uit zich in
WHERE clause of het lezen van een
vanuit Oracle). Langere wait events
en CPU_TIME) en een nieuwe view
Oracle block uit de buffer cache), of
betekent toenemende DBTime.
V$SYS_TIME_MODEL. Performance
Afbeelding 1: Scope van Oracle Tuning Methodes gebaseerd op ‘Tijd’
Database
Diagnostic
ELAPSED_TIME
35
DBTime en ASH
tuning aan de hand van DBTime
Sinds versie 7 heeft een handige en
terug te zien tot een week oud! En
maakt vrijwel alle problemen identi-
vooruitziende DBA wel de moge-
dat opent de deur naar een analyse
ficeerbaar: de scope van DBTime is
lijkheid om data te verzamelen die
met een reeks aan dimensies
groter dan van YAPP en Method R
bovenstaande uitdaging kan ver-
(zie tabel 1):
zoals te zien in Afbeelding 1.
simpelen: het is bijvoorbeeld al zeer waardevol om
Active Session History
elke
seconde
Consumers
Stel, uw databaseversie is 9i of ‘lager’.
de
resulta-
Sessie
Er komen meldingen binnen van
ten van een
User
CPU
slechter wordende performance, die
join
Service
Waits
ongeveer 2 uur geleden is begonnen.
V$SESSION en
Module, Action
I/O
Wat zijn uw opties? Als u Statspack
V$SESSION_
Wait event
File
snapshots neemt elk uur heeft u in
WAIT voor alle
SQL statement
Block
ieder geval de mogelijkheid om de
sessies die
Programma
Tijd
Statspack rapporten van de laatste
‘ACTIVE’ zijn
Client (terminal, werkstation)
2 uur erbij te nemen. Statspack rap-
op
Database object
porten vergen enige ervaring om te
in een tabel.
lezen en interpreteren, maar ze geven
Tezamen met wat huishoudelijke
Tabel 1. Consumers versus Resources,
een indicatie van de gebieden waarin
taken eromheen (periodiek opslaan
dimensies in ASH
gezocht kan worden. Een goed begin
van SQL statements die in deze ses-
zou de sectie ‘Top 5 Timed Events’
sies werden uitgevoerd, de objecten
U kunt bijvoorbeeld de meest CPU
zijn. Dat ziet er ongeveer zo uit:
en datafiles die benaderd zijn en het
verbruikende module of user iden-
tussen
te
slaan
X
Resources
tificeren en dat voor de hele week, voor slechts een interval of wellicht
Top 5 Timed Events ~~~~~~~~~~~~~~~~~~
% Total
Event
Waits
---------------------------------
is er een trend: is een specifieke user
Time (s) Ela Time
elke dag tussen 10:15 en 10:40 de
-------
--------
grootste consument van CPU. U
buffer busy waits
702,626
74,386
47.57
kunt de Oracle blocks identificeren
PL/SQL lock timer
9,048
45,101
28.84
waar de meeste wait events voor ge-
11,717
7.49
CPU time
registreerd staan (zogenaamde ‘hot
db file sequential read
2,773,149 5,821
3.72
blocks’). En uiteraard de meest re-
global cache null to x
238,060
3.25
source intensieve SQL statements,
5,077
waarvan u nu ook goed kunt zien of Het is duidelijk dat de meeste tijd in
purgen van oude data) ben je dan in
deze elke executie evenveel resources
de periode is gegaan naar wait event
het bezit van een weldaad aan infor-
vragen. Misschien is het meest re-
‘buffer busy waits’. Om vervolgens
matie. En dat is nu in feite wat in
source intensieve SQL statement wel
verder te kijken welke SQL state-
Oracle 10 in de kernel is ingebouwd:
alleen ‘duur’ indien uitgevoerd door
ments dit veroorzaakt hebben, welke
een ACTIVE SESSION HISTORY.
gebruiker X en wel elke dag tussen
sessies en op welke objecten, is in-
Graham Wood, Kyle Hailey en en-
12:00 en 12:30.
formatie nodig die in Statspack niet
kele anderen ontwierpen
Er is zoveel informatie beschikbaar.
beschikbaar is. In de ter beschikking
36
Zo gebruik ik zelf de ASH om het ver-
staande oracle versie kan dan nog
onder meer ADDM en ASH en maak-
loop van het nachtelijke ETL proces
geprobeerd worden om problemati-
ten daarmee het leven van de DBA
snel in kaart te brengen en kan dan
sche sessies te tracen met Extended
verantwoordelijk voor performance
via verschillende SQL statements sor-
SQL Trace (een SQL trace met Waits
tuning, een stuk aangenamer. Want
teren op uitvoervolgorde, op meeste
en eventueel binds), maar omdat de
de gedetailleerde informatie die in
samples (= aantal seconden in ASH)
problemen al gestart zijn, zal waar-
Statspack ontbrak en die zonder een
en dus langst durende ETL workflow
schijnlijk noodzakelijke informatie
eigen sampling mechanisme niet be-
stappen. Maar ik kan zo ook snel
niet in de tracefile terechtkomen.
schikbaar was, is in 10g en 11g -mits
stappen vergelijken voor elke nacht
Het vinden van de root cause wordt
de parameter STATISTICS_LEVEL op
in de afgelopen week. Maar vooral
dan een moeilijke taak.
ALL of TYPICAL staat- out of the box
gebruik ik ASH om problemen te
DBTime en ASH
analyseren die al voorbij zijn. On-
is met een aantal Oracle parameters
niet al te lang hoger moet zijn dan
langs nog kon ik met ASH perfect
ook te configureren. Zo is het ook
het aantal beschikbare CPU’s. OEM
aanduiden dat er elke ochtend tus-
mogelijk om de default van 1 secon-
toont ook de ‘Maximum CPU’ lijn in
sen 07:00 en 08:00 een exceptioneel
de naar een andere waarde te zetten
de ASH grafiek zodat snel te zien is of
hoge load aanwezig was die de server
of om ASH geheel af te zetten.
piekmomenten langdurig boven deze
overbelastte en ASH leidde me ook
U kunt de genoemde twee database
lijn zitten.
naar de oplossing. Dat kon voorheen
views gebruiken voor eigen SQL da-
bijna alleen echt goed met een ge-
tamining, maar ASH geeft een zeer
In Oracle 11 is de hoeveelheid be-
richte Extended SQL trace.
snelle blik op problemen wanneer de
schikbare informatie in ASH nog
Graham Wood legde in zijn presen-
informatie erin bekeken wordt via
met heel zinvolle items uitgebreid:
tatie uit hoe de Active Session History
Enterprise Manager (Database Con-
bij benadering werkt. Voor dit artikel
trol of Grid Control). De Top Acti-
• De row source van het execution
is het voldoende aan te geven dat in
vity pagina (zie afbeelding 2, rechter-
plan wordt zichtbaar gemaakt
de ASH iedere seconde alle ACTIVE
kant) geeft de ASH weer in grafische
in
sessions (sessies die tijd spenderen
vorm en pieken worden dan direct
sql_plan_line_id,
in een database call, hetzij door CPU
duidelijk. Of zoals Graham aangaf:
operation,
verbruik, dan wel wachtend op een
‘Click on the big stuff’ (de hoogste
Ofwel het wordt ineens duidelijk
non-idle wait event, bijvoorbeeld een
pieken). ASH laat dan de op het ge-
wat de duurste stappen zijn in
row lock, een latch of I/O) worden
kozen moment actieve sessies zien
het executieplan!
geselecteerd. ASH werkt met een in-
met drilldown naar de sessie, SQL
• Extra kolommen met CPU-in-
memory circulaire buffer die om het
statement, username en dergelijke.
formatie
worden zichtbaar): ‘in parse’,
‘in hard parse’, ‘in Java’, ‘in PL/
SQL
compilation’
ASH
(extra
kolommen: sql_plan_
sql_plan_options)!
(de
execution’,
componenten
‘in
PL/SQL
Velen zullen zich afvragen of het samplen van active sessions iedere seconde niet veel overhead vraagt. Die vraag werd ook jarenlang gesteld ten aanzien van de parameter timed_statistics=TRUE. Kyle Hailey heeft daarop het volgende antwoord: als er gesampled zou worden met PL/SQL (een methode die we dadeAfbeelding 2: OEM Performance page, rechts Top Activity met diverse view opties
lijk zien als alternatief voor ASH in 10g/11g), dan kost dat ongeveer 1%
uur ook naar disk geschreven wordt.
Aangezien ASH elke seconde wordt
van de CPU als er 10 actieve sessies
De
V$ACTIVE_SESSION_HISTORY
gesampled en het actieve sessies be-
tegelijkertijd zijn; met Direct Me-
view geeft de inhoud van de buffer
treft, is de DBTime bij benadering ge-
mory Access (DMA) is het nog eens
weer,
DBA_HIST_ACTIVE_SESS_
lijk aan het aantal samples voor elke
200 maal goedkoper dan in PL/SQL
HISTORY de naar disk geschreven
seconde. Dus als om 11:01:22 uur
en aangezien ASH in Oracle 10g is
ASH records (tot een week oud). De
13 actieve sessies worden geïdenti-
ingebouwd in de kernel zal het nog
informatie in ASH is een groot deel
ficeerd in ASH, is er bij benadering
goedkoper zijn dan DMA. Dat is voor
van wat in V$SESSION beschikbaar
op dat tijdstip ook 13 seconden aan
verreweg de meeste databases een te
is plus nog wat extra informatie.
DBTime ontstaan door alle sessies.
verwaarlozen overhead. En het al-
Heel interessant is dus ook informa-
In een drukke database kan DBTime
ternatief is een drastische teruggang
tie over blocking sessions: als er in
dan ook makkelijk groter zijn dan
in performance instrumentarium.
ASH een enqueue (lock) sessie wordt
het aantal ‘muurklok’ seconden in
Datzelfde geldt voor timed_statistics.
weergegeven, is direct ook te zien
de meetperiode. Een aardige vuist-
Het is eigenlijk geen discussie: beide
welke de blokkerende sessie is. ASH
regel is dat het aantal actieve sessies
zijn van dermate grote informatieve
37
DBTime en ASH
waarde dat performance tuning zon-
de ASH simulatie nog een stuk gron-
Conclusie
der ASH en vooral timed_statistics
diger aangepakt en een lichtgewicht
Performance tuning in de twee
zeer lastig is of eigenlijk onmogelijk.
ASH grafische interface geschreven.
meest recente versie van het Oracle
Deze is tevens geschikt voor Oracle
RDBMS heeft nieuwe dimensies ge-
Simulated ASH
7 t/m 9 omdat Kyle er een SASH (Si-
kregen. De Active Session History en
Wat nu als u geen Oracle 10 of 11 ter
mulated ASH) bij heeft geschreven:
DBTime zijn twee features die voor
beschikking heeft? In dat geval komt
een eigen set van repository tabellen
mij inmiddels zo vanzelfsprekend
de genoemde PL/SQL sampling als
en sampling package in PL/SQL die
zijn geworden dat ik het echt mis
mogelijkheid naar voren om ASH te
te installeren is op alle versies vanaf
als ik met een versie 8 of 9 database
simuleren. Zelf heb ik in een Oracle
7. Niet alle functionaliteit van 10g
werk. Graham Wood wist in zijn pre-
9 omgeving veel baat gehad bij een
ASH is dan voorhanden, omdat bij-
sentatie naar mijn mening goed dui-
zelf geschreven sampling package:
voorbeeld het opvragen van een ASH
delijk te maken wat het belang van
menigmaal kon ik vragen beant-
rapport voorbehouden is aan versie
deze nieuwe functionaliteit is voor
woorden vanuit de supportorgani-
10g en verder. Tevens is in oudere
op de Oracle database gebaseerde
satie die betrekking hadden over ge-
versies niet alle informatie beschik-
applicaties. De volle zaal bij Oracle
beurtenissen uren of dagen geleden.
baar in V$SESSION en V$SESSION_
in De Meern gaf aan dat presentaties
Ik heb als leidraad voor de package
WAIT, welke voor een zelf geschre-
als deze meer dan gewenst zijn.
hoofdstuk 4 van het eveneens aan-
ven sampling mechanisme de basis
bevelenswaardige boek ‘Oracle Wait
vormen.
Toine van Beckhoven (http://www.
Interface: A Practical Guide to Per-
Voor meer informatie, boeiende ASH
jom-it.nl/) is zelfstandig en allround
formance Diagnostics & Tuning’ van
presentaties en de tool zelf verwijs ik
Oracle specialist. Oracle Performance
Oracle Press genomen.
naar de website:
Tuning en PL/SQL hebben zijn groot-
Eerder genoemde Kyle Hailey heeft
http://ashmasters.com.
ste interesse.
VIS
IE
Ook u kunt lid worden van de OGh
VIS 08 • ter 20 Win
13 ang Jaarg
IE
er 2 mm • Nu
e e G acl Or land l Ho
0 • h 7,5
bru
ike
rsc
lub
lu ene e B up acl Or r Gro e s U
x
ieddtt e bbie leaasse vvititeeitit rele ll re ti lpaaaa pro duuccti mijijlp m p rod n n g é g é 1 .0 rr 111 eebb 22.0 loppee W W eelo re JDeevv JD ture FFuutu thee th raccee mbbra -- EEm t t c c e e oonnnn luxx CC IS enneelu G BBe en G UG OBBU O ence tellig ess In in s Bu
en ontvangt automatisch OGh Visie!
03
04: 8 14:
200
12-12-
d 1
.ind
NTER
H WI
OG
Meld u aan via www.ogh.nl 38
Niet-leden kunnen zich gratis abonneren op OGh Visie via www.ogh.nl
CONSPECT
ICT diensten
Wie zoekt kent Conspect niet, wie Conspect kent zoekt niet... Wij zijn gespecialiseerd in:
Conspect combineert senioriteit in Oracle met
• Oracle Consultancy
senioriteit in Java en Internettechnologieën.
• Java Consultancy
Door deze unieke combinatie is Conspect als
• Applicatiebeheer
geen ander in staat te helpen met het ontwikkelen
• ICT project-management
of beheren van uw bedrijfskritische applicaties.
Voor meer informatie:
Conspect behoort tot het selecte gezelschap
Conspect ICT diensten
van bedrijven dat door Oracle is gecertificeerd.
Robin van der Beek
Een predikaat dat een organisatie niet zomaar
Transistorstraat 71 j
opgespeld krijgt, maar waarvoor zij zich continu
1322 CK Almere
moet waarmaken.
T (036) 538 72 92
Conspect doet deze investering om u een
E
[email protected]
objectieve kwaliteitsgarantie te kunnen bieden.
of kijk op www.conspect.nl 39
“CIBER is klantgericht… Zij zijn de eersten die opstaan als er ’s nachts iets gedaan moet worden.” ZIGGO
“CIBER is goed thuis in Oracle. En ze maken waar wat ze beloven.” ENECO
Do you still wonder? www.ciber.nl
40