web-dev-qa-db-ja.com

dbms_cryptoに権限を付与する

パスワードの暗号化のために、Oracleプロシージャでdbms_crypto.encrypt関数を使用しています。私は次のようにOracleに接続しました:

connect sqlplus as sysdba

そして、次のように許可を与えました:

grant execute on sys.dbms_crypto to myuser;

そして、プロシージャでdbms_cryptoを使用できます。しかし、dbms_cryptoにアクセス許可が付与されているかどうかをデータベースで確認するにはどうすればよいですか?別のデータベースでこの手順を使用する必要があり、そのデータベースにdbms_cryptoの許可が付与されているかどうかがわからないためです。

4
Andrew

これにより、DBMS_CRYPTOのすべての特権を取得できます。

select *
from dba_tab_privs
where table_name = 'DBMS_CRYPTO'
  and owner = 'SYS';

画像の結果は、USER_ABCDがパッケージSYS.DBMS_CRYPTOを実行する特権を持っており、この特権がSYSユーザーによって与えられたことを示しています。

5
Aleksej