Oracle
 sql >> Baza danych >  >> RDS >> Oracle

12c Zmiany DBA_USERS

Dzisiaj przyglądałem się możliwości zapytania o czas ostatniego logowania użytkownika. Przed 12c trzeba było utworzyć wyzwalacz logowania do przechowywania czasu logowania w tabeli lub skonfigurować inspekcję i inspekcję udanych logowań. Teraz Oracle 12c domyślnie umożliwia określenie ostatniego logowania.

SQL> pokaż userUSER to "SYS"SQL> select username,last_login z dba_users2  gdzie last_login nie ma wartości NULL;USERNAME                       LAST_LOGIN--------------------------- ------- ----------------------------------------SYSTEM                         30- LIP-13 01.57.1900000000 -15:00 GROSZ                       31-LIP-13 02.15.380.000000000 -05:00

Jak widać, mam dwóch użytkowników, którzy zalogowali się do bazy danych i datę/godzinę ostatniego logowania. Zauważyłem, że chociaż jestem podłączony jako użytkownik SYS, ta kolumna nie jest wypełniona dla SYS.

Badając widok DBA_USERS, widzę, że oprócz kolumny LAST_LOGIN są też 3 inne nowe kolumny w widoku Data Dictionary, z których tylko jedna, o której wcześniej czytałem, ORACLE_MAINTAINED. Kolumna ORACLE_MAINTAINED wskaże wartość Y, jeśli użytkownik został utworzony przez Oracle i jego różne skrypty. Obecnie w mojej testowej bazie danych mam tylko jednego takiego użytkownika.

SQL> wybierz nazwę użytkownika z dba_users, gdzie oracle_maintained<>'Y';NAZWA UŻYTKOWNIKA------------------------------PESLAND
Jedna nowa kolumna, o której wcześniej nie czytałem, to użytkownik PROXY_ONLY_CONNECT. Ten widok pozwala sprawdzić, czy użytkownik zezwoli na połączenia proxy. Jeśli nie znasz połączeń proxy, może to pomóc w wyjaśnieniu tego. Aby uzyskać więcej informacji, zapoznaj się z podręcznikiem SQL Reference Guide dla ALTER USER i wyszukaj „proxy_clause”. Ostatnia nowa kolumna w DBA_USERS to COMMON. Nie miałem pojęcia, do czego służy ta kolumna, więc moim pierwszym przystankiem był Przewodnik informacyjny dla DBA_USERS. Opis kolumny to „Wskazuje, czy dany użytkownik jest wspólny”. Ok….co to znaczy? Co definiuje zwykłego użytkownika? Jeśli wysyłam zapytanie do testowej bazy danych, otrzymuję następujące dane wyjściowe:
SQL> select username,common,oracle_maintained from dba_users;USERNAME                       COM O-------------------- ---------- --- -papeasland Nie Naudsys Tak ygsmuser Tak ysyskm TAK Czy zatem utrzymywany jest „wspólny” użytkownik, którym jest Oracle? Jeśli tak, czy kolumny COMMON i ORACLE_MAINTAINED nie są zbędne? Wątpię, aby Oracle zawierał dwie kolumny, które oznaczają to samo. Zacząłem więc szukać odpowiedzi… W Przewodniku administratora znajduje się mała sekcja zatytułowana „Zwykli użytkownicy i użytkownicy lokalni”. Wspólny użytkownik to taki, który jest wspólny dla kontenerowej bazy danych oraz wszystkich istniejących i przyszłych podłączanych baz danych w nowej wielodostępnej architekturze bazy danych Oracle 12c. Teraz ma to sens. 
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak usunąć zero, gdy część całkowita to zero w Oracle?

  2. kopiuj z jednej bazy danych do drugiej za pomocą programisty Oracle sql - połączenie nie powiodło się

  3. Instalowanie klienta Oracle Instant

  4. Dlaczego Oracle wyświetla ??? dla znaków specjalnych, takich jak åäö

  5. Jak wyodrębnić numer tygodnia w sql