2016-04-29 6 views
0

Я использую функцию dbms_crypto.encrypt в моей процедуре оракула для шифрования паролей. Я подключился к оракулу, как:Предоставление разрешения для dbms_crypto

connect sqlplus as sysdba 

, а затем получил разрешение как:

grant execute on sys.dbms_crypto to myuser; 

И тогда я могу использовать DBMS_CRYPTO в моей процедуре. Но я хотел бы знать, как я могу проверить в моей базе данных, предоставляются ли разрешения или нет для dbms_crypto? Потому что я должен использовать эту процедуру в другой базе данных и не знаю, имеет ли эта база данных разрешение или нет для dbms_crypto.

ответ

2

Вы можете получить все привилегии на DBMS_CRYPTO с этим:

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

В результате в изображении говорит, что USER_ABCD имеет привилегию выполнения пакета SYS.DBMS_CRYPTO, и эта привилегия была дана SYS пользователем.

+0

, пожалуйста, проверьте мой вопрос, я получаю вывод, как указано в диаграмме. Что это значит ? Означает ли это, что у USER_ABCD есть разрешение для dbms_crypto? – Andrew

+0

ok И имеет ли оракул разрешение разрешения dbms_crypto по умолчанию, когда оно установлено? – Andrew

+0

ОК я понял теперь спасибо :) – Andrew

Смежные вопросы