看板 Database 關於我們 聯絡資訊
標題太長,再寫一次 Oracle DB Link 會ora-00904 invalid identifier 有2個DB :DB1, DB2 DB1-->DB2 透過 DB_LINK連到DB2的owner2 在DB2上 create synonym owner2.table_a for owner1.table_a; DB2上的owner2.table_a是synonym DB2上的owner1.table_a是table 在DB1單獨執行會過 select a1,a2 from table_a@db_link where a1=xxx; 若改成pl/sql ==> begin select a1,a2 from table_a@db_link where a1=xxx; end; 則有時會出現PL/SQL: ORA-00904: a1: invalid identifier 會發生這問題的時間大約都是,memory不足了 目前知道的解法是flush shared pool 請問 1.有其它解法嗎? 2.現在被迫每天清晨設schedule flush share pool, 這樣好嗎? PS:台灣有oracle論壇嗎? 我知道有ITPub,但那是簡體的 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.156.194 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1557862639.A.09D.html
aweful: 定義dblink的時候有沒有加public﹖ 05/15 16:34
有,這程式run 10多年了,最近突然有問題 單獨在client tool 執行ok,有begin end一陣子後就不行了
bij831: 試一下加入別名select s.a1 .... from table_a@db_link s 05/15 18:54
bij831: 2.沒有什問題,只是增加硬解和重新cache而已。ITPUB個人認 05/15 18:55
bij831: 為是最好的中文網站了,不然就去oracle官方網站問了。要發 05/15 18:56
bij831: 問題就用word轉成簡體的就行了,只是要註冊現有一些麻煩 05/15 18:57
前面加owner也不行, IT Pub很多年前有註冊過,後來公司有封鎖該網址, 而我也多年未登入,已經不會想進去了 轉成簡體,有些用語若是沒轉好,被看出是台灣人,反而痲煩 大概知道問題了,還沒確定是否如此. 不知有沒有人遇過? ※ 編輯: chings22 (36.226.156.194), 05/15/2019 22:33:34
bij831: 是加別名,不是owner。另外itpub没那麼政治,我用了很多年 05/18 10:34
bij831: 了 05/18 10:34
問題是8i跟10g的synonym在一起做 sql join, 這2個synonym都是定義到到8i的同一個table 在MOS可看到10g的DB有類似的synonym bug 把程式改回只有一個synonym,也是一樣error, 最後還要搭配restart DB一次才好 我上面寫的pl/sql 是在ora-00904問題發生後,只select一個table也會錯 ※ 編輯: chings22 (118.166.210.185), 05/30/2019 23:01:22