Создание пользователя Oracle, который будет видеть только заголовки процедур - PullRequest
1 голос
/ 20 мая 2011

Что мне нужно сделать, так это создать пользователя-оракула, который будет видеть только заголовки процедур и функций без тел.

Есть идеи, как этого добиться, какие привилегии нужно установить?

Ответы [ 2 ]

3 голосов
/ 20 мая 2011

Создание представления с учетной записью DBA и предоставление SELECT для этого представления должно работать:

CREATE VIEW dba_source_pkg_headers AS
SELECT *
  FROM dba_source
 WHERE type = 'PACKAGE';

GRANT select ON dba_source_pkg_headers TO your_user;

обновление: это не будет работать с неупакованными функциями и процедурами. Я не думаю, что вы можете разделить заголовок и тело с помощью обычных функций / процедур.

Если вы используете обычные функции и процедуры, вы можете предоставить select на dba_arguments, это даст вам доступ ко всем параметрам функции / процедуры.

0 голосов
/ 20 мая 2011

Я не уверен, возможно ли это вообще.В качестве обходного пути вы можете создать «фасадные» процедуры в схеме, к которой у вашего пользователя есть доступ, а затем делегировать работу процедурам в другой схеме, к которой у вашего пользователя нет доступа.Но это довольно навязчивое изменение в дизайне вашей базы данных.

...