以下のコマンドを実行して、特定のSPを実行するためのユーザーのアクセス許可を取り消します。
REVOKE EXECUTE ON SOME.SP_NAME FROM SOME_USER;
実行権限が正常に取り消されたかどうかを調べるクエリが必要です。
現在の権限の1つではないことを視覚的に確認できるように、すべての権限SOME_USER
が設定されていることを示すクエリはありますか。SOME.SP_NAME
EXECUTE
以下のコマンドを実行して、特定のSPを実行するためのユーザーのアクセス許可を取り消します。
REVOKE EXECUTE ON SOME.SP_NAME FROM SOME_USER;
実行権限が正常に取り消されたかどうかを調べるクエリが必要です。
現在の権限の1つではないことを視覚的に確認できるように、すべての権限SOME_USER
が設定されていることを示すクエリはありますか。SOME.SP_NAME
EXECUTE
select * from all_tab_privs where grantee = 'SOME_USER' and table_name = 'SP_NAME' and table_schema = 'SOME'
編集:
ALL_TAB_PRIVSは正常に機能します。これが私自身のセッションです:
SQL> create procedure myproc is begin null; end;
2 /
Procedure created.
SQL> grant execute on myproc to x11414;
Grant succeeded.
SQL> select * from all_tab_privs where table_name = 'MYPROC';
GRANTOR GRANTEE
------------------------------ ------------------------------
TABLE_SCHEMA TABLE_NAME
------------------------------ ------------------------------
PRIVILEGE GRA HIE
---------------------------------------- --- ---
W13582 X11414
W13582 MYPROC
EXECUTE NO NO
SQL> revoke execute on myproc from x11414;
Revoke succeeded.
SQL> select * from all_tab_privs where table_name = 'MYPROC';
no rows selected
編集#2:DBA_TAB_PRIVSにアクセスできる場合は、DBA_TAB_PRIVSの方が適している可能性があります。ALL_TAB_PRIVSは以下に制限されています:
ユーザーが付与者、被付与者、所有者、または有効な役割であるか、PUBLICが被付与者であるオブジェクトに対する付与