亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

執行oracle xml函數需要哪些權限?

執行oracle xml函數需要哪些權限?

Helenr 2019-05-25 15:11:00
執行oracle xml函數需要哪些權限
查看完整描述

4 回答

?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

這是oracle的an quan 機制,在存儲過程或者函數中調用其他用戶下的過程、表、函數等 一定要顯式fu quan才可以,利用角色fu quan是不可以的。
因此:
為什么我在B用戶下查詢A用戶的表,用sql語句可以直接查
===這個是角色fu quan導致的,比如B用戶有數據庫管理員角色

查看完整回答
反對 回復 2019-05-26
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

1、把這個函數的訪問權限付給其它用戶。grant execute on 函數名 to 其它用戶。
其它用戶調用函數時,前面要加上創建用戶名 如:a創建函數 getFunction 。 b調用的時候為a.getFunction.
2、可以把函數建成全局函數。

查看完整回答
反對 回復 2019-05-26
?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

同一個包,在相同的用戶下的匿名程序塊中可以執行,但是在存儲過程中卻沒有權限執行,查了下資料,一些DBMS_開頭的pkg在pl/sql中用到的時候,需要顯示的執行
grant execute on dbms_xxxx to xxx 來賦下權限才可以。此外這個授權system用戶是沒有權限的,要sys 或者plsql / as dba登錄才有權限授權。
授權以后可以看到:
SYSTEM@RACTEST> select grantee,owner,table_name,grantor,privilege from dba_tab_privs where table_name like 'DBMS_LOCK';

GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE
-------------------- ---------- ---------- ---------- ----------
EXECUTE_CATALOG_ROLE SYS DBMS_LOCK SYS EXECUTE
DMSYS SYS DBMS_LOCK SYS EXECUTE
CTXSYS SYS DBMS_LOCK SYS EXECUTE
EXFSYS SYS DBMS_LOCK SYS EXECUTE
MDSYS SYS DBMS_LOCK SYS EXECUTE
OLAPSYS SYS DBMS_LOCK SYS EXECUTE
SYSMAN SYS DBMS_LOCK SYS EXECUTE
ETL SYS DBMS_LOCK SYS EXECUTE

8 rows selected.

然后再次執行:
SYSTEM@RACTEST> CREATE OR REPLACE PROCEDURE etl.pliutest
2 authid current_user
3 AS
4 BEGIN
5 DBMS_LOCK.sleep(1);
6 END;
7 /

Procedure created.

OK了!

查看完整回答
反對 回復 2019-05-26
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

這是oracle的an quan 機制,在存儲過程或者函數中調用其他用戶下的過程、表、函數等 一定要顯式fu quan才可以,利用角色fu quan是不可以的。
因此:
為什么我在B用戶下查詢A用戶的表,用sql語句可以直接查
===這個是角色fu quan導致的,比如B用戶有數據庫管理員角色

查看完整回答
反對 回復 2019-05-26
  • 4 回答
  • 0 關注
  • 859 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號