Hari ini, saya melihat kemampuan untuk menanyakan waktu login terakhir pengguna. Sebelum 12c, seseorang harus membuat pemicu masuk untuk menyimpan waktu masuk dalam tabel atau mengatur audit dan mengaudit login yang berhasil. Sekarang, Oracle 12c menyertakan, secara default, cara untuk menentukan kapan terakhir kali seseorang login.
SQL> show userUSER is "SYS"SQL> pilih username,last_login from dba_users2 di mana last_login is not null;USERNAME LAST_LOGIN----------------------- ------- ---------------------------------------- SISTEM 30- JUL-13 01.57.19.000000000 PM -05:00PEASLAND 31-JUL-13 02.15.38.00000000 PM -05:00
Seperti yang Anda lihat, saya memiliki dua pengguna yang telah masuk ke database dan tanggal/waktu terakhir mereka masuk. Satu hal yang saya perhatikan adalah bahwa meskipun saya terhubung sebagai pengguna SYS, kolom ini tidak diisi untuk SYS.
Saat menyelidiki tampilan DBA_USERS, saya melihat bahwa selain kolom LAST_LOGIN, ada juga 3 kolom baru lainnya untuk tampilan Kamus Data, hanya satu yang pernah saya baca sebelumnya, ORACLE_MAINTAINED. Kolom ORACLE_MAINTAINED akan menunjukkan nilai Y jika pengguna dibuat oleh Oracle dan berbagai skripnya. Saat ini dalam database pengujian saya, saya hanya memiliki satu pengguna seperti itu.
SQL> pilih nama pengguna dari dba_users di mana Oracle_maintained<>'Y';USERNAME------------------------------PEASLAND Satu kolom baru yang belum pernah saya baca sebelumnya adalah pengguna PROXY_ONLY_CONNECT. Tampilan ini memungkinkan Anda melihat apakah pengguna mengizinkan koneksi proxy. Jika Anda tidak terbiasa dengan koneksi proxy, ini mungkin membantu menjelaskannya. Untuk informasi selengkapnya, kunjungi Panduan Referensi SQL untuk ALTER USER dan telusuri “proxy_clause”. Kolom baru terakhir di DBA_USERS adalah UMUM. Saya tidak tahu untuk apa kolom ini jadi pemberhentian pertama saya adalah Panduan Referensi untuk DBA_USERS. Deskripsi untuk kolom adalah "Menunjukkan apakah pengguna tertentu adalah umum". Oke….apa maksudnya? Apa yang mendefinisikan pengguna umum? Jika saya menanyakan database pengujian saya, saya mendapatkan output berikut:SQL> select username,common,oracle_maintained from dba_users;USERNAME COM O-------------------- ---------- --- -Peasland Tidak ada naudsys ya ygsmuser Ya ysyskm ya yxs $ null yes yojvmsys ya yoracle_ocm ya ysysdg ya ydip ya ysysbackup ya ygsmcatuser ya ygsmadmin_internal ya yappqoss yes yes yxdb yxymous YSYS YA SISTEM YA KAMU > YA Y