Oracle

無法修復序列上的“ORA-00990:缺少或無效特權”

  • January 4, 2012

我正在接受"ORA-00990: missing or invalid privilege"這樣的聲明:

GRANT USAGE ON SEQUENCE SOME_SEQUENCE TO SOME_USER;

我已經在整個 Internet 和 AFAICT 上進行了研究,這種語法是絕對正確的,序列的名稱是正確的,使用者是正確的,並且類似的表訪問權限工作正常,但我就是無法授予訪問權限序列。如果SOME_USER確實嘗試呼叫序列,我會感到害怕"ORA-00942: table or view does not exist"

雪上加霜的是,這曾經有效,但 IT 人員重新創建了數據庫(不,我不知道他們到底做了什麼,他們可能也不知道),現在這種情況正在發生。

有人知道我做錯了什麼嗎?

答案@Gary 為我指明了正確的方向;實際語法是:

GRANT SELECT ON SOME_SEQUENCE TO SOME_USER;

奇怪的是,我已經嘗試過:

GRANT SELECT ON SEQUENCE SOME_SEQUENCE TO SOME_USER;

並得到錯誤,當問題是一個額外的關鍵字"ORA-00905: missing keyword"時,這是一個奇怪的消息。

Oracle文件沒有顯示“USAGE”權限的存在。我從來沒有在序列上使用過除了 SELECT 特權之外的任何東西。

Postgres/DB2 確實出現了這種語法

引用自:https://serverfault.com/questions/346381