1 Oracle11g voor ontwikkelaars 12 december 2007 Rob van Wijk
2 Onderwerpen Result cache Flashback Data Archive Multikolom statistieken PL/SQL Fine Grained Dependency Tracking Interval- en referentiepartitionering Opheffing PLS FOR UPDATE SKIP LOCKED PL/Scope Virtuele kolommen PIVOT / UNPIVOT Diverse kleinigheden Andere nieuwe functionaliteiten
3 Result Cache Nieuw onderdeel van SGA SQL Query result cache RESULT_CACHE_MODE parameter (MANUAL/FORCE) /*+ result_cache */ PL/SQL Function result cache RESULT_CACHE SQL query result cache schakelt optimalisaties uit Beperkingen Parameters resultaatbuffer.sql resultaatbuffer2.sql
4 Flashback Data Archive Op basis van UNDO fbda-proces Een flashback-archief per retentieperiode Koppel tabellen aan een flashback-archief Flashback Query Flashback Version Query Per COMMIT i.p.v. per DML-commando Journaliseringstabellen van de toekomst? “Gewijzigd door” kolom ontbreekt fda.sql
5 Multikolom statistieken <11g: predikaat onafhankelijkheid aanname Histogrammen op meer dan één kolom method_opt => FOR COLUMNS (kolom1, …, kolomN) Kolomgroepen multikolom.sql
6 PL/SQL Fine Grained Dependency Tracking Afhankelijkheden <11g: tabelniveau Nu: op kolomniveau Niet te zien in USER_DEPENDENCIES fgdt.sql
7 Interval- en referentiepartitionering Automatisch nieuwe partities voor ieder interval Combinaties met andere partitiemethodes deels mogelijk SYS namen Referentiepartitionering: kind heeft zelfde partities als ouder Op basis van foreign key DBA’s zijn er enthousiast over intervalpart.sql
8 Opheffing PLS PLS implementation restriction: cannot reference fields of BULK In-BIND table of records Introductie FORALL in 8i Tot versie 11g: losse associatieve arrays of nested tables Had eigenlijk vanaf het begin al geïmplementeerd moeten zijn pls00436.sql
9 FOR UPDATE SKIP LOCKED Bestaat al tijden Nu: gedocumenteerd Niet voor puristen skiplocked.sql
10 PL/Scope Compilatie optie ALTER SESSION / ALTER SYSTEM USER / ALL / DBA_IDENTIFIERS USER / ALL / DBA_PLSQL_OBJECT_SETTINGS SQL Developer Toepassing van Lucas Jellema plscope.sql
11 Virtuele kolommen Kolom op basis van expressie/functie Zichtbaar met desc Transparanter dan view / triggers Histogrammen / partitioneren / beperkingen Nuttig voor complexere attribuut- en tupelregels virtuelekolom.sql
12 PIVOT / UNPIVOT Draaitabellen Matrices Rijen kantelen naar kolommen en andersom PIVOT versus MAX(DECODE(…)) UNPIVOT versus joinen N-tallige tabel/zoekvraag Iets intuïtievere syntax pivot.sql unpivot.sql
13 Diverse kleinigheden :new.id := my_sequence.nextval; CONTINUE Compound triggers FOLLOWS Onzichtbare indices REGEXP_COUNT Native compilation nextval.sql regexpcount.sql onzichtbaar.sql continue.sql follows.sql compound.sql nativecomp.sql
14 Andere nieuwe functionaliteiten DBMS_HPROF Subprogram inlining Adaptive cursor sharing Compilatie-waarschuwing: WHEN OTHERS THEN NULL;