我已創建這樣的過程,這是上班SYS
和SYSDBA
,但我想運行此我新創建的用戶帳戶DEMOUSER
請幫助我....如何運行這個程序作爲普通用戶
CREATE OR REPLACE PACKAGE E_Types as
PROCEDURE TestProc (p_recordset OUT SYS_REFCURSOR);
END E_Types;
/
CREATE OR REPLACE PACKAGE BODY E_Types IS
PROCEDURE TestProc (p_recordset OUT SYS_REFCURSOR) IS
BEGIN
OPEN p_recordset
FOR select a.TABLESPACE_NAME Tablespace
, round((1-((a.BYTES-nvl(b.BYTES,0))/a.BYTES))*100,2) Percentages
from (
select TABLESPACE_NAME
, sum(BYTES) BYTES
from sys.dba_data_files
group by TABLESPACE_NAME
) a
, (
select TABLESPACE_NAME
, sum(BYTES) BYTES
from sys.dba_free_space
group by TABLESPACE_NAME
) b where a.TABLESPACE_NAME = b.TABLESPACE_NAME (+)
order by ((a.BYTES-b.BYTES)/a.BYTES) desc
;
END;
END;
/
你有錯誤信息嗎?如果是這樣,*它說什麼*? –
你的軟件包在哪裏創建?在DEMOUSER或其他架構?如果它不在DEMOUSER中,則必須授予DEMOUSER執行特權才能執行。 – user75ponic
永遠不要像SYS(或SYSTEM帳戶)那樣創建過程(或任何*數據庫對象)。停止使用這些特殊帳戶進行開發。 –