執行跨 DB Link 插入時拋 ORA-02069: global_names parameter must be set to TRUE for this operation。真因:Sequence 物件同樣需加 @dblink 後綴,否則 Oracle 視為本地物件導致全域名稱解析失敗。
INSERT INTO a@ora156
SELECT seq_sysalert_id.NEXTVAL, -- 缺少 @ora156
'15098727782', '0', 'sfafs', '0'
FROM dual;
INSERT INTO a@ora156
SELECT seq_sysalert_id.NEXTVAL@ora156, -- 加上 @dblink
'15098727782', '0', 'sfafs', '0'
FROM dual;
GLOBAL_NAMES=TRUE 要求 DB Link 名稱 = 遠端資料庫全域名稱(DB_NAME.DB_DOMAIN),但此錯誤多為物件未加 @dblink 導致解析邏輯誤判。@dblink,避免隱性解析錯誤。FUNCTION get_next_seq RETURN NUMBER 封裝 seq.NEXTVAL,本地呼叫 get_next_seq@dblink,封裝細節、降低耦合。ORA-02069 看似參數問題,實為物件引用缺少 @dblink。跨庫寫法:表@dblink、序列@dblink、函式@dblink,樣樣不可少。