100 likes | 304 Views
ACE Case. 17 november 2009. Oracle 11g Release 2 voor ontwikkelaars. Rob van Wijk. Oracle 11g Release 2 voor ontwikkelaars. Wie ben ik. Rob van Wijk Oracle ontwikkelaar sinds 1995 Werkzaam bij CIBER sinds 2003. 15 juli 2014. Oracle 11g Release 2 voor ontwikkelaars.
E N D
ACE Case 17 november 2009 Oracle 11g Release 2 voor ontwikkelaars Rob van Wijk
Oracle 11g Release 2 voor ontwikkelaars Wie ben ik Rob van Wijk Oracle ontwikkelaar sinds 1995 Werkzaam bij CIBER sinds 2003 15 juli 2014
Oracle 11g Release 2 voor ontwikkelaars • recursieve WITH-clausule • dbms_parallel_execute package • /*+ APPEND_VALUES */ • Flashback Data Archives voor journalisering P A U Z E • Analytische functies • Drie semantische hints • Edities • Onderwerpen
Oracle 11g Release 2 voor ontwikkelaars • “Recursive subquery factoring” • Hierarchische queries • ANSI • Duidelijker, maar … • Lusdetectie “anders” • Nog niet geoptimaliseerd zoals CONNECT BY • Berekeningen met waarden uit voorgaande iteratieniveaus mogelijk Recursieve WITH-clausule recursieve_with.sql 15 juli 2014
Oracle 11g Release 2 voor ontwikkelaars • Parallelliseren van PL/SQL (DIY parallellism) • Taak: dba_parallel_execute_tasks • Verdeel werkvoorraad in porties: dba_parallel_execute_chunks • Chunks per ROWID, SQL of per numerieke kolom • Onderhuids: dbms_scheduler dbms_parallel_execute package dbms_parallel_execute.sql 15 juli 2014
Oracle 11g Release 2 voor ontwikkelaars • Toevoegen aan het einde van de tabel • INSERT /*+ APPEND */ INTO … SELECT … • INSERT /*+ APPEND_VALUES */ INTO … VALUES • Herstel van “aparte” gedrag in 11g Release 1 • FORALL /*+ APPEND_VALUES */ append_values.sql 15 juli 2014
Oracle 11g Release 2 voor ontwikkelaars • Oeps! • … from <table> AS OF TIMESTAMP/SCN … • “Total recall” in Oracle 11g Release 1 • Journalisering: wie deed wanneer, wat en met welke data • JN_USER, JN_TIMESTAMP, JN_OPERATION, … • Flashback Version Query • Nog steeds niet geschikt, maar zal niet lang meer duren nu. Flashback data archives voor journalisering fda3.sql 15 juli 2014
Oracle 11g Release 2 voor ontwikkelaars • LISTAGG • Nummer 1 forumvraag: stringaggregatie • Ook (en met name) als aggregatiefunctie • NTH_VALUE • Algemenisering van FIRST_VALUE en LAST_VALUE • LAG en LEAD met IGNORE NULLS Analytische functies listagg.sql nth_value.sql laglead.sql 15 juli 2014
Oracle 11g Release 2 voor ontwikkelaars • Zelfde syntax als optimizer hints • Beïnvloed uitkomst van DML • IGNORE_ROW_ON_DUPKEY_INDEX • CHANGE_DUPKEY_ERROR_INDEX • RETRY_ON_ROW_CHANGE • Nut van laatste hint? Drie semantische hints ignore.sql change.sql retry.sql 15 juli 2014
Oracle 11g Release 2 voor ontwikkelaars • Eerst “Online Application Upgrade” • Daarna “Edition Based Redefinition” Edities ebr1.sql ebr2.sql ebr3.sql 15 juli 2014