Novosti u verziji Oracle 11g (Oracle 11g enhancements)
Monday, 12.02.2007 – DejanPisao sam već kako sam u zadnje vrijeme jako nezadovoljan Oracleom i kako forsira nove verzije, iako ni aktualne verzije (trenutno 10g) nisu 100% završene i ispravljene od bugova. Na Metalinku često za neke bugove ili opcije viđam napomenu “Fixed in version: 11g“.
Verzija 10g je donijela dosta novih stvari u odnosu na verziju 8i i 9i, pa se isto tako od verzije 11g očekuje dosta novosti u odnosu na trenutnu verziju 10g. Ja ću navesti samo neke od tih novosti, do kojih sam saznao prateći razne blogove i forume.
+++ Novosti u verziji 11g (Enhancements in Oracle 11g) +++
– DML triggeri će biti do 25% brži nego sad, što će se posebno primijetiti kod row-level triggera u kojima se vrši unos/izmjena podataka u drugim tabelama (korisno za npr. Audit-trigger).
– Fine Grained Dependancy Tracking (FGDT) – ukoliko dodate kolonu u neku tabelu ili izmijenite package specification (package header), zavisni objekti (dependant objects) neće biti označeni kao invalidni (nevažeći). Jako korisno za production 24×7 baze.
– Native Compilation – kompajliranje PL/SQL kôda ne zahtjeva više C kompajler, nego se interno smješta direktno u shared library. Navodno će isto važiti i za Java kôd u bazi.
– Novi tip podataka – simple_integer – Deklarisan uvijek kao NOT NULL i navodno će biti brži od PLS_INTEGER.
– Keširanje SQL i PL/SQL-a (SQL and PL/SQL result caching) – Biće dodan “result cache” u kojem će se nalaziti rezultati pojedinih SQL upita i PL/SQL procedura, što će višestruko ubrzati naknadna izvršavanja dotičnih upita i procedura.
– Kombinovani triggeri (compound triggers “all-in-one”) – Zamislite trigger zajednički definisan da bude “okinut” na after, before, row i statement uslove!? Da, navodno će i ta sjajna mogućnost biti dostupna u verziji 11g. A osim toga, u običnim triggerima će biti moguće odrediti redoslijed okidanja pojedinih triggera nad tabelom.
– Dynamic SQL – DBMS_SQL je ubrzan i poboljšan. I Native Dynamic SQL (EXECUTE IMMEDIATE) i DBMS_SQL mogu sada prihvatati CLOB tipove podataka (nema više ograničenja na veličinu od 32k). REF CURSOR se može konvertovati u DBMS_SQL cursor i obrnuto. Pored toga, DBMS_SQL će podržavati BULK operacije i “user defined” tipove.
– Row-level security (RLS), tj. Fine grained access control (FGAC) – Biće npr. moguće odrediti sigurnost za portove i URL-ove koje koriste paketi UTL_TCP, UTL_HTTP i UTL_SMTP.
– Read only tables – Biće moguće podesiti tabelu dozvoljenu samo za čitanje.
– CONTINUE komanda – Može se koristiti za uslovni izlaz iz petlje.
– Poboljšana kompresija za setove podataka – za oko 2/3 smanjiće se potrebna količina prostora za spremanje tih podataka.
– Speed boost – navodno će Oracle mnogo brže čitati podatke sa “raw devices”, nego sa do sada dostupnim file systemima.
– Replay Workload – Mogućnost “hvatanja” (capturing) svih aktivnosti u bazi i kopiranja tih aktivnosti na neki drugi server (npr. na testni server) bez korištenja nekog posebnog alata za tu namjenu.
– Online Application Upgrades – Biće moguće instalirati neki patch bez gašenja baze (hot patching with no downtime).
– Quick Fault Resolution – Automatsko hvatanje svih potencijalno povezanih uzroka neke greške.
– Database Repair Advisor – Asistent (wizard), koji pomaže administratoru pri pronalaženju greške i njenom otklanjanju.
– Biće omogućeno particionisanje po logičkim objektima (partition by logical objects), kao i automatsko particionisanje radi olakšanja pri radu sa VLDB (Very Large Databases).
– Nova high-performance infrastruktura za LOB objekte.
– Re-engineered driver za PHP