當前位置:首頁 » 存儲配置 » 存儲過程許可權不足

存儲過程許可權不足

發布時間: 2023-02-05 07:00:04

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

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

2. PL/SQL建好存儲過程,編譯也成功了,但是用execute執行的的 提示許可權不足(ora-01031)

用你有dba許可權的用戶執行這個試試。

;

如果還報錯就要看代碼了。

3. 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 ;
執行存儲過程,順利通過。

4. 我的插入語句能夠通過,但把它放在存儲過程里就不行了,報錯為ORA-01031: 許可權不足

grant select any catalog to user;

在存儲過程中的有些操作需要顯式地賦予許可權, 即便單獨運行是可以的.

5. oracle 創建存儲過程部分表編譯錯誤是否表空間、許可權不足

你先查看錯誤是什麼啊,好像有個什麼show error的嗎?
有可能是許可權問題,你當前用戶需要獲得該表的使用許可權,你上面列出來的是系統許可權,還有對象的許可權,你針對哪個對象有什麼樣的許可權,需要授權,同樣使用grant 授權,列如:grant select on table to user;記得沒錯就是這樣的。還有就是該用戶也要用相應表空間的使用權,這個就是修改用戶的定義,指定能使用該表空間吧,沒有看參考,提供這些給你參考哈!

6. oracle 在存儲過程中用動態sql創建序列為何會遇到許可權不足的問題呢

create or replace procere
create sequence
都需要許可權。。。
用sysdba給該用戶grant一個吧。。
GRANT EXECUTE ANY PROCEDURE TO 普通用戶 WITH ADMIN OPTION;
GRANT RESOURCE TO 普通用戶; --這個已經包含了序列的許可權

7. 創建存儲過程 老師出現 ORA-01031: 許可權不足

你這個表USER01在system用戶下存在嗎?

不存在的話是要報錯的

用system用戶給你的gong用戶賦權

grantconnect,resource,dbatogong;

這樣應該基本就差不多了

8. ORA-01031: 許可權不足

汗~~
GRANT create any table TO scott;
sequence 是序列,你試著給它創建序列的許可權有毛用啊,你的存儲過程里是要創建表啊。

===============================================
哈,沒研究過這么深,只不過這么用久了,就習慣這么用了。遺憾,你可以去查一些存儲過程的教程,那上邊一般會有這些基礎知識。我只是會用而已。

9. 在存儲過程中,建立臨時表,提示許可權不足,請問需要什麼許可權

創建表的許可權賦給用戶

oracle 賦權語句,用dba用戶執行

grantcreatetabletotest;

10. 錯誤ora 00900 06512

可能是沒有許可權。雖然當前用戶執行語句是有許可權的,但是放到存儲過程中就必須要顯式的賦個許可權給當前用戶。以下參考
【IT168 技術文檔】我們知道,用戶擁有的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

--已經可以執行了。

熱點內容
phpfile亂碼 發布:2025-07-16 03:57:54 瀏覽:93
手機存儲空間擴容 發布:2025-07-16 03:52:07 瀏覽:861
小米4清除緩存 發布:2025-07-16 03:03:17 瀏覽:563
如何緩解壓力英語作文 發布:2025-07-16 03:03:15 瀏覽:15
手機視頻怎麼緩存 發布:2025-07-16 02:59:05 瀏覽:933
安卓手機設備在哪裡找 發布:2025-07-16 02:49:28 瀏覽:357
php建立數組 發布:2025-07-16 02:34:30 瀏覽:284
oracle存儲過程同步 發布:2025-07-16 02:29:18 瀏覽:941
歐諾s買哪個配置的好 發布:2025-07-16 02:26:22 瀏覽:559
熱點可以建立ftp嗎 發布:2025-07-16 02:26:21 瀏覽:304