我在oracle程序中使用dbms_crypto.encrypt函数来加密密码。我已经连接到oracle:
connect sqlplus as sysdba
然后授予以下权限:
grant execute on sys.dbms_crypto to myuser;
然后我可以在我的程序中使用dbms_crypto。但我想知道如何检查我的数据库是否授予dbms_crypto权限?因为我必须在另一个数据库中使用此过程,并且不知道该数据库是否具有dbms_crypto的授予权限。
答案 0 :(得分:3)
您可以使用以下内容获取DBMS_CRYPTO
的所有权限:
select *
from dba_tab_privs
where table_name = 'DBMS_CRYPTO'
and owner = 'SYS';
图片中的结果显示USER_ABCD
有权执行包SYS.DBMS_CRYPTO
,此权限由SYS
用户提供。