Tujuan
Hari ini kita membahas kamus data, juga dikenal sebagai sistem katalog. Pada akhir hari, Anda harus memiliki pemahaman yang kuat sebagai berikut:
- Definisi kamus data
- Jenis informasi berisi kamus data
- Berbagai jenis tabel di dalam kamus data
- Cara efektif untuk mengambil informasi yang berguna dari kamus data
Pengantar Data Kamus
Setiap database relasional memiliki beberapa bentuk kamus data, atau sistem katalog presentasi. (Kami menggunakan kedua istilah ini di.) Sebuah kamus data adalah area sistem dalam lingkungan database yang berisi informasi tentang bahan dari database. kamus data meliputi informasi seperti desain database, disimpan kode SQL, statistik pengguna, proses database, pertumbuhan database, dan kinerja statistik database.
Kamus data memiliki tabel yang mengandung informasi desain database, yang dihuni atas penciptaan database dan pelaksanaan Data Definition Language (DDL) seperti perintah CREATE TABLE.Ini bagian dari sistem katalog menyimpan informasi tentang sebuah kolom meja dan atribut, informasi-ukuran meja, hak meja, dan pertumbuhan meja. benda lain yang disimpan dalam kamus data mencakup indeks, memicu, prosedur, paket, dan pandangan.
Pengguna tabel laporan statistik status item seperti informasi konektivitas database dan hak untuk pengguna individu. Privileges tersebut dibagi menjadi dua komponen utama:-tingkat sistem dan hak-hak istimewa tingkat objek. Kewenangan untuk membuat pengguna lain adalah tingkat hak istimewa sistem, sedangkan kemampuan untuk mengakses tabel adalah tingkat keistimewaan objek. Peran juga digunakan untuk menegakkan keamanan dalam database. Informasi ini disimpan juga.
16 hari membentang apa yang Anda pelajari kemarin (15 Hari, “Memperlancar SQL Laporan untuk Peningkatan Kinerja”). Data diambil dari katalog sistem dapat digunakan untuk memantau kinerja database dan untuk mengubah parameter database yang akan meningkatkan kinerja database dan pernyataan SQL.
Kamus data adalah salah satu alat yang paling berguna yang tersedia dengan database. Ini adalah cara untuk menjaga database terorganisir, seperti file persediaan di toko ritel. Ini merupakan mekanisme yang menjamin integritas database. Misalnya, ketika Anda membuat sebuah tabel, bagaimana server database tahu apakah sebuah tabel dengan nama yang sama ada? Bila Anda membuat sebuah query untuk memilih data dari tabel, bagaimana bisa memverifikasi bahwa Anda telah diberi hak istimewa yang tepat untuk mengakses meja? Kamus data adalah jantung dari database, sehingga Anda perlu mengetahui bagaimana menggunakannya.
Pengguna Data Kamus
Akhir pengguna, insinyur sistem, dan administrator database semua menggunakan kamus data, apakah mereka menyadarinya atau tidak. akses mereka bisa baik langsung maupun tidak langsung.
Pengguna akhir, seringkali para pelanggan untuk database yang telah dibuat, akses katalog sistem tidak langsung. Ketika pengguna mencoba untuk log on ke database, kamus data dirujuk untuk memverifikasi bahwa user’s username, password, dan hak istimewa untuk menyambung ke database. database ini juga direferensikan untuk melihat apakah pengguna memiliki hak yang sesuai untuk mengakses data tertentu. Yang umum metode yang paling untuk pengguna akhir untuk mengakses kamus data melalui aplikasi front-end. Banyak antarmuka pengguna grafis (GUI) alat, yang memungkinkan pengguna untuk dengan mudah membangun sebuah pernyataan SQL, telah dikembangkan. Ketika login ke database, aplikasi front-end dapat segera melakukan pilih terhadap kamus data untuk mendefinisikan tabel yang memiliki akses pengguna. The-end aplikasi depan mungkin akan membangun sebuah “lokal” sistem katalog bagi pengguna individu berdasarkan data yang diambil dari kamus data. Pelanggan dapat menggunakan katalog setempat untuk memilih tabel yang spesifik ia ingin query.
Sistem insinyur adalah database pengguna yang bertanggung jawab untuk tugas-tugas seperti model database dan desain, pengembangan aplikasi, dan aplikasi manajemen. (Beberapa perusahaan menggunakan judul lainnya, seperti programer, analis pemrogram, dan modelers data, untuk merujuk Sistem insinyur sistem mereka.) Insinyur menggunakan kamus data secara langsung untuk mengelola proses pembangunan, serta mempertahankan proyek-proyek yang ada. Akses juga dapat dilakukan melalui aplikasi front-end, perangkat pengembangan, dan rekayasa perangkat lunak dibantu komputer (CASE) tools. area umum dari sistem katalog bagi para pengguna query objek-objek di bawah kelompok skema, permintaan terhadap peran aplikasi dan hak istimewa, dan permintaan untuk mengumpulkan statistik pada pertumbuhan skema mungkin. System juga insinyur menggunakan kamus data untuk reverse-engineer objek database dalam ditetapkan skema.
Database administrator (DBAs) yang paling jelas persentase terbesar pengguna langsung dari kamus data. Berbeda dengan kelompok lain dua pengguna, yang kadang-kadang menggunakan sistem katalog secara langsung, DBAs harus secara eksplisit mencakup penggunaan kamus data sebagai bagian dari rutinitas sehari-hari mereka. Akses biasanya melalui sebuah query SQL, tetapi juga dapat melalui alat administrasi seperti Oracle Server Manager. Seorang DBA menggunakan kamus data untuk mengelola informasi pengguna dan sumber daya dan akhirnya untuk mencapai database baik-tuned.
Seperti yang Anda lihat, semua pengguna database harus menggunakan kamus data. Bahkan lebih penting, sebuah database relasional tidak bisa ada tanpa beberapa bentuk kamus data.
Isi Kamus Data
Bagian ini mengkaji sistem katalog dua vendor RDBMS, Oracle dan Sybase. Meskipun kedua implementasi memiliki spesifikasi unik untuk kamus data, mereka melayani fungsi yang sama. Jangan keprihatinan sendiri dengan nama yang berbeda untuk tabel sistem, cukup memahami konsep kamus data dan data di dalamnya.
Kamus Oracle’s Data
Karena setiap meja harus memiliki pemiliknya, pemilik sistem tabel dalam kamus data Oracle adalah SYS. Oracle’s data tabel kamus dibagi menjadi tiga kategori dasar: diakses dilihat pengguna, dilihat DBA, dan tabel performa yang dinamis, yang juga muncul sebagai pandangan. Tampilan yang dapat diakses pengguna memungkinkan pengguna untuk permintaan data kamus untuk informasi tentang account database individu, seperti hak istimewa, atau katalog tabel dibuat. DBA dilihat bantuan dalam tugas sehari-hari dari seorang administrator database, yang memungkinkan DBA untuk mengelola pengguna dan objek dalam database. Tabel kinerja dinamis di Oracle juga digunakan oleh DBA dan menyediakan mendalam melihat lebih untuk memantau kinerja database.Pandangan-pandangan ini memberikan informasi seperti statistik pada proses, penggunaan dinamis segmen rollback, penggunaan memori, dan sebagainya. Tabel performa yang dinamis semua Vawalan $.
Data Sybase’s Dictionary
Seperti di Oracle, pemilik tabel dalam kamus data Sybase adalah SYS. Tabel dalam kamus data dibagi menjadi dua kategori: tabel sistem dan tabel database.
Tabel sistem berisi dengan database master saja. Tabel ini define obyek (seperti tabel dan indeks) yang umum melalui beberapa database kamus yang kedua. Set tabel dalam Sybase SQL Server data adalah tabel database. Tabel ini berkaitan hanya untuk obyek dalam setiap database.
A Look Inside’s Oracle Data Dictionary
Contoh dalam bagian ini menunjukkan cara untuk mengambil informasi dari kamus data dan dapat diterapkan ke database relasional pengguna kebanyakan, yaitu, sistem insinyur, end user, atau DBA. kamus data Oracle memiliki array yang luas dari tabel sistem dan pandangan untuk semua jenis pengguna database, itulah sebabnya mengapa kita memilih untuk mengeksplorasi kamus data Oracle secara lebih mendalam.
Tampilan Pengguna
dilihat pengguna data dilihat kamus yang umum untuk semua pengguna database. Hanya hak pengguna perlu permintaan terhadap pandangan pengguna adalah hak istimewa sistem CREATE SESSION, yang harus umum untuk semua pengguna.
Siapa Anda?
Sebelum merambah ke dalam pengetahuan yang tampaknya tak berujung yang terdapat dalam database, Anda harus tahu persis siapa Anda (dalam hal database) dan apa yang dapat Anda lakukan. Kedua berikut menunjukkan contoh laporan SELECT dari dua tabel: satu untuk mengetahui siapa Anda dan yang lainnya untuk melihat saham lain yang database.
INPUT:
SQL> SELECT * 2 DARI USER_USERS;
OUTPUT:
USERNAME USER_ID tablespace SEMENTARA DEFAULT_TABLESPACE DIBUAT ---------- ------ -------------------- -------------- -------- ------ JSMITH 29 USERS TEMP 14-MAR-97 1 baris yang dipilih.
ANALISIS:
Tampilan USER_USERS memungkinkan Anda untuk melihat bagaimana Anda Oracle ID didirikan, ketika didirikan, dan ia juga menampilkan lainnya pengguna tertentu, statistik vital. The default tablespace dan tablespace sementara juga ditampilkan. The default tablespace, PENGGUNA, adalah tablespace yang objek akan dibuat di bawah sebagai pengguna tersebut. Sementara itu tablespace adalah tablespace ditujukan untuk digunakan selama jenis besar dan fungsi kelompok untuk JSMITH.
INPUT / OUTPUT:
SQL> * SELECT 2 DARI All_users; USERNAME USER_ID DIBUAT -------------- ------- ------------ SYS 0 01-JAN-97 SISTEM 5 01-JAN-97 SCOTT 8 01-JAN-97 JSMITH 10 14-MAR-97 TJONES 11 15-MAR-97 VJOHNSON 12 15-MAR-97
Seperti yang dapat Anda lihat dalam hasil pencarian sebelumnya, Anda dapat melihat semua pengguna yang ada di database dengan menggunakan tampilan All_users. Namun, tampilan All_users tidak menyediakan informasi yang spesifik yang sama seperti tampilan sebelumnya (USER_USERS) disediakan karena tidak ada kebutuhan untuk informasi ini di tingkat pengguna. informasi spesifik lebih lanjut dapat diperlukan pada tingkat sistem.
Keistimewaan Apakah Anda?
Sekarang Anda tahu siapa Anda, akan menyenangkan untuk mengetahui apa yang dapat Anda lakukan. Beberapa pandangan kolektif, mampu untuk memberikan informasi tersebut. Pandangan USER_SYS_PRIVS dan tampilan USER_ROLE_PRIVS akan memberi Anda (pengguna) ide yang baik dari apa kewenangan yang Anda miliki.
Anda dapat menggunakan tampilan USER_SYS_PRIVS hak istimewa untuk memeriksa sistem anda. Ingat, hak istimewa sistem hak istimewa yang memungkinkan Anda untuk melakukan hal-hal tertentu dalam database secara keseluruhan. Privileges tersebut tidak spesifik untuk setiap obyek satu atau sekumpulan objek.
INPUT:
SQL> SELECT * 2 DARI USER_SYS_PRIVS;
OUTPUT:
USERNAME HAK ISTIMEWA ADM -------- -------------------- --- JSMITH UNLIMITED tablespace NO CREATE JSMITH SESI NO 2 baris yang dipilih.
ANALISIS:
JSMITH telah diberikan dua tingkat hak istimewa sistem, di luar dari setiap peran diberikan. Perhatikan kedua, misalnya CREATE SESSION. CREATE SESI juga terkandung dalam standar Oracle peran, CONNECT, yang tercakup dalam berikutnya.
Anda dapat menggunakan USER_ROLE_PRIVS tampilan untuk melihat informasi tentang peran Anda telah diberikan dalam database. Database peran sangat mirip dengan tingkat hak istimewa sistem. Peran dibuat seperti pengguna dan kemudian diberikan hak istimewa. Setelah peran telah diberikan hak istimewa, peran dapat diberikan kepada pengguna. Ingat bahwa tingkat hak objek juga mungkin terdapat dalam peran.
INPUT / OUTPUT:
SQL> SELECT * 2 DARI USER_ROLE_PRIVS; USERNAME ADM DEF GRANTED_ROLE OS_ ---------------- ------------ --- --- - JSMITH TIDAK YA TIDAK CONNECT JSMITH RESOURCE TIDAK YA TIDAK 2 baris yang dipilih.
ANALISIS:
Tampilan USER_ROLE_PRIVS memungkinkan Anda untuk melihat peran yang telah diberikan kepada Anda. Seperti disebutkan sebelumnya, CONNECT berisi CREATE SESSION privilege sistem, serta hak lainnya. RESOURCE memiliki beberapa keistimewaan tersendiri. Anda dapat melihat bahwa kedua peran telah diberikan peran sebagai’s default user, user tidak dapat memberikan peran kepada pengguna lain, seperti dicatat oleh opsi Admin (ADM), dan peran belum diberikan oleh sistem operasi. (Lihat Hari 12, “Keamanan Database.”)
Apa yang Anda Memiliki Akses Untuk?
Sekarang Anda mungkin bertanya, Apa yang harus saya akses? Aku tahu siapa aku, aku tahu hak saya, tapi dimana saya bisa mendapatkan data saya? Anda dapat menjawab pertanyaan tersebut dengan melihat berbagai pandangan pengguna yang tersedia dalam data kamus. Bagian ini mengidentifikasi beberapa pandangan membantu.
Mungkin pengguna pandangan dasar yang paling adalah USER_CATALOG, yang hanyalah katalog meja, pandangan, sinonim, dan urutan yang dimiliki oleh pengguna saat ini.
INPUT:
SQL> SELECT * 2 DARI USER_CATALOG;
OUTPUT:
TABLE_NAME TABLE_TYPE ---------- ---------------------------- TABEL MAGAZINE_TBL MAG_COUNTER URUTAN MAG_VIEW VIEW TABEL SPORTS 4 baris yang dipilih.
ANALISIS:
Contoh ini memberikan daftar cepat tabel dan obyek terkait yang Anda miliki. Anda juga dapat menggunakan sinonim publik untuk USER_CATALOG untuk itu demi kesederhanaan: CAT. Artinya, mencoba * pilih dari kucing;.
Pandangan lain yang berguna adalah ALL_CATALOG, yang memungkinkan Anda untuk melihat tabel yang dimiliki oleh orang lain.
INPUT / OUTPUT:
SQL> SELECT * 2 FROM ALL_CATALOG;
PEMILIK TABLE_NAME TABLE_TYPE -------------------- ------------------ ---------- SYS DUAL TABEL DUAL PUBLIK sinonim JSMITH MAGAZINE_TBL TABEL JSMITH MAG_COUNTER URUTAN JSMITH MAG_VIEW VIEW SPORTS JSMITH TABEL VJOHNSON test1 TABEL VJOHNSON Hobi TABEL VJOHNSON CLASSES TABEL MAHASISWA VJOHNSON VIEW 10 baris yang dipilih.
ANALISIS:
objek Lebih dari muncul dalam daftar sebelumnya akan dapat diakses oleh Anda sebagai pengguna. (Tabel SISTEM sendiri akan menambah banyak tabel daftar.) Kami telah sekadar dipersingkat.Pandangan ALL_CATALOG sama dengan tampilan USER_CATALOG, tapi menampilkan semua tabel, pandangan, urutan, dan sinonim yang Anda memiliki akses (bukan hanya yang Anda sendiri).
INPUT:
SQL> SELECT substr (OBJECT_TYPE, 1,15) OBJECT_TYPE, 2 substr (OBJECT_NAME, 1,30) OBJECT_NAME, 3 DIBUAT, 4 STATUS 5 DARI USER_OBJECTS 6 ORDER BY 1;
OUTPUT:
OBJECT_NAME OBJECT_TYPE DIBUAT STATUS -------------- -------------------- ------------ ---- - INDEKS MAGAZINE_INX 14-MAR-97 Valid INDEKS SPORTS_INX 14-MAR-97 Valid INDEKS HOBBY_INX 14-MAR-97 Valid TABEL MAGAZINE_TBL 01-MAR-97 Valid TABEL SPORTS 14-MAR-97 Valid TABEL HOBBY_TBL 16-MAR-97 Valid 6 baris yang dipilih.
ANALISIS:
Anda dapat menggunakan tampilan USER_OBJECTS untuk memilih informasi umum mengenai obyek yang dimiliki pengguna, seperti nama, jenis, tanggal dibuat, tanggal dimodifikasi, dan status obyek. Dalam permintaan sebelumnya, kita memeriksa data yang dibuat dan validasi dari tiap objek yang dimiliki.
INPUT / OUTPUT:
SQL> SELECT TABLE_NAME, INITIAL_EXTENT, NEXT_EXTENT 2 DARI USER_TABLES; SEJAUH TABLE_NAME NEXT INITIAL_EXTENT ---------------------------- -------------- -------- --- MAGAZINE_TBL 1048576 540672 OLAHRAGA 114688 114688
ANALISIS:
Jauh lebih data tersedia ketika memilih dari tampilan USER_TABLES, tergantung apa yang ingin Anda lihat. Sebagian data yang terdiri dari informasi penyimpanan.
CATATAN: Perhatikan pada output bahwa nilai awal dan selanjutnya Sejauh mana dalam bytes. Dalam beberapa implementasi anda dapat menggunakan kolom output format untuk membuat Anda lebih mudah dibaca dengan menambahkan tanda koma. Lihat Hari 19, “Transact-SQL: An Introduction,” dan Hari 20, “SQL * Plus.”
Tampilan ALL_TABLES adalah USER_TABLES sebagai tampilan ALL_CATALOG adalah untuk USER_CATALOG. Dengan kata lain, ALL_TABLES memungkinkan Anda untuk melihat semua tabel yang Anda memiliki akses, bukan hanya meja Anda sendiri. Pandangan ALL_TABLES mungkin termasuk tabel yang ada di katalog pengguna lain.
INPUT / OUTPUT:
SQL SELECT substr> (PEMILIK, 1,15) PEMILIK, 2 substr (TABLE_NAME, 1,25) TABLE_NAME, 3 substr (TABLESPACE_NAME, 1,13) tablespace 4 DARI ALL_TABLES; PEMILIK tablespace --------- TABLE_NAME ----------- ---------------------------- ---------- SYS SISTEM DUAL JSMITH PENGGUNA MAGAZINE_TBL SMITH SPORTS PENGGUNA VJOHNSON test1 Hobi VJOHNSON USERS USERS CLASSES VJOHNSON PENGGUNA
ANALISIS:
Sekali lagi, Anda telah memilih hanya informasi yang diinginkan. Banyak kolom tambahan dalam ALL_TABLES juga mungkin berisi informasi yang bermanfaat.
Sebagai pengguna database, anda bisa memonitor pertumbuhan tabel dan indeks dalam katalog Anda dengan query tampilan USER_SEGMENTS. Seperti namanya, USER_SEGMENTS memberi Anda informasi tentang setiap segmen, seperti informasi penyimpanan dan luasan diambil. Sebuah segmen dapat terdiri dari sebuah tabel, indeks, kembalikan cluster, sementara, atau cache.Contoh berikut ini menunjukkan bagaimana Anda dapat mengambil informasi yang dipilih dari tampilan USER_SEGMENTS.
INPUT / OUTPUT:
SQL SELECT substr> (SEGMENT_NAME, 1,30) SEGMENT_NAME, 2 substr (SEGMENT_TYPE, 1,8) SEG_TYPE, 3 substr (TABLESPACE_NAME, 1,25) TABLESPACE_NAME, 4 BYTES, luasan 5 DARI USER_SEGMENTS 6 ORDER BY DESC luasan; SEG_TYPE SEGMENT_NAME TABLESPACE_NAME BYTES luasan -------------------- ------------ --------------- ----- ------------ ------- TABEL PENGGUNA MAGAZINE_TBL 4292608 7 PENGGUNA INDEKS SPORTS_INX 573.440 4 TABEL PENGGUNA SPORTS 344.064 2 PENGGUNA INDEKS MAGAZINE_INX 1.589.248 1
4 baris yang dipilih.
ANALISIS:
Output dalam permintaan sebelumnya telah disortir oleh luasan dalam urutan; segmen dengan pertumbuhan paling (luasan diambil) muncul pertama dalam hasil.
Sekarang Anda tahu mana tabel Anda memiliki akses ke, Anda akan ingin mengetahui apa yang dapat Anda lakukan untuk setiap tabel. Apakah Anda hanya terbatas pada permintaan, atau dapat Anda memperbarui tabel? Pandangan ALL_TAB_PRIVS daftar semua hak istimewa yang telah Anda sebagai pengguna database pada setiap meja tersedia untuk Anda.
INPUT / OUTPUT:
SQL> SELECT substr (TABLE_SCHEMA, 1,10) PEMILIK, 2 substr (TABLE_NAME, 1,25) TABLE_NAME, 3 HAK ISTIMEWA 4 DARI ALL_TAB_PRIVS; PEMILIK HAK ISTIMEWA TABLE_NAME ------------ ----- --------------- --------- SYS JSMITH INSERT SELECT DUAL MAGAZINE_TBL JSMITH JSMITH PILIH UPDATE MAGAZINE_TBL MAGAZINE_TBL JSMITH MAGAZINE_TBL SPORTS JSMITH JSMITH DELETE SELECT INSERT UPDATE SPORTS SPORTS JSMITH JSMITH SPORTS VJOHNSON VJOHNSON DELETE SELECT test1 test1 test1 VJOHNSON INSERT UPDATE DELETE VJOHNSON VJOHNSON Hobi test1 CLASSES VJOHNSON SELECT SELECT
ANALISIS:
Seperti yang Anda lihat, Anda dapat memanipulasi data dalam beberapa tabel, sedangkan Anda memiliki akses read-only (SELECT hanya) kepada orang lain.
Bila Anda membuat objek, Anda biasanya perlu tahu di mana untuk menempatkan mereka dalam database, kecuali Anda membiarkan tujuan target Anda untuk mengambil default. Sebuah database Oracle ini dipecah menjadi tablespace, yang masing-masing mampu menyimpan objek. Setiap tablespace dialokasikan sejumlah ruang disk, sesuai dengan apa yang tersedia pada sistem. ruang disk biasanya diperoleh melalui administrator sistem (SA).
Permintaan berikut ini dari pandangan disebut USER_TABLESPACES, yang akan daftar tablespace yang Anda memiliki akses ke, default dan selanjutnya ukuran awal objek diciptakan di dalamnya, dan status mereka.
INPUT / OUTPUT:
SQL> SELECT substr (TABLESPACE_NAME, 1,30) TABLESPACE_NAME, 2 INITIAL_EXTENT, 3 NEXT_EXTENT, 4 PCT_INCREASE, 5 STATUS 6 DARI USER_TABLESPACES; TABLESPACE_NAME INITIAL_EXTENT ----------------- NEXT_EXTENT STATUS PCT_INCREASE ------------- -------------- ----------- ------------ ------ SISTEM 32768 16384 1 RBS ONLINE 2.097.152 2.097.152 1 ONLINE TEMP 114.688 114.688 1 32.768 16.384 ALAT ONLINE USERS ONLINE 1 32.768 16.384 1 ONLINE
5 baris yang dipilih.
ANALISIS:
Jenis permintaan ini sangat berguna ketika Anda membuat objek, seperti tabel dan indeks, yang membutuhkan penyimpanan. Ketika sebuah tabel atau indeks dibuat, jika berikutnya penyimpanan parameter dan awal tidak ditentukan dalam DDL, tabel atau indeks akan mengambil nilai default tablespace’s tersebut. Konsep yang sama berlaku untuk PCT KENAIKAN, yang merupakan parameter Oracle menetapkan persentase ruang yang dialokasikan obyek harus diambil saat itu tumbuh. Jika nilai untuk PCT KENAIKAN tidak ditentukan ketika tabel atau indeks dibuat, database server akan mengalokasikan nilai default yang ditentukan untuk tablespace yang sesuai. Melihat nilai-nilai default memungkinkan Anda untuk menentukan apakah Anda perlu menggunakan klausa penyimpanan dalam pernyataan CREATE.
Kadang-kadang, namun Anda perlu tahu lebih dari yang tablespace Anda dapat mengakses, yaitu, membangun tabel di bawah. Misalnya, Anda mungkin perlu tahu apa batas Anda dalam tablespace sehingga Anda bisa mengatur pembentukan dan ukuran benda-benda Anda. Pandangan USER_TS_QUOTAS menyediakan informasi yang diperlukan. Menampilkan permintaan berikutnya pengguna ruang batas untuk membuat objek dalam database.
INPUT / OUTPUT:
SQL> substr SELECT (TABLESPACE_NAME, 1,30) TABLESPACE_NAME, 2 BYTES, MAX_BYTES 3 DARI USER_TS_QUOTAS; TABLESPACE_NAME BYTES MAX_BYTES ------------------------------ ---------- ---------- SISTEM 0 0 ALAT 5242880 16384 573.440 PENGGUNA -1 3 baris yang dipilih.
ANALISIS:
Hasil sebelumnya khas output dari data Oracle kamus. BYTES mengidentifikasi jumlah byte dalam tablespace yang berkaitan dengan user BYTES. MAX mengidentifikasi maksimum byte yang diberikan kepada pengguna, atau user kuota, di tablespace tersebut. Dua yang pertama nilai dalam kolom ini adalah diri-jelas baris. Para -1 pada ketiga berarti kuota tak terbatas – yaitu, tidak ada batas yang ditempatkan pada user untuk tablespace tersebut.
CATATAN: Fungsi substr banyak muncul dalam permintaan sebelumnya data dilihat kamus. Anda dapat menggunakan banyak fungsi yang Anda pelajari sebelumnya untuk meningkatkan readablility data Anda mengambil. Penggunaan standar penamaan yang konsisten dalam database Anda mungkin mengizinkan anda membatasi ukuran data dalam output Anda, seperti yang telah kita lakukan dalam contoh ini.
Contoh-contoh ini menunjukkan bagaimana semua pengguna database biasa dapat mengekstraksi informasi dari kamus data. Pandangan ini adalah hanya beberapa dari sekian banyak yang ada di kamus’s data Oracle. Penting untuk memeriksa implementasi database Anda untuk melihat apa yang tersedia bagi Anda di kamus data Anda. Ingat, Anda harus menggunakan data kamus untuk mengelola kegiatan database Anda. Meskipun sistem katalog berbeda dengan implementasi, Anda hanya perlu memahami konsep ini dan mengetahui bagaimana untuk mengambil data yang diperlukan untuk melengkapi pekerjaan Anda.
Sistem DBA Tampilan
Pandangan DBA yang berada dalam sebuah kamus data Oracle biasanya yang utama, atau yang paling umum, pandangan bahwa DBA akan akses. Pandangan-pandangan ini tidak ternilai dengan produktivitas dari setiap DBA. Mengambil tabel ini jauh dari DBA akan seperti merampas seorang tukang kayu dari palu.
Seperti yang Anda harapkan, Anda harus memiliki hak istimewa sistem SELECT_ANY_TABLE, yang terkandung dalam peranan DBA, untuk mengakses tabel DBA. Misalnya, Anda JSMITH, yang tidak memiliki hak istimewa yang diperlukan untuk memilih dari tabel DBA.
INPUT:
SQL> SELECT * 2 DARI USER_ROLE_PRIVS;
OUTPUT:
USERNAME GRANTED_ROLE ADM DEF OS_
------------------ -------------------- --- --- --
JSMITH CONNECT NO YES NO
JSMITH RESOURCE NO YES NO
INPUT / OUTPUT:
SQL> SELECT * 2 FROM SYS.DBA_ROLES; FROM SYS.DBA_ROLES; * ERROR pada baris 2: ORA-00942: table or view does not exist
ANALISIS:
When you try to access a table to which you do not have the appropriate privileges, an error is returned stating that the table does not exist. This message can be a little misleading. Virtually, the table does not exist because the user cannot “see” the table. A solution to the problem above would be to grant the role DBA to JSMITH. This role would have to be granted by a DBA, of course.
Database User Information
The USER_USERS dan dilihat All_users memberikan informasi minimal tentang pengguna.Pandangan DBA disebut DBA_USERS (dimiliki oleh SYS) memberi Anda informasi tentang semua pengguna jika Anda memiliki peran DBA atau hak istimewa SELECT_ANY_TABLE, seperti ditunjukkan pada contoh berikut.
INPUT:
SQL> SELECT * 2 FROM SYS.DBA_USERS;
OUTPUT:
USER_ID USERNAME PASSWORD -------------------------------- ------ ------------ ----------------- TEMPORARY_TABLESPACE DEFAULT_TABLESPACE DIBUAT ------------------------------ -------------------- ---------- -------- PROFIL ------------------------------ SYS 0 4012DA490794C16B SISTEM TEMP 06-Juni-96 DEFAULT JSMITH 5 A4A94B17405C10B7 PENGGUNA TEMP 06-Juni-96 DEFAULT 2 baris yang dipilih.
ANALISIS:
Bila Anda memilih semua dari tampilan DBA_USERS, Anda dapat melihat informasi penting pada setiap pengguna. Perhatikan bahwa password dienkripsi. DBA_USERS adalah pandangan utama yang digunakan oleh DBA untuk mengelola pengguna.
Keamanan Database
Tiga kamus data dasar dilihat berurusan dengan keamanan, meskipun pandangan ini dapat dikaitkan dengan-gether dengan pandangan yang terkait lainnya untuk informasi lebih lengkap. Ketiga dilihat berurusan dengan peran database, peran yang diberikan kepada pengguna, dan sistem hak istimewa yang diberikan kepada pengguna. Tiga pandangan yang diperkenalkan di bagian ini adalah DBA_ROLES, DBA_ROLE_PRIVS, dan DBA_SYS_PRIVS. Permintaan contoh berikut menunjukkan bagaimana untuk memperoleh informasi yang berkaitan dengan keamanan database.
INPUT:
SQL> SELECT * 2 DARI SYS.DBA_ROLES;
OUTPUT:
PERAN PASSWORD ------------------------------ -------- NO CONNECT RESOURCE NO NO DBA NO EXP_FULL_DATABASE NO IMP_FULL_DATABASE NO END_USER_ROLE 6 baris yang dipilih.
ANALISIS:
Tampilan DBA_ROLES daftar semua peran yang telah dibuat di dalam database. Hal ini memberi nama peran dan apakah atau tidak peran memiliki password.
INPUT:
SQL> SELECT * 2 DARI SYS.DBA_ROLE_PRIVS 3 WHERE Grantee = 'RJENNINGS'; Penerima beasiswa GRANTED_ROLE ADM DEF ------------------------------ -------------------- ---------- --- --- YA NO CONNECT RJENNINGS YA NO RJENNINGS DBA YA NO RJENNINGS RESOURCE 3 baris yang dipilih.
ANALISIS:
Pandangan DBA_ROLE_PRIVS memberikan informasi tentang peran database yang telah diberikan kepada pengguna. Kolom pertama adalah penerima beasiswa, atau pengguna. Menampilkan kolom kedua peran yang diberikan. Perhatikan bahwa setiap peran yang diberikan kepada user sesuai dengan catatan dalam tabel. ADM mengidentifikasi apakah peran itu diberikan dengan opsi Admin, yang berarti bahwa pengguna dapat memberikan peran yang cocok untuk pengguna lain. Kolom terakhir adalah DEFAULT, menyatakan apakah peran yang cocok peran default untuk pengguna.
INPUT / OUTPUT:
SQL> SELECT * 2 DARI SYS.DBA_SYS_PRIVS 3 WHERE Grantee = 'RJENNINGS'; Penerima beasiswa HAK ISTIMEWA ADM ------------------------------ -------------------- -------------------- --- CREATE RJENNINGS SESI NO RJENNINGS UNLIMITED tablespace NO 2 baris yang dipilih.
ANALISIS:
Pandangan DBA_SYS_PRIVS daftar semua level hak istimewa sistem yang telah diberikan kepada pengguna. Pandangan ini mirip dengan DBA_ROLE_PRIVS. Anda dapat menyertakan sistem hak istimewa dalam peran tersebut dengan memberikan hak istimewa sistem untuk peran, karena Anda akan ke pengguna.
Database Objects
Database objek fokus utama lain untuk DBA. Beberapa pandangan dalam kamus data memberikan informasi tentang objek, seperti tabel dan indeks. Pandangan ini dapat berisi informasi umum atau mereka dapat berisi informasi rinci tentang objek yang berada dalam database.
INPUT:
SQL> SELECT * 2 DARI SYS.DBA_CATALOG 3 WHERE ROWNUM <5;
OUTPUT:
PEMILIK TABLE_NAME TABLE_TYPE ------------------------------ -------------------- ---------- ---------- CDEF $ TABEL SYS TAB SYS $ TABEL SYS IND $ TABEL SYS CLU $ TABEL 4 baris yang dipilih.
ANALISIS:
DBA_CATALOG adalah hal yang sama seperti USER_CATALOG, hanya pemilik meja ini disertakan. Sebaliknya, tampilan USER_CATALOG berhubungan semata-mata dengan tabel yang dimiliki pengguna saat ini. DBA_CATALOG adalah pandangan bahwa DBA dapat digunakan untuk mengambil cepat melihat semua tabel.
Permintaan berikut ini menunjukkan jenis objek yang ada di database tertentu.
TIP: Anda dapat menggunakan ROWNUM untuk mempersempit hasil pencarian Anda ke nomor baris tertentu untuk tujuan pengujian panggilan. Oracle ROWNUM sebuah pseudocolumn,.ROWNUM seperti ROWID, dapat digunakan pada setiap tabel database atau melihat.
INPUT / OUTPUT:
SQL> SELECT DISTINCT(OBJECT_TYPE) 2 FROM SYS.DBA_OBJECTS; OBJECT_TYPE ------------ CLUSTER DATABASE LINK FUNGSI INDEX PAKET PACKAGE BODY PROSEDUR SEQUENCE SYNONYM TABEL TRIGGER VIEW 12 rows selected.
ANALISIS:
Fungsi berbeda dalam permintaan sebelumnya daftar semua jenis objek yang unik yang ada di database. Query ini adalah cara yang baik untuk mengetahui apa jenis objek database desainer dan pengembang yang menggunakan.
Pandangan DBA_TABLES memberikan informasi spesifik tentang tabel database, kebanyakan tentang penyimpanan.
INPUT / OUTPUT:
SQL> SELECT SUBSTR(OWNER,1,8) OWNER,
2 SUBSTR(TABLE_NAME,1,25) TABLE_NAME,
3 SUBSTR(TABLESPACE_NAME,1,30) TABLESPACE_NAME
4 FROM SYS.DBA_TABLES
5 WHERE OWNER = 'JSMITH';
OWNER TABLE_NAME TABLESPACE_NAME
-------- ------------------------ --------------------
JSMITH MAGAZINE_TBL USERS
JSMITH HOBBY_TBL USERS
JSMITH ADDRESS_TBL SYSTEM
JSMITH CUSTOMER_TBL USERS
4 rows selected.
ANALISIS:
Semua tabel dalam tablespace USERS kecuali ADDRESS_TBL, yang ada di tablespace SYSTEM. Karena hanya Anda yang pernah tabel harus simpan di tablespace SYSTEM adalah tabel SYSTEM, DBA perlu mengetahui situasi ini. Ini merupakan hal yang baik Anda berlari query ini!
JSMITH harus segera diminta untuk memindahkan mejanya ke tablespace lain yang memenuhi syarat.
Tampilan DBA_SYNONYMS menyediakan daftar semua sinonim yang ada di database.DBA_SYNONYMS memberikan daftar sinonim untuk semua pengguna database, tidak seperti USER_SYNONYMS, yang berisi hanya nama-muradif pribadi pengguna saat ini.
INPUT / OUTPUT:
SQL> SELECT SYNONYM_NAME, 2 SUBSTR(TABLE_OWNER,1,10) TAB_OWNER, 3 SUBSTR(TABLE_NAME,1,30) TABLE_NAME 4 FROM SYS.DBA_SYNONYMS 5 WHERE OWNER = 'JSMITH'; SYNONYM_NAME TAB_OWNER TABLE_NAME ------------------------------ ---------- ---------- TRIVIA_SYN VJOHNSON TRIVIA_TBL 1 baris yang dipilih.
ANALISIS:
Menunjukkan output sebelumnya bahwa JSMITH memiliki sinonim disebut TRIVIA_SYN di atas meja yang disebut TRIVIA_TBL yang dimiliki oleh VJOHNSON.
Sekarang anggaplah bahwa Anda ingin mendapatkan daftar semua tabel dan indeks mereka milik JSMITH. Anda akan menulis permintaan serupa dengan berikut ini, menggunakan DBA_INDEXES.
INPUT / OUTPUT:
SQL> SELECT substr (TABLE_OWNER, 1,10) TBL_OWNER, 2 substr (TABLE_NAME, 1,30) TABLE_NAME, 3 substr (INDEX_NAME, 1,30) INDEX_NAME 4 5 WHERE SYS.DBA_INDEXES DARI PEMILIK 'JSMITH =' 6 DAN ROWNUM < 5 7 ORDER BY TABLE_NAME; TBL_OWNER TABLE_NAME INDEX_NAME ---------- ------------------------------ - ----------- JSMITH ADDRESS_TBL ADDR_INX JSMITH CUSTOMER_TBL CUST_INX JSMITH HOBBY_TBL HOBBY_PK JSMITH MAGAZINE_TBL MAGAZINE_INX 4 baris yang dipilih.
ANALISIS:
Sebuah query seperti sebelumnya adalah metode yang mudah dari daftar semua indeks yang termasuk dalam skema dan mencocokkannya dengan tabel terkait mereka.
INPUT / OUTPUT:
SQL> SELECT substr (TABLE_NAME, 1,15) TABLE_NAME, 2 substr (INDEX_NAME, 1,30) INDEX_NAME, 3 substr (COLUMN_NAME, 1,15) COLUMN_NAME, 4 COLUMN_POSITION 5 DARI SYS.DBA_IND_COLUMNS 6 WHERE TABLE_OWNER 'JSMITH =' 7 DAN <ROWNUM 10 8 ORDER BY 1,2,3; COLUMN_NAME TABLE_NAME INDEX_NAME COLUMN_POSITION -------------- ------------------- ----------- -------------- ADDRESS_TBL ADDR_INX --------------- PERS_ID 1 ADDR_INX NAMA ADDRESS_TBL ADDRESS_TBL ADDR_INX 2 KOTA 3 CUSTOMER_TBL CUST_INX CUST_ID 1 CUSTOMER_TBL CUST_INX CUST_NAME 2 CUSTOMER_TBL CUST_INX CUST_ZIP 3 HOBBY_TBL HOBBY_PK SAKEY 1 MAGAZINE_TBL MAGAZINE_INX ISSUE_NUM 1 MAGAZINE_TBL MAGAZINE_INX EDITOR 2 9 baris yang dipilih.
ANALISIS:
Sekarang Anda telah memilih setiap kolom yang diindeks dalam setiap tabel dan memerintahkan hasil dengan urutan kolom yang muncul dalam indeks. Anda telah belajar tentang meja, tapi apa memegang meja? Tablespace berada pada tingkat yang lebih tinggi daripada objek seperti tabel, indeks dan sebagainya. Tablespace adalah Oracle’s mekanisme untuk mengalokasikan ruang untuk basis data. Untuk mengalokasikan ruang, Anda harus tahu apa tablespace saat ini tersedia. Anda dapat melakukan pilih dari DBA_TABLESPACES untuk melihat daftar semua tablespace dan status mereka, seperti ditunjukkan pada contoh berikut.
INPUT / OUTPUT:
SQL SELECT TABLESPACE_NAME>, STATUS 2 STATUS TABLESPACE_NAME DARI SYS.DBA_TABLESPACES ------ ------------------------------ SISTEM RBS ONLINE ONLINE ALAT TEMP ONLINE ONLINE USERS ONLINE ONLINE DATA_TS INDEX_TS ONLINE 7 baris yang dipilih.
ANALISIS:
Hasil sebelumnya memberitahu Anda bahwa semua tablespace sedang online, yang berarti bahwa mereka yang tersedia untuk digunakan. Jika sebuah tablespace offline, maka objek database di dalamnya (yaitu, tabel) tidak dapat diakses.
Apakah kuota JSMITH di semua tablespace yang ia memiliki akses? Dengan kata lain, berapa banyak ruang yang tersedia untuk objek database JSMITH’s?
INPUT / OUTPUT:
SQL> SELECT TABLESPACE_NAME,
2 BYTES,
3 MAX_BYTES
4 FROM SYS.DBA_TS_QUOTAS
5 WHERE USERNAME = 'JSMITH'
TABLESPACE_NAME BYTES MAX_BYTES
------------------------------ ---------- ----------
DATA_TS 134111232 -1
INDEX_TS 474390528 -1
2 rows selected.
ANALISIS:
JSMITH memiliki kuota terbatas di kedua tablespace untuk yang memiliki akses. Dalam hal ini jumlah byte yang tersedia di tablespace tersebut tersedia pada pertama-datang pertama-dilayani. Misalnya, jika JSMITH menggunakan semua ruang bebas di DATA_TS, maka tidak ada orang lain yang dapat membuat objek di sini.
Pertumbuhan Database
Bagian ini membahas dua pandangan bahwa bantuan dalam pengukuran pertumbuhan database: DBA_SEGMENTS dan DBA_EXTENTS. DBA_SEGMENTS menyediakan informasi tentang masing-masing segmen, atau objek dalam database seperti alokasi penyimpanan, ruang digunakan, dan luasan. Setiap kali sebuah tabel atau indeks tumbuh dan harus mengambil lebih banyak tempat seperti yang telah diidentifikasi oleh NEXT_EXTENT, meja mengambil sejauh lain. tabel biasanya menjadi terpecah ketika tumbuh dengan cara ini.DBA_EXTENTS menyediakan informasi tentang masing-masing segmen tingkat.
INPUT:
SQL> SELECT SUBSTR(SEGMENT_NAME,1,30) SEGMENT_NAME,
2 SUBSTR(SEGMENT_TYPE,1,12) SEGMENT_TYPE,
3 BYTES,
4 EXTENTS,
5 FROM SYS.DBA_SEGMENTS
6 WHERE OWNER = 'TWILLIAMS'
7 AND ROWNUM < 5;
OUTPUT:
SEGMENT_NAME SEGMENT_TYPE BYTES EXTENTS
------------------------------ ------------ ---------- ----------
INVOICE_TBL TABLE 163840 10
COMPLAINT_TBL TABLE 4763783 3
HISTORY_TBL TABLE 547474996 27
HISTORY_INX INDEX 787244534 31
4 rows selected.
ANALISIS:
Dengan melihat output dari DBA_SEGMENTS, Anda dapat dengan mudah mengidentifikasi tabel yang paling mengalami pertumbuhan dengan mengacu pada jumlah luasan. Kedua HISTORY_TBL dan HISTORY_INXhave tumbuh lebih dari dua tabel lainnya.
Selanjutnya Anda dapat melihat setiap tingkat salah satu meja. Anda bisa mulai dengan INVOICE_TBL.
INPUT / OUTPUT:
SQL> SELECT SUBSTR(OWNER,1,10) OWNER, 2 SUBSTR(SEGMENT_NAME,1,30) SEGMENT_NAME, 3 EXTENT_ID, 4 BYTES 5 FROM SYS.DBA_EXTENTS 6 WHERE OWNER = 'TWILLIAMS' 7 AND SEGMENT_NAME = 'INVOICE_TBL' 8 ORDER BY EXTENT_ID; OWNER SEGMENT_NAME EXTENT_ID BYTES ---------- ------------------------------ ---------- -------- TWILLIAMS INVOICE_TBL 0 16384 TWILLIAMS INVOICE_TBL 1 16384 TWILLIAMS INVOICE_TBL 2 16384 TWILLIAMS INVOICE_TBL 3 16384 TWILLIAMS INVOICE_TBL 4 16384 TWILLIAMS INVOICE_TBL 5 16384 TWILLIAMS INVOICE_TBL 6 16384 TWILLIAMS INVOICE_TBL 7 16384 TWILLIAMS INVOICE_TBL 8 16384 TWILLIAMS INVOICE_TBL 9 16384 10 rows selected.
ANALISIS:
Contoh ini menampilkan setiap tingkat meja, extent_id, dan ukuran sejauh dalam bytes. Setiap tingkat hanya 16K, dan karena ada 10 luasan, Anda mungkin ingin untuk membangun kembali meja dan meningkatkan ukuran initial_extent untuk mengoptimalkan penggunaan ruang.Membangun kembali meja akan memungkinkan semua data tabel untuk masuk ke tingkat satu, dan karenanya, tidak terpecah-pecah.
Ruang yang dialokasikan
Oracle mengalokasikan ruang untuk basis data dengan menggunakan “file data.” Ruang secara logis ada dalam tablespace, tapi file data adalah entitas fisik tablespace. Dalam implementasi lain, data juga akhirnya terdapat dalam file data, meskipun file-file data dapat dirujuk oleh nama lain. Tampilan disebut DBA_DATA_FILES memungkinkan Anda untuk melihat apa sebenarnya dialokasikan untuk sebuah tablespace.
INPUT / OUTPUT:
SQL> SELECT SUBSTR(TABLESPACE_NAME,1,25) TABLESPACE_NAME, 2 SUBSTR(FILE_NAME,1,40) FILE_NAME, 3 BYTES 4 FROM SYS.DBA_DATA_FILES; TABLESPACE_NAME FILE_NAME BYTES ------------------------- ---------------------------------------- ---------- SYSTEM /disk01/system0.dbf 41943040 RBS /disk02/rbs0.dbf 524288000 TEMP /disk03/temp0.dbf 524288000 TOOLS /disk04/tools0.dbf 20971520 USERS /disk05/users0.dbf 20971520 DATA_TS /disk06/data0.dbf 524288000 INDEX_TS /disk07/index0.dbf 524288000 7 rows selected.
ANALISIS:
Anda sekarang dapat melihat berapa banyak ruang telah dialokasikan untuk setiap tablespace yang ada di database. Perhatikan nama file data sesuai dengan tablespace yang mereka milik.
Space Available
Sebagai contoh berikut menunjukkan, tampilan DBA_FREE_SPACE memberitahu Anda berapa banyak ruang kosong tersedia dalam tablespace masing-masing.
INPUT:
SQL> SELECT TABLESPACE_NAME, SUM(BYTES)
2 FROM SYS.DBA_FREE_SPACE
3 GROUP BY TABLESPACE_NAME;
OUTPUT:
TABLESPACE_NAME SUM(BYTES) ------------------------------ ---------- SYSTEM 23543040 RBS 524288000 TEMP 524288000 TOOLS 12871520 USERS 971520 DATA_TS 568000 INDEX_TS 1288000 7 rows selected.
ANALISIS:
The preceding example lists the total free space for each tablespace. You can also view each segment of free space by simply selecting bytes from DBA_FREE_SPACE instead of SUM(bytes) .
Rollback Segments
Sebagai daerah untuk menggulingkan transaksi adalah bagian penting untuk kinerja database, Anda perlu tahu apa segmen rollback yang tersedia.DBA_ROLLBACK_SEGS menyediakan informasi ini.
INPUT:
SQL> SELECT OWNER,
2 SEGMENT_NAME
3 FROM SYS.DBA_ROLLBACK_SEGS;
OUTPUT:
OWNER SEGMENT_NAME ------ ------------ SYS SYSTEM SYS R0 SYS R01 SYS R02 SYS R03 SYS R04 SYS R05 7 baris yang dipilih.
ANALISIS:
Contoh ini melaksanakan pilih sederhana untuk daftar segmen rollback semua nama. Jauh lebih banyak data yang tersedia untuk evaluasi Anda.
Dynamic Performance Views
Oracle DBAs dilihat kinerja sering mengakses dinamis karena mereka memberikan detail yang lebih besar tentang ukuran kinerja internal dari banyak data lainnya dilihat kamus. (Pandangan DBA mengandung beberapa informasi yang sama.)
Pandangan ini melibatkan rincian luas, yang merupakan implementasi khusus. Bagian ini hanya menyediakan tinjauan tentang jenis informasi sebuah kamus berisi data yang diberikan.
Sesi Informasi
Sebuah perintah DESCRIBE V SESI $ dilihat berikut. (DESCRIBE adalah perintah SQL * Plus dan akan dibahas pada Hari 20) Anda bisa melihat detail yang terdapat di dalam view..
INPUT:
SQL> DESCRIBE V$SESSION
OUTPUT:
Nama Null? Type ------------------------------ ------- ---- SADDR RAW(4) SID NUMBER SERIAL# NUMBER AUDSID NUMBER PADDR RAW(4) USER# NUMBER USERNAME VARCHAR2(30) COMMAND NUMBER TADDR VARCHAR2(8) LOCKWAIT VARCHAR2(8) STATUS VARCHAR2(8) SERVER VARCHAR2(9) SCHEMA# NUMBER SCHEMANAME VARCHAR2(30) OSUSER VARCHAR2(15) PROCESS VARCHAR2(9) MACHINE VARCHAR2(64) TERMINAL VARCHAR2(10) PROGRAM VARCHAR2(48) TYPE VARCHAR2(10) SQL_ADDRESS RAW(4) SQL_HASH_VALUE NUMBER PREV_SQL_ADDR RAW(4) PREV_HASH_VALUE NUMBER MODULE VARCHAR2(48) MODULE_HASH NUMBER ACTION VARCHAR2(32) ACTION_HASH NUMBER CLIENT_INFO VARCHAR2(64) FIXED_TABLE_SEQUENCE NUMBER ROW_WAIT_OBJ# NUMBER ROW_WAIT_FILE# NUMBER ROW_WAIT_BLOCK# NUMBER ROW_WAIT_ROW# NUMBER LOGON_TIME DATE LAST_CALL_ET NUMBER
To get information about current database sessions, you could write a SELECT statement similar to the one that follows from V$SESSION.
INPUT / OUTPUT:
SQL> SELECT USERNAME, COMMAND, STATUS 2 FROM V$SESSION 3 WHERE USERNAME IS NOT NULL; USERNAME COMMAND STATUS ------------------------------ ---------- -------- TWILLIAMS 3 ACTIVE JSMITH 0 INACTIVE 2 rows selected.
ANALISIS:
TWILLIAMS ini login ke database dan melakukan pilih dari database, yang diwakili oleh perintah 3.
JSMITH hanyalah login ke database. sesi-Nya tidak aktif, dan ia tidak melakukan semua jenis perintah. Lihat dokumentasi database anda untuk mengetahui bagaimana perintah yang diidentifikasi dalam kamus data. Perintah termasuk SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, dan DROP TABLE.
Statistik Kinerja
Data statistik mengenai kinerja luar wilayah sesi pengguna juga tersedia dalam data kamus.Jenis data yang lebih spesifik dari implementasi pandangan lain yang dibahas hari ini.
Statistik Kinerja meliputi data seperti membaca / menulis tingkat, hit sukses pada tabel, gunakan sistem area global, penggunaan cache memori, informasi kembalikan segmen rinci, informasi transaksi log rinci, dan kunci meja dan menunggu. Pengetahuan baik tentang hampir tak berdasar.
Rencana Tabel
Tabel Rencana adalah tabel default yang digunakan dengan alat pernyataan Oracle SQL, MENJELASKAN RENCANA. (Lihat Hari 15) Tabel ini. Dibuat oleh Oracle disebut script UTLXPLAN.SQL, yang disalin ke server bila perangkat lunak telah diinstal. Data yang dihasilkan oleh alat RENCANA MENJELASKAN, yang Mempopulai RENCANA meja dengan informasi tentang objek yang sedang diakses dan langkah-langkah dalam rencana pelaksanaan pernyataan SQL.
Ringkasan
Meskipun rincian dari kamus data bervariasi dari satu implementasi ke yang lain, konten tetap konseptual sama pada semua database relasional. Anda harus mengikuti aturan sintaks dan sistem manajemen database, tapi contoh hari ini akan memberikan Anda kepercayaan diri untuk permintaan data kamus Anda dan untuk menjadi kreatif ketika melakukan itu.
Catatan: Menjelajahi kamus data petualangan, dan Anda akan perlu untuk mengeksplorasi untuk belajar untuk menggunakannya secara efektif.
1. Dalam Oracle, bagaimana Anda bisa mencari tahu apa tabel dan tampilan Anda sendiri?
2. Jenis informasi yang disimpan dalam kamus data?
3. Bagaimana Anda bisa menggunakan statistik kinerja?
4. Apa sajakah objek database?
Sumber ; http://www.webbasedprogramming.com
Tinggalkan komentar