Oracleのディフォルトユーザーなどの利用していないアカウントを無効にして権限の確認。
■ CREATE SESSION出来ないように設定
SQL> REVOKE CONNECT FROM DBSNMP;
取消しが成功しました。
SQL> SELECT USERNAME, PROFILE, ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME = ‘DBSNMP’;
USERNAME PROFILE ACCOUNT_STATUS
—————————— —————————— ——————————–
DBSNMP DEFAULT OPEN
■ アカウントの無効化
SQL> ALTER USER DBSNMP ACCOUNT LOCK PASSWORD EXPIRE;
ユーザーが変更されました。
■ アカウントがOPENになって無い事を確認
SQL> SELECT USERNAME, PROFILE, ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME = ‘DBSNMP’;
USERNAME PROFILE ACCOUNT_STATUS
—————————— —————————— ——————————–
DBSNMP DEFAULT EXPIRED & LOCKED
■ 権限の確認
SQL> SELECT LPAD(‘ ‘, 2*level) || granted_role “USER PRIVS”
2 FROM (
3 SELECT NULL grantee, username granted_role
4 FROM dba_users
5 WHERE username LIKE UPPER(‘DBSNMP’)
6 UNION
7 SELECT grantee, granted_role
8 FROM dba_role_privs
9 UNION
10 SELECT grantee, privilege
11 FROM dba_sys_privs)
12 START WITH grantee IS NULL
13 CONNECT BY grantee = prior granted_role;
USER PRIVS
—————————————————————————————————-
DBSNMP
SELECT ANY DICTIONARY
SQL>