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 |
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'
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; |
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'