[20211022]ORA-00904 REF invalid identifier 19c dba_obj_audit_opts(補充).txt

lfree發表於2021-10-22

[20211022]ORA-00904 REF invalid identifier 19c dba_obj_audit_opts(補充).txt

--//連結:http://blog.itpub.net/267265/viewspace-2769007/=>[20210420]ORA-00904 REF invalid identifier 19c dba_obj_audit_opts.txt
--//主要原因是19c 檢視sys.dba_obj_audit_opts,取消ref欄位,執行如下程式碼報錯。

Select  *
from   sys.dba_obj_audit_opts
where  (SUBSTRB (alt, 1, 1) in ('-', 'A', 'S')) and
       ((alt <> '-/-') or (aud <> '-/-') or (com <> '-/-') or
        (del <> '-/-') or (gra <> '-/-') or (ind <> '-/-') or
        (ins <> '-/-') or (loc <> '-/-') or (ren <> '-/-') or
        (sel <> '-/-') or (upd <> '-/-') or (ref <> '-/-') or
        (exe <> '-/-') or (rea <> '-/-') or (wri <> '-/-') or (fbk <> '-/-'))
and    object_type in ('TABLE','INDEXTYPE','TYPE')
and    owner = 'XXXX'
and OBJECT_NAME = 'YYYY'

Error occurred: [904] (ORA-00904: "REF": invalid identifier

--//在連結我提到一種方式就是利用18c的sys.dba_obj_audit_opts定義,重新新建檢視。生產系統我還真不敢這樣做。
--//還有一個簡單的方法解決這個問題,就是選擇檢視script時,不檢視audit statements。

--//在Schema browser=>選擇表=>選擇script=>選擇Script Optins =>取消audit statements前面的勾。
--//暫時這樣 toad論壇連結下有一個圖很好的說明,據說新的版本已經解決了這個問題。
--//

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2838828/,如需轉載,請註明出處,否則將追究法律責任。

相關文章