Oracle database Oracle 10g Oracle application
 

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!
 
 
Oracle pl/sql Oracle pl/sql
 
     
  29-11-2006
     
  01-04-2007 Oracle Errors
     
  29-11-2006 Create Functions
Delete Delete
Between Between
Check Check
Count Count
Datatypes Datatypes
Delete Oracle Delete Statement
Distinct Distinct
Exists Exists
Functions Functions
Grant revoke Grant Revoke
Group by Oracle Group by
Having Having
Oracle Function in Oracle Function in
Indexes Indexes
Insert Insert
Intersect Intersect
Isnull Is null
Joins Joins
Substr Substr
instr Oracle instr
blob Oracle blob
roles Oracle roles
Substr Substr
like Oracle like
Substr Oracle minus
Substr Oracle to_number
union Oracle union
query Oracle query
Substr Oracle unique
Substr Oracle union all
Substr Oracle alter table
 
Oracle Functions PLSQL  l  Exceptions  l  Oracle Errors  l  Oracle Collaborations Suite  l  Products  l  Contact
Oracle errors ora