2014-10-07 38 views

回答

0
-- As sysdba: 
-- 1) create an user account 
create user <username> identified by <password>; 
-- 2) allow user to log in 
grant create session to <username>; 
-- 3) allow user to execute a single procedure in other schema 
grant execute on <other_schema.procedure_name> to <username>; 
+0

感謝您的回答 – 2014-10-09 03:11:23

+0

我試圖創建用戶這種方式,甚至執行'授予選擇任何表到RO_USER'命令,但是每當我執行'選擇*從

和USER =' RO_USER'',我什麼也沒得到,任何幫助/輸入 – user13285722015-06-26 07:29:04

0

從SYSDBA用戶登錄(從創建用戶),請提供以下補助:

GRANT EXECUTE ANY PROCEDURE TO user; 
GRANT SELECT ANY TABLE TO user; 

其中user =用戶名剛創建。

然後,爲了確保用戶只讀取權限,請檢查session_privs他沒有任何其他特權,特別是任何「創建」特權。爲此,請運行:

select * from session_privs; 

您剛創建的用戶。

+0

它的工作原理,但該用戶傾斜查看任何程序或功能 – 2014-10-07 06:38:49

+0

,我不認爲有任何seprate特權「查看」任何程序本身。你如何試圖查看程序/功能?你使用哪種工具? – Arnab 2014-10-07 06:56:51

+0

作爲事後的想法,也可能需要'選擇任何表'資助。更新回答 – Arnab 2014-10-07 07:06:47