2015-01-21 68 views
0

Oracle中有一個包 - dbms_sqltune_util0,我想利用它。 當我運行時無法訪問Oracle包中的函數

 desc dbms_sqltune_util0; 

我收到相應的描述。

但是,當我嘗試使用這個包中包含的功能它不工作。這是什麼意思?我應該獲得許可證還是什麼? 而我試圖運行的查詢是

 select dbms_sqltune_util0.sqltext_to_sqlid('select 1 from dual') from dual; 
+3

執行權限可能不在那裏。用'dba'檢查 – Exhausted 2015-01-21 11:34:09

+5

「不起作用」是什麼意思? – 2015-01-21 11:47:51

+1

「它不起作用」不是一個非常好的解釋它如何不工作。它是否給出錯誤信息?它只是沒有做任何事情嗎?當我運行你的測試代碼時,我會正確返回'SQLID'。 – mmmmmpie 2015-01-21 13:02:06

回答

-1

您正在嘗試使用Oracle 12c的包。你的標籤說你正在使用Oracle 11g數據庫。 據我所知,目前還沒有Oracle 12c的Express Edition,所以答案是:是的,您需要許可才能使用此軟件包。

順便說一句:即使在Oracle 11g中,也不是每個版本的Oracle數據庫都有可用的軟件包。

+0

Oracle數據庫對自己的認識是無知的。他們不知道您是否擁有使用某種產品的許可證。 'dbms_sqltune_util0'不是12c軟件包,因爲它可用的是11g EE。 – mmmmmpie 2015-01-21 13:02:57

+0

My Oracle 11.2.0.3數據庫不知道這個包,我發現的唯一文檔是12c。 – Henning 2015-01-21 13:33:34

+0

然後你和OP在同一條船上。 – mmmmmpie 2015-01-21 13:44:47