Oracle

如何查找 SYS 特權使用者

  • December 7, 2020

我想知道在導出/導入操作之前哪些使用者具有 SYS 和 SYSDBA 權限。

我搜尋了很多,但我找不到。

對於你的問題:

我想知道在導出/導入操作之前哪些使用者具有 SYS 和 SYSDBA 權限。

SYSDBA 是一個角色,而不是使用者或模式。SYSDBA 角色類似於 unix 上的“root”或 Windows 上的“管理員”。它看到了一切,可以做一切。在內部,如果您以 sysdba 身份連接,您的模式名稱將顯示為 SYS。

根據Burleson 諮詢部落格,該v$pwfile_users視圖包含已被授予 SYSDBA 或 SYSOPER 角色的所有使用者的列表。

SQL> desc v$pwfile_users;

Name Null?  Type
----------------------------------------- -------- ----------------------------
USERNAME    VARCHAR2(30)
SYSDBA      VARCHAR2(5)
SYSOPER     VARCHAR2(5)
SYSASM      VARCHAR2(5)

SQL> 
SQL> select * from v$pwfile_users;

USERNAME                       SYSDB SYSOP SYSAS 
------------------------------ ----- ----- ----- 
SYS                            TRUE TRUE FALSE 
TOM                            TRUE FALSE FALSE

在 11g 中有一個v$pwfile_users用於 SYSASM 權限的新列:

SYS AS SYSDBA @ orcl11 SQL> select * from v$pwfile_users;

USERNAME SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS TRUE TRUE FALSE

有關詳細資訊,請參閱此Tom Kyte 文章。%3A%3AP11_QUESTION_ID:2659418700346202574">此處

沒有 SYS 權限,而是有 SYS 使用者。要列出具有 SYSDBA 權限的使用者,請使用以下查詢。

SQL>conn sys/password as sysdba
SQL>SELECT * FROM v$pwfile_users;

引用自:https://dba.stackexchange.com/questions/131406