====== Tabelle e Viste di Sistema ====== ===== V$Instance ===== La **V$Instance** è una vista che contiene i dati dell'istanza a cui si è collegati. Se si dispone di più server Oracle replicati (ad esempio per gestire gli ambienti di Sviluppo, Collaudo e produzione), un dato importante è rappresentato da **''HOST_NAME''** che riporta il nome macchina (Interrogato può fugare i dubbi i dubbi riguardo al DB cui siamo collegati). Select * From V$Instance Dalla definizione della tabella riportata di seguito si vede come questa vista contenga anche altre interessanti informazioni tipo lo Stato, Data e Ora dello Start Up, la Versione di Oracle, ecc... ^Column Name^Type^Null^ |INSTANCE_NUMBER|NUMBER| Y | |INSTANCE_NAME|VARCHAR2 (16 Byte)| Y | |HOST_NAME|VARCHAR2 (64 Byte)| Y | |VERSION|VARCHAR2 (17 Byte)| Y | |STARTUP_TIME|DATE| Y | |STATUS|VARCHAR2 (12 Byte)| Y | |PARALLEL|VARCHAR2 (3 Byte)| Y | |THREAD#|NUMBER| Y | |ARCHIVER|VARCHAR2 (7 Byte)| Y | |LOG_SWITCH_WAIT|VARCHAR2 (11 Byte)| Y | |LOGINS|VARCHAR2 (10 Byte)| Y | |SHUTDOWN_PENDING|VARCHAR2 (3 Byte)| Y | |DATABASE_STATUS|VARCHAR2 (17 Byte)| Y | |INSTANCE_ROLE|VARCHAR2 (18 Byte)| Y | |ACTIVE_STATE|VARCHAR2 (9 Byte)| Y | ===== All_Objects / DBA_Objects ===== Contengono l'elenco di tutti gli oggetti presenti nel DB con il rispettivo Status e Owner -- Cerco gli Oggetti Invalidi Select * From All_Objects Where Status = 'INVALID' -- Cerco tutti gli Oggetti di uno Schema (sys) Select * From All_Objects Where Owner = 'SYS' -- Cerco tutti gli Oggetti di tipo Tabella Select * From All_Objects Where Object_Type = 'TABLE' ===== All_Sources / DBA_Sources ===== Contengono il codice di tutti i Packages, le Funzioni, le Procedure e le definizioni dei Tipi presenti nel DB. Sono utili se si vuole cercare qualcosa nel codice del DB. Volendo estrarre il codice della fuinzione **''SERVER_ERROR''** posso scrivere: Select * From All_Source Where Name = 'SERVER_ERROR' Il cui risultato è: ^OWNER^NAME^TYPE^LINE^TEXT^ |SYS|SERVER_ERROR|FUNCTION|1|function server_error (position binary_integer)| |SYS|SERVER_ERROR|FUNCTION|2|return binary_integer is| |SYS|SERVER_ERROR|FUNCTION|3|begin| |SYS|SERVER_ERROR|FUNCTION|4|return dbms_standard.server_error(position);| |SYS|SERVER_ERROR|FUNCTION|5|end;| ===== ALL_Tab_Cols / DBA_Tab_Cols ===== Contengono l'elenco di tutte le colonne presenti nelle tabelle del DB con relativo nome di tabella e tipo. E'utile per trovare quali tabelle contengono una determinata colonna o verificare il tipo di una colonna su diverse tabelle. -- Cerco la colonna Owner in tutte le tabelle Select * From ALL_TAB_COLS Where Column_Name = 'OWNER'