エクスポート/インポート操作の前に、SYSおよびSYSDBA権限を持つユーザーを知りたい。
たくさん検索しましたが見つかりませんでした。
あなたの質問として:
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 blog
sysdbaを使用してユーザーをここに表示
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
ここ
SYS権限はありませんが、SYSユーザーが存在します。 SYSDBA権限を持つユーザーをリストするには、次のクエリを使用します。
SQL> conn sys/password as sysdba SQL> SELECT * FROM v $ pwfile_users;
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