Oracle: DBMS_COMPARISON package
Una caratteristica interessante per Oracle 11g è il pacchetto DBMS_COMPARISON che prevedeva di utilizzare i dati di confronto all’interno di due schemi o tra lo schema del database. Per utilizzare DBMS_COMPARISON devi concedere. Se ti sei connesso come SYSDBA hai già avuto la concessione di eseguire. Altri utenti necessitano di autorizzazioni di esecuzione su DBMS_COMPARISON e a quell’utente dovrà essere concesso anche il ruolo di esecuzione del catalogo.
Nota: i set di caratteri del database devono essere gli stessi per i database che contengono gli oggetti del database confrontati.
Affinché tutte le modalità di scansione siano supportate dal pacchetto DBMS_COMPARISON, gli oggetti di database devono avere uno dei seguenti tipi di indici:
o Un indice a colonna singola su una colonna con numero, timestamp, intervallo o tipo di dati DATE
o Un indice composto che include solo colonne numero, timestamp, intervallo o tipo di dati DATE. Ogni colonna nell’indice composto deve avere un vincolo NOT NULL o essere parte della chiave primaria.
un indice a colonna singola su una colonna con numero, timestamp, intervallo, DATE, VARCHAR2 o tipo di dati CHAR.
un indice composto che include solo colonne numeriche, timestamp, intervallo, DATE, VARCHAR2 o CHAR. Ogni colonna nell’indice composto deve avere un vincolo NOT NULL o essere parte della chiave primaria.
Il pacchetto DBMS_COMPARISON può confrontare i seguenti tipi di oggetti di database:
• Tabelle
• Viste a tabella singola
• Viste materializzate
• Sinonimi per tabelle, viste a tabella singola e viste materializzate
Il pacchetto DBMS_COMPARISON supporta tutti i tipi di dati Oracle (VARCHAR2, NVARCHAR2, NUMBER, FLOAT, DATE, TIMESTAMP ecc.) Tranne i seguenti:
LONG
LONG RAW
ROWID
UROWID
CLOB
NCLOB
BLOB
BFILE