❶ oracle中如何給低許可權用戶授予只讀存儲過程的許可權,就是說可以看見存儲過程的內容,但是不能做重新編譯操作
不會吧,你看看USER下面有沒有別的系統許可權,特別是alter any procere。
如果USER只有CONNECT和RESOURCE角色,即使給它EXECUTE,它也不能編譯。會報錯,ORA-01031沒有足夠許可權。
❷ ORA-06512: at "TOOL_PERF_PG", line 163 ORA-01031: insufficient privileges
執行存儲過程的用戶的許可權不夠,給這個用戶 建表的許可權,試試
grant create table to username;
❸ ORA-01031許可權不足怎麼解決
問題:
ORA-01031: 許可權不足
解決:
grant select any table to TSS_TEST
❹ oracle 存儲過程 許可權問題 PL/SQL: ORA-01031: 許可權不足
許可權不足就是說你還沒有連接到伺服器,或者你連接過了又斷開了,再次連接上了就該不會出現許可權問題。
❺ 我的插入語句能夠通過,但把它放在存儲過程里就不行了,報錯為ORA-01031: 許可權不足
grant select any catalog to user;
在存儲過程中的有些操作需要顯式地賦予許可權, 即便單獨運行是可以的.
❻ 創建存儲過程 老師出現 ORA-01031: 許可權不足
你這個表USER01在system用戶下存在嗎?
不存在的話是要報錯的
用system用戶給你的gong用戶賦權
grantconnect,resource,dbatogong;
這樣應該基本就差不多了
❼ 在一個存儲過程中創建另一個新存儲過程報異常ora-01031,該什麼解決
是要動態創建或者修改存儲過程么?
存儲過程創建需要在顯示授權,那麼可以這樣寫:
假設現在的用戶叫做TEST_USER 並且有創建存儲過程的許可權:
create or replace procere prc_crt_test is
s_sql varchar2(3000);
begin
s_sql:='grant create any procere to TEST_USER';
execute immediate s_sql;
s_sql:='create or replace procere prc1 is begin
null;
end;';
execute immediate s_sql;
end prc_crt_test;
就可以了。
❽ ORA-01031: 許可權不足
汗~~
GRANT create any table TO scott;
sequence 是序列,你試著給它創建序列的許可權有毛用啊,你的存儲過程里是要創建表啊。
===============================================
哈,沒研究過這么深,只不過這么用久了,就習慣這么用了。遺憾,你可以去查一些存儲過程的教程,那上邊一般會有這些基礎知識。我只是會用而已。
❾ 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 ;
執行存儲過程,順利通過。
❿ PL/SQL建好存儲過程,編譯也成功了,但是用execute執行的的 提示許可權不足(ora-01031)
用你有dba許可權的用戶執行這個試試。
;
如果還報錯就要看代碼了。