Oracle Show Table

Oracle Show Table
Questo tutorial di Linux suggerisce che discuterà di come utilizzare i dizionari Oracle Data per mostrare le tabelle di proprietà di un determinato utente, le tabelle accessibili da un determinato utente e tutte le tabelle del sistema.

Dizionari dei dati Oracle

A differenza di altri database SQL, come MySQL o PostgreSQL, Oracle non ha un comando autonomo che consente di recuperare le tabelle di un determinato database.

Per mostrare le tabelle di un determinato database, dobbiamo utilizzare le visualizzazioni del dizionario dei dati Oracle.

In Oracle, un dizionario di dati si riferisce a una raccolta di visualizzazioni di sola lettura che memorizzano informazioni su un determinato database, inclusi schemi, autorizzazioni utente, eventi, ecc.

Sebbene i dizionari dei dati siano di sola lettura, possiamo interrogare le informazioni archiviate in essi, comprese le tabelle.

Esploriamo e impariamo come possiamo lavorare con i dizionari dei dati.

Oracle Show Tabelle di proprietà dell'utente attuale

L'uso più comune del comando Show Tables è di elencare le tabelle di proprietà dell'utente corrente.

Possiamo usare una query come mostrato di seguito:

Seleziona Table_name da user_tables;

La query precedente dovrebbe restituire tutti i nomi delle tabelle di proprietà dell'utente corrente. Di seguito è riportato un esempio di output:

Oracle Show Tabelle accessibili dall'utente corrente

In alcuni casi, potresti voler mostrare tutte le tabelle accessibili dall'utente attuale nonostante le autorizzazioni allocate.

In tal caso, possiamo interrogare il dizionario dati All_Tables come mostrato nella seguente dichiarazione:

Seleziona Table_name, proprietario da All_tables dove proprietario = 'hr' Ordine di table_name, proprietario;

Questa richiesta elenca tutte le tabelle accessibili dall'utente corrente, come mostrato nel seguente output:

Oracle Elenco tutte le tabelle

In casi molto minimi, potrebbe essere necessario elencare ogni volta nell'intero sistema. Per questo, devi interrogare il dizionario dati DBA_Tables.

È bene ricordare che richiedere una vasta raccolta di dati con un parametro di ordinamento può avere una performance colossale. Usare con cautela.

Seleziona Table_name, proprietario da DBA_Tables;

Questo dovrebbe scaricare tutte le tabelle nel sistema, come mostrato nella seguente uscita del campione:

Nota: in alcuni casi, è possibile ottenere un errore come:

[42000] [942] ORA-00942: tabella o vista non esiste
Posizione: 30

In tal caso, potrebbe essere necessario contattare l'amministratore del database per concedere le autorizzazioni sul dizionario DBA_Tables, selezionare qualsiasi autorizzazione del dizionario o select_catalog_role.

Conclusione

In questo post, hai imparato vari metodi e tecniche per elencare le tabelle nel server Oracle. Ad esempio, hai imparato come elencare le tabelle degli utenti e le tabelle DBA.