當前位置:首頁 » 存儲配置 » oracle存儲過程的執行許可權

oracle存儲過程的執行許可權

發布時間: 2022-06-27 02:00:32

1. Oracle對於表,存儲過程對象都分別有哪些操作許可權

table:select insert update delete alter references
procere:execute debug

2. oracle賦權調用存儲過程

首先,需要resource,connect

grant resource,connect to guest;

然後賦予 執行許可權(對每一個存儲過程授權):
grant execute on cache.xxxxxx to guest

3. oracle存儲過程執行許可權和表修改許可權無關

不能!
除非你的存儲過程中定義了
CREATE OR REPLACE procere XXXXX AUTHID CURRENT_USER AS.

你可以這樣去想,如果存儲過程是張三的,表也是張三的,那麼李四進去後,修改的是李四下面的table001還是張三下面的table001呢?所以,除非他有張三的許可權才行

4. oracle存儲過程許可權

用exec scott.cuilin()調用應該是可以,如果有問題貼一下報錯。

5. 如何在Oracle的存儲過程中擁有role許可權

很多人都有這樣的了解,用戶擁有的role許可權在存儲過程是不可用的。示例:
SQL> select * from dba_role_privs where grantee='SUK';
GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE
--------- ------------ ------------ ------------
SUK DBA NO YES
SUK CONNECT NO YES
SUK RESOURCE NO YES
用戶SUK擁有DBA這個role.
下面我們繼續創建一個測試存儲過程:
create or replace procere p_create_table
is
begin
Execute Immediate 'create table create_table(id int)';
end p_create_table;
測試:
SQL> exec p_create_table;
begin p_create_table; end;
ORA-01031: 許可權不足
ORA-06512: 在"SUK.P_CREATE_TABLE", line 3
ORA-06512: 在line 1
可以看到,即使擁有DBA role,也不能創建表。role在存儲過程中不可用。
遇到
這種情況,我們一般需要顯式進行系統許可權,如grant create table to suk;
但這種方法太麻煩,有時候可能需要進行非常多的授權才能執行存儲過程
實際上,oracle給我們提供了在存儲過程中使用role許可權的方法:
修改存儲過程,加入Authid Current_User時存儲過程可以使用role許可權。
create or replace procere p_create_table
Authid Current_User is
begin
Execute Immediate 'create table create_table(id int)';
end p_create_table;
然後繼續嘗試執行:
SQL> exec p_create_table;
PL/SQL procere successfully completed
至此即可以執行了。

6. oracle 存儲過程 許可權問題 PL/SQL: ORA-01031: 許可權不足

許可權不足就是說你還沒有連接到伺服器,或者你連接過了又斷開了,再次連接上了就該不會出現許可權問題。

7. 如何在oracle中指定某個存儲過程的修改、執行許可權給另一用戶

不能調用存儲過程,調用存儲過程需要execute any procere 許可權才行。
CONNECT角色: --是授予最終用戶的典型權利,最基本的
ALTER SESSION --修改會話
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立資料庫鏈接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立會話
CREATE SYNONYM --建立同義詞
CREATE VIEW --建立視圖

8. oracle怎麼只給存儲過程授權執行許可權不給看的許可權

存儲過程的相關許可權一共只有兩個,一個是excute許可權,還有一個是debug許可權。
按照你的說法就是只給excute的許可權,不給debug許可權,因為沒試過這樣能不能查看,所以你要自己試驗下才行。

9. oracle存儲過程許可權問題

你可能需確認的是,存儲過程和手動刪除的表是否為同一支表?

存儲過程的Owner只要具備該表的drop等許可權就可以刪除之。

10. oracle 測試存儲過程 是哪個許可權

Oracle規定,在默認的情況下,在調用存儲過程用戶的角色不起作用,即在執行存儲過程時只有Public許可權。所以在調用Create table時,會有許可權不足的提示。
只需要使用IR Procere就能很快解決問題啦,把代碼修改為如下:

CREATE OR REPLACE PROCEDURE TestProc AUTHID current_user
IS
flag number;
BEGIN
select count(*) into flag from all_tables where table_name='TEMP3';
if (flag=0) then
execute immediate 'create global temporary table TEMP3 on commit preserve rows as select * from BUSI_ECONTRACT';
else
execute immediate 'insert into TEMP3 select * from BUSI_ECONTRACT';
end if;

END ;
執行存儲過程,順利通過。

熱點內容
php表單注冊 發布:2025-01-11 18:43:02 瀏覽:160
虛擬存儲功能 發布:2025-01-11 18:43:01 瀏覽:887
ninjaandroid 發布:2025-01-11 18:26:10 瀏覽:526
華為的編譯器可以用幾個軟體 發布:2025-01-11 18:18:18 瀏覽:620
python中的turtle 發布:2025-01-11 18:06:08 瀏覽:399
羅布樂思賬號密碼手機號多少 發布:2025-01-11 18:00:55 瀏覽:403
在廣州什麼配置的車才能跑滴滴 發布:2025-01-11 18:00:52 瀏覽:893
安卓手機哪個生態好 發布:2025-01-11 17:56:01 瀏覽:274
資料庫數據的一致性 發布:2025-01-11 17:30:45 瀏覽:710
手機怎麼設置手勢安卓 發布:2025-01-11 17:15:54 瀏覽:965