Oracle 10g
La nuova versione Oracle database 10g presenta una serie di nuove funzionalità,
alcune sono veramente importanti ed erano attese da tanto tempo come il nuvo application server Oracle 10g.
- Oracle installation 10g
L'installazione è ora molto più semplice e intuitiva grazie alla nuova interfaccia Java che è stata rivisitata in diversi punti: è disponibile sia per oralce windows 10g che per Oracle linux 10g.
-
Enterprise Manager
Il nuovo Oracle Enterprise Manager (OEM) ora è più facile e completo ed e' adatto a tutti: dal sistemista fai-da-te al DBA esperto!
La cosa più importante riguarda la l'interfaccia web.
Per utilizzare l'EM e' necessario farlo partire con emctl start dbconsole (dopo aver settato l'Oracle_SID) e quindi utilizzare da browser l'URL http://host.domain:1158/em.
sqlplus / as sysdba
Ora non sono piu' necessari gli apici.
La nuova fuzionalita' si chiama Flashback Table ed e' un cestino della spazzatura da cui e' possibile riprendere nuovamente tabelle, indici, oggetti vari cancellati per errore. Gia' la versione oralce 9i aveva introdotto la possibilita' di eseguire Flashback Query per recuperare dati modificati dalle transazioni, ora la possibilita' e' estesta ai comandi di DDL.
La cancellazione di una tabella non la cancella realmente ma la rinomina (il nuovo nome e' una simpatica stringa di caratteri come BIN$04aloinuhjtATATTAR...) Quindi script di migrazione, controllo dei DB, ... realizzati con le precedenti versioni di Oracle debbono essere ricontrollati per evitare errori. Con lo statement FLASHBACK TABLE si rinomina la tabella al nome originale ma non gli eventuali indici associati... vanno rinominati manualmente. Per la cancellazione anche fisica e' stato introdotto il comando PURGE.
Regular Expressions
Questa e' una cosa nuova, per Oracle Function intendo, perche' in molti linguaggi di programmazione e dialetti SQL era diffusa da tempo. Le espressioni regolari sono assai utili! Con l'introduzione di alcuni nuovi operatori (eg. REGEXP_LIKE) e' ora possibile confrontare il contenuto di stringhe con espressioni regolari in SQL senza necessita' di utilizzare un linguaggio procedurale esterno. L'implementazione di Oracle e' molto completa. Con questo esempio pl sql Oracle:
select *
from vehicle
where plate REGEXP_LIKE '^[[:alpha]]{2}([[:alnum]])*';
la condizione ricerca le targhe che iniziano con due lettere e quindi sono seguite da un numero a piacere di lettere e numeri.
RMAN
RMAN e' diventato con il passare delle versioni sempre piu' completo e le ultime evoluzioni (R2) puo' essere utilizzato anche nella gestione delle librerie. A questo punto non sono piu' necessari SW specifici per effettuare i backup e si utilizzano comandi Oracle per ogni tipo di attivita'. Inoltre la gestione da EM consente di rendere semplici la maggior parte delle configurazioni. RMAN viene anche utilizzato dal DBCA (tool di creazione di un'istanza) per la definizione iniziale.
PL/SQL
Anche per il PL/SQL c'e' qualche novita'.
La compilazione condizionale consente di utilizzare costrutti adatti al debug ed alla profilazione e mantenere, in modo efficente, lo stesso codice, anche in ambiente di produzione. Il blocco seguente sara' attivo a fronte di una compilazione lanciata con ALTER PROCEDURE ... COMPILE plsql_ccflags ='debug_mode:true' ...
$IF $$debug_mode $THEN
dbms_output.put_line('Here I am!');
$END
L'utilizzatissimo package dbms_output e' stato esteso ed ora puo' generare un file di dimensione qualsiasi (quasi) e con linee non piu' limitate a 256 caratteri. Una possibilita' da tempo attesa poiche' il package e' molto utilizzato sia per il logging che per la generazione di file.
|
|
|
Oracle CLIENT 10g
7o Data Pump
Sono state introdotte nuove funzioni di ETL, le utility exp/imp sono state riscritte, sono state introdotte le EXPDP/IMPDP (export/import data pump) e (novita' della R2) queste ultime possono utilizzare la compressione in modo diretto (con exp/imp da sempre si utilizzano le named pipe su Unix).
La gestione di grandi basi dati e datawhare house risultano meno onerose.
8o Commit
L'esigenza di mantenere la congruenza dei dati, il famigerato SNAPSHOT TOO OLD, le prestazioni.
La 10g R2 introduce un'ulteriore possibilita': il commit asincrono. Ovvero l'applicazione effettua il commit ma non attende la sua conclusione.
La sintassi è molto semplice: COMMIT [WRITE [WAIT|NOWAIT|IMMEDIATE|BATCH]]. In pratica utilizzando un COMMIT NOWAIT in programmi batch si ottengono le migliori prestazioni mantenendo la correttezza logica dei dati e correndo solo il piccolo rischio di perdere qualche transazione (main un programma batch se vi e' un errore tipicamente si ricomincia dall'inizio). Oppure con un settaggio a livello di SYSTEM o di SESSION si puo' impostare il commit mode di default.
9o Oracle performance tuning - AWR
Da diverse versioni application server 10g fornisce strumenti per l'analisi delle prestazioni del sistema. Con l'AWR (Automatic Workload Repository) le statistiche ora partono in automatico senza bisogno di configurazione.
Per controllare la situazione utilizzare exec statspack.snap per effettuare le "fotografie" del DB e quindi @$Oracle_HOME/rdbms/admin/spreport come utente PERFSTAT.
Collegati a questo l'ADDM (Automatic Database Diagnostic Monitor) e gli Advisor (eg. SQL Tuning Advisor) offrono ottimi consigli al DBA ed ai programmatori.
Con l'ASSM (Automatic Segment Space Management) ed le LMT (Locally Managed Tablespaces) con la versione 10 si ha una gestione automatica di tutti gli elementi di un RDBMS complesso e potente come Oracle. Visitate il sito Oracle 10g download.
10o Grid
Il GRID computing fara' davvero ammattire tutti. In realta' non c'e' molto di "grid" nella versione 10g. E' vero... l'EM puo' operare verso sistemi ed istanze differenti, l'ASM gestisce in modo trasparente lo storage, con il RAC istanze diverse utilizzano lo stesso storage, e' ora possibile la trasportabilita' (anche on-line) dei tablespace tra sistemi diversi ...
Naturalmente questa e' un opinione personale: ma il grid diverra' reale soprattutto se vi saranno le necessarie premesse economiche! Installare l'RDBMS Oracle 10g su tutti i sistemi di un'azienda ed utilizzarli on-demand e' sempre piu' possibile tecnicamente... ma diverra' una pratica comune solo quando sara' anche conveniente.
I punti indicati sono solo alcune delle nuove funzionalita' presenti nell'Oracle RDBMS 10g. Mi sono percio' riservato il diritto di scegliere quelli che, secondo me, sono le novita' piu' importanti.
Con la nuova versione sono stati aumentati alcuni limiti dell'RDBMS (eg. ora un DB puo' raggiungere gli 8M TB, ovvero 8 milioni di terabyte), vi e' una nuova gestione dei VPD e tante altre cose... che si possono trovare sulla documentazione ufficiale!
In conclusione la release Oracle application server 10g e' ora ben stabile, anche sulle nuove funzionalita', ed i vantaggi dal punto di vista della gestione sono notevoli quindi... buon divertimento con la 10g! |
|
|
|
|
|
|
|