Предоставить разрешение для dbms_crypto
Я использую функцию dbms_crypto.encrypt в моей процедуре оракула для шифрования паролей. Я подключился к оракулу как:
connect sqlplus as sysdba
а затем предоставил разрешение как:
grant execute on sys.dbms_crypto to myuser;
И тогда я могу использовать dbms_crypto в моей процедуре. Но я хотел бы знать, как я могу проверить в своей базе данных, предоставлено ли разрешение для dbms_crypto или нет? Потому что я должен использовать эту процедуру в другой базе данных и не знаю, имеет ли эта база данных разрешение на передачу или нет для dbms_crypto.
1 ответ
Решение
Вы можете получить все привилегии на DBMS_CRYPTO
с этим:
select *
from dba_tab_privs
where table_name = 'DBMS_CRYPTO'
and owner = 'SYS';
Результат на вашем изображении говорит о том, что USER_ABCD
имеет право выполнять пакет SYS.DBMS_CRYPTO
и эта привилегия была предоставлена SYS
пользователь.