Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara Mendaftar Semua Tabel di Oracle

Seperti kebanyakan database relasional, mungkin ada situasi di mana Anda perlu melihat metadata yang mendasarinya dan melihat daftar tabel aktual dan kepemilikan database Anda. Untungnya, ada beberapa cara untuk melakukan tugas yang relatif sederhana ini di Oracle, jadi kami akan menjelajahi secara singkat setiap opsi di bawah ini untuk menemukan mana yang paling sesuai dengan kebutuhan Anda.

Apa itu Kamus Data Oracle?

Kamus data di Oracle adalah kumpulan tabel read-only yang menyediakan informasi berguna tentang database termasuk skema, pengguna, hak istimewa, dan bahkan data audit. Nilai dalam kamus yang disimpan ini diperbarui secara otomatis oleh Oracle setiap kali pernyataan dijalankan di server yang mengubah data.

Dari sana, kamus hanya-baca dapat dibaca dan ditanyakan seperti tabel standar lainnya, yang seperti yang akan kita lihat di bawah ini menyediakan beberapa fungsi yang sangat berguna.

Melihat Tabel yang Dimiliki oleh Pengguna Saat Ini

Pada tingkat paling dasar, Anda mungkin ingin melihat daftar semua tabel yang dimiliki oleh pengguna Oracle saat ini. Ini dapat dicapai dengan SELECT sederhana kueri pada USER_TABLES kamus data.

Setelah terhubung ke Oracle, keluarkan pernyataan ini:

SELECT
  table_name, owner
FROM
  user_tables
ORDER BY
  owner, table_name

Ini akan mengembalikan daftar semua tabel yang dimiliki oleh pengguna saat ini, sebagaimana ditentukan dalam owner kolom.

Melihat Tabel yang Dapat Diakses oleh Pengguna Saat Ini

Dalam situasi di mana Anda hanya tertarik pada tabel apa yang akses pengguna Oracle saat ini miliki untuk, terlepas dari kepemilikannya, Anda akan menggunakan ALL_TABLES kamus data sebagai gantinya.

SELECT
  table_name, owner
FROM
  all_tables
ORDER BY
  owner, table_name

Sepertinya kueri ini akan memberikan hasil yang jauh lebih banyak daripada yang Anda minati karena Anda melihat segala sesuatu yang bahkan dapat diakses dari jarak jauh oleh pengguna, jadi Anda mungkin ingin membatasi kueri Anda dengan menentukan owner yang sesuai , seperti ini:

SELECT
  table_name, owner
FROM
  all_tables
WHERE
  owner='schema_name'
ORDER BY
  owner, table_name

Melihat Semua Tabel

Terakhir, ketika Anda benar-benar perlu melihat setiap tabel dalam sistem, tidak terlihat lagi selain DBA_TABLES yang hebat dan kuat kamus data.

SELECT
  table_name, owner
FROM
  dba_tables
WHERE
  owner='schema_name'
ORDER BY
  owner, table_name

Penting untuk dicatat bahwa DBA_TABLES terakhir ini kamus mungkin memerlukan hak pengguna di luar apa yang dimiliki pengguna saat ini. Jika perlu, Anda mungkin perlu diberikan SELECT ANY DICTIONARY hak istimewa atau SELECT_CATALOG_ROLE peran. Informasi lebih lanjut tentang pemberian hak istimewa ini dapat ditemukan di dokumentasi resmi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Basis Data Produksi Baru

  2. Mengubah kata sandi dengan Oracle SQL Developer

  3. Oracle sql:perbarui jika ada yang lain masukkan

  4. Pernyataan Disiapkan dan setTimestamp di Oracle jdbc

  5. Oracle 11g dan integrasi pegas hibernasi dan jsf