Archivio per la categoria ‘Oracle’

Formato di visualizzazione predefinito per il campo data in Oracle SQL Developer

Per i campi data, per impostazione predefinita SQL Developer visualizza i dati in data unica, senza tempo.

Per  visualizzare il tempo occorre eseguire le  seguenti operazioni:

  •  Da SQL Developer, aprire il menu Strumenti >> Preferenze.
  •  Dalla finestra di dialogo Preferenze, selezionare Database e successivamente NLS parametri dal pannello di sinistra.
  •  Dall’elenco dei parametri NLS, immettere DD-MON-RR HH24: MI: SS nel campo formato della data.
  •  Salvare e chiudere la finestra di dialogo, fatto!
Annunci

Come recuperare una tabella cancellata ? 

L’utente con ruolo  DBA può recuperare la tabella cancellata

Esistono diversi metodi per tentare il recupero di una tabella :

  •    DATA PUMP – Se la tabella era stata precedentemente esportata, può essere reimportata.
  •    RMAN – Programma di gestione dei Database Oracle
  •    LOG MINER – applicativo per l’ispezione dei REDO Logs ed eventuali ripristini
  •    FLASHBACK – Comando di recupero

Ecco un esempio su come recuperare una tabella cancellata con flashback.  Prima di recuperare una tabella è necessario verificare che sia presente nel “cestino” (recyclebin), e successivamente eseguire il comando “flashback table to before drop” per ripristinare la tabella:

SQL> select * from mytabletest;

ID
———-
1
2

SQL> drop table mytabletest;

Table dropped.

SQL> select  ORIGINAL_NAME from dba_recyclebin;

ORIGINAL_NAME
——————————–
MYTABLETEST

SQL> flashback table MYTABLETEST to before drop;

Flashback complete.

SQL> select * from mytabletest;

ID
———-
1
2

E’ sempre bene ricordarsi, prima di cancellare una tabella, di avere eventualmente un copia di backup, nel caso non si fosse cosi sicuri.

Spesso vengono cosruite delle query che hanno tempi di risposta molto lunghi ed utilizzano moltissime risorse della macchina.

EXPLAIN PLAN o piano di esecuzione di una query

Il comando  EXPLAIN PLAN (per Oracle) perme di esaminare il piano di esecuzione attuale di una interrogazione; descrivendo l’ordine e la modalita’ con cui vengono eseguite le operazioni. In questo modo verranno evidenziate le scelte fatte dall’ottimizzatore per poterle successivamente modificare, e rendere l’interrogazione più performante.

Strategie utilizzate dall’ottimizzatore

Le strategie offerte sono di  due tipologie:

  • L’approccio basato sulle regole

L’ottimizzatore decide il percorso di accesso ai dati basandosi sulla disponibilita’ del percorso di accesso per l’istruzione corrente e sul punteggio assegnato a tale percorso. Il punteggio viene fissato in modo statico quindi non modificabile in funzione di necessita’ specifiche, questo è uno degli svantaggi.

  • L’approccio basato sui costi

Rispetto all’approccio basato sulle regole, risulta essere decisamente piu’ performante. Si basa su una stima del costo di esecuzione di un piano (I/O, CPU, sec…ecc) per ciascun piano preso in esame dall’ottimizzatore. Per fare questa stima il sistema mantiene delle tabelle contenenti dati e statistiche relativi alla popolazione della base di dati. Tutti questi dati sono mantenuti in tabelle di sistema.

Ogni volta che il database viene modificato in modo significativo, ad esempio a fronte di caricamenti massivi o modifiche strutturali delle tabelle, sarà quindi necessario rieseguire la creazione delle statistiche, in modo tale ad avere delle informazioni aggiornate e precise per i nuovi piani di esecuzione. Oracle mette a disposizione due tipi di raccolta dei dati: uno per righe, piu’ dettagliato, e l’altro per blocchi, piu’ veloce.

Metodi di Join

  • Nested Loop Join – Nel caso più semplice in cui non sono presenti predicati locali e si accede alle relazioni mediante scan sequenziali
  • Hash Join -Sfruttando le proprietà delle funzioni di hash è possibile ridurre il numero di confronti da effettuare per eseguire il join senza dover ordinare preventivamente le relazioni
  • Sort-Merge Join –  Nel caso sulla tabella da ordinare insista un criterio di selezione locale, il numero di tuple da ordinare,  sarà ridotto in base al fattore di selettività del predicato
  • Star Join – serve solo quando nel join vengono usate primary key o foreign key tra una tabella di tipo “Fact tables” e una di tipo “Lookup table”. Queste due tabelle sono generalmente usate nei datawearehouse: “Fact table” sono tabelle molto grandi, mentre “Look up table” sono tabelle molto piu’ piccole che contengono informazioni su degli attributi delle prime.

E’ sempre buona norma prima di eseguire delle interrogazioni, verificare il loro piano di esecuzione, in modo da evitare “collassi” delle macchine, e ove si presentassero costi elevati, procedere magari con indicizzazioni e partizionamenti delle tabelle interessate.
 

E’ stata rilasciata la nuova versione di Oracle SQL Developer 4.0 , ed è ora disponibile sul sito Oracle (Oracle Technology Network) con miglioramenti sulla funzionalità e usabilità.

Tra le novità possiamo trovare

  •   Trova Object Database – RicercaLa ricerca del database è stata completamente ridisegnata. Il nuovo layout ad albero permette ricerche su più schemi, tipo di oggetto, i tipi di identificatori ed utilizzi. Una “history” delle ricerche saranno conservate per i successivi accessi. I risultati della ricerca possono essere visualizzati in un editor separato.
  • Riga di comando

La riga di comando è stata estesa al supporto dei report e del carello. E’ possibile eseguire report e generare pagine HTML.I comandi Carrello offrono la possibilità di esportare oggetti e dati. Possono essere applicate una serie di opzioni predefinite di generazione DDL e formati di dati.

  • Carello

Il carrello è stato notevolmente migliorato. È possibile creare e lavorare su più carrelli. La distribuzione degli oggetti è stata estesa per dare più flessibilità nella scelta di opzioni DDL, esportazione e formati di dati. Configurazioni ed esportazioni possono essere salvate e riutilizzate successivamente. E’ possibile confrontare gli oggetti di uno schema o conessioni con il Database Diff. Gli oggetti possono essere copiati con la funzione di copia del database.

  • Reports

La creazione dei report è stata notevolmente migliorata . La finestra di dialogo Crea nuovo report ha un layout albero per facilitare la navigazione. E’ disponibile un opzione avanzata per generare figli e Drill Down.  Report basati su grafici che includono altri tipi di grafici. I grafici possono essere visualizzati in anteprima o modalità progettazione. Un report HTML può essere generato per qualsiasi report. Miglioramenti nella generazione della documentazione, con un migliore layout ed il supporto per più thread per migliorare le prestazioni.

  • Miglioramenti dell’interfaccia utente

Le nuove modifiche dell’interfaccia utente in 4.0 migliorano il look and feel di SQL Developer. Un colore del bordo della finestra può essere impostato in modo dinamico per ogni connessione al database. Miglioramenti nell usabilità possono essere individuati con il nuovo Editor fluttuante e le finestre di navigazione.

  • Data Modeler 4.0

Questa versione include il nuovo Data Modeler versione 4.0. Le nuove funzionalità includono il supporto alla nuova versione Oracle 12c per le colonne identità e di mascheramento dei dati sensibili con le definizioni delle policy a livello di tabella ed a livello di colonna, la possibilità di creare Transparent Sensitive Data Protection (TSDP).

  • JDK 7 Support

Questa versione supporta JDK 7 e superiori.

Il download è disponibile direttamente sul sito della ORACLE

Le versioni attualmente disponibili sono :

  • Windows 32/64-bit
  • Mac OS X
  • Linux RPM

Fonte dati Oracle

Questa è una domanda frequente.
Come si può prendere un file dati delimitato e caricare solo alcune delle colonne, saltando i campi che non si desidera??

Non è possibile utilizzare Postion (x: y), perché il file dati non è di tipo posizionale, ed il campo successivo inizia dopo un delimitatore predefinito, e non nella colonna X.

Prima di Oracle8i, versione 8.1, sqlldr non era in grado difare questo senza apposite funzioni scritte ad hoc.

In Oracle8i, versione 8.1 è stata aggiunta la parola chiave FILLER in modo da consentire di saltare determinate colonne:

LOAD DATA
 INFILE *
 TRUNCATE INTO TABLE T
 CAMPI TERMINATED da ','
 (
 campo1,
 campo2 FILLER,
 campo3,
 campo4 FILLER,
 campo5 FILLER,
 campo6
 )

Tracciato tipo
a,b,c,d,e,f

Il risultato del caricamento sarà a,c,f, escludendo le colonne indicate come “FILLER”

Per esportare dati da una tabella /vista Oracle ad un file csv, possiamo utilizzare Sql Plus, richiamando un file script che legge i dati dalla tabella/vista ed esegue lo spool in un file:

  • Preparare un file di script ( scriptname.sql ) con le istruzioni per lo spool :
set echo off
set feedback off
set linesize 100
set pagesize 0
set sqlprompt ''
set trimspool on

spool /mnt/public/export/eport.csv 
-- eseguo la select concatenando i campi con il campo delimitatore , in questo caso il punto e virgola
select  Field1 ||';'||
        Field2 ||';'||
        Field3 ||';'||
        Field4 ||';'||
        FieldN  
  from user.table   -- oppure user.view
  ;

spool off

exit;
  • Connettersi ad Oracle tramite Sql Plus:

sqlplus <user>/<password>@<SID> @scriptname.sql

 

Come si può vedere il trucco è quello di impostare ad "OFF" qualsiasi output ed in più e di utilizzare l'operatoredi concatenazione di stringhe ||;|| per inserire un punto e virgola (o qualsiasi separatore) tra i vari campi dell'esportazione.

Il comando SPOOL apre un file e ridirige al suo interno, tutto quanto prodotto fino al comando SPOOL off.

Questa esportazione fa riferimento a campi testo e/o numerici, per altre tipologie di dato, occorre tener presente la necessità di eventuali formattazioni ( es. campi data )

Oracle 12 c

Pubblicato: 4 luglio 2013 in Oracle
Oracle 12c

Oracle 12c

Con due appuntamenti esclusivi a Milano e a Roma, Oracle presenta al mercato italiano la nuova major release di Oracle Database, tutta all’insegna del Cloud Computing.

Gli eventi si svolgeranno il 9 luglio presso La Triennale di Milano e l’11 luglio presso The Space Cinema – Roma Moderno e le parole chiave saranno Cloud Computing, architettura multitenant, consolidamento e sicurezza.

Al debutto del nuovo Oracle Database 12c,  Oracle ha pensato in maniera particolare per il nuovo paradigma del cloud computing (la “c” di 12c sta proprio per “cloud”)e che fa della nuova architettura di tipo multitenant il fulcro attorno al quale sono state costruite tutte le altre novità.

La funzione consente di eseguire più database all’interno di una singola istanza di Oracle 12c costituendo il multi-tenancy, ingrediente fondamentale di applicazioni basate su cloud.

La multitenacy passa quindi dal livello applicativo a quello del database, creando una soluzione che è ideale per coloro i quali vogliono proporre servizi SaaS (Software as a service).

Nuove funzioni policy-based permettono di archiviare e comprimere opportunamente i dati a seconda della frequenza con cui vi si accede.
Una particolare “Heat Map” controllerà le attività in lettura e scrittura del database permettendo ai DBA di identificare facilmente i dati caldi (molto attivi), tiepidi (a sola lettura) e freddi (raramente letti) all’interno di tabelle e partizioni.
I DBA potranno quindi definire una serie di regole per comprimere e archiviare i dati sulla base dell’attività e dell’età dei dati stessi.

Novità anche in ambito di sicurezza, con l’introduzione di nuove funzioni di Redaction che consentono di proteggere i dati sensibili.

L’evento di Milano, in programma a partire dalle ore 9.00, vedrà Fabio Spoletini, Country Leader Technology di Oracle Italia, aprire i lavori.
Successivamente, fino alle 15.00, gli esperti italiani di Oracle si alterneranno per approfondire con i partecipanti tutte le novità specifiche del nuovo database: verrà illustrato come, ad esempio, esso semplifichi il consolidamento e come consenta di automatizzare la gestione del ciclo di vita delle informazioni (ILM), nonchè saranno illustrate tutte le novità sul fronte della sicurezza.

Lo stesso programma verrà ripetuto a Roma, di seguito il link per iscriversi agli eventi:

Per partecipare all’evento di Milano  di  Martedì 9 Luglio 2013

Per partecipare all’evento di Roma di Giovedì 11 Luglio 2013

Maggiori informazioni sul sito ufficiale Oracle