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.