2011-05-20 62 views
1

我需要做的是創建oracle用戶,該用戶只能看到沒有主體的過程和函數頭。創建只能看到過程標題的Oracle用戶

任何想法我可以實現,應該設置什麼樣的特權?

+0

用戶應該能夠執行這些程序和功能嗎? – 2011-05-20 08:28:06

+0

這甚至可能嗎? – 2011-05-20 08:32:54

回答

3

創建具有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; 

更新:這不會與包裝的功能和程序的工作。我不認爲你可以將標題和正文與常規函數/過程分開。

如果您使用常規功能和過程,您可以授予選擇dba_arguments,這將使您可以訪問所有功能/過程參數。

0

我不確定這是否可能。作爲一種解決方法,您可以在用戶有權訪問的模式中創建「外觀」過程,然後將該工作委託給另一個模式中的過程,以供用戶無法訪問。但這是對數據庫設計的一種非常干擾性的修改。

+0

其實我正在爲我們的提供商尋找這個解決方案。我們對這個數據庫有訪問權限,我們可以通過DBLINK調用過程,但是我們看不到任何包,我們想出了一個想法,我們的提供者可以爲我們創建另一個只能看到標題的用戶。 – shin 2011-05-20 08:39:23

相關問題