web-dev-qa-db-ja.com

SYS特権ユーザーを見つける方法

エクスポート/インポート操作の前に、SYSおよびSYSDBA権限を持つユーザーを知りたい。

たくさん検索しましたが見つかりませんでした。

1
john true

あなたの質問として:

I want to know which users have SYS and SYSDBA privilege before export/import operation.

SYSDBAはロールです-それらはユーザーではなく、スキーマではありません。 SYSDBAロールは、UNIXでは「root」、Windowsでは「Administrator」のようなものです。それはすべてを見て、すべてを行うことができます。内部的には、sysdbaとして接続する場合、スキーマ名はSYSと表示されます。

Burleson consulting blogsysdbaを使用してユーザーをここに表示

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ここ

1

SYS権限はありませんが、SYSユーザーが存在します。 SYSDBA権限を持つユーザーをリストするには、次のクエリを使用します。

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

ADMINがユーザーに付与されたDBA権限を取り消そうとした状況は数多くあります。以下のクエリを使用すると、 Oracle でdbaロールを持つユーザーを見つけることができます。

SQL> select * from dba_role_privs where granted_role='DBA';
GRANTEE   GRANTED_ROLE ADM DEF
--------- ------------ --- ---
SYS       DBA          YES YES
SYSTEM    DBA          YES YES
0
santosh