前幾日,一測試環境在dblink單表同步的時候(無論怎麼說,目前仍然是同構數據庫同步性能最快的方法,別聽網上的扯淡,不管goldengate仍是java層,都是比較慢的),某張表一直同步不過去,看了一下正在等待「enq: DX – contention」事件,搜索了下,在Oracle中enq: DX 隊列鎖通常用意保護分佈式事務(used to protect distributed transactions)。可是沒有並無解決方法。不少網站純屬標題黨,好比「https://www.askmaclean.com/archives/enq-dx-contention.html」,內容一屏,都是廢話。html
雖然insert select一直卡住,可是直接select並無什麼問題。因而想到了一個方法,使用with t as (select /*+ materialize */* from t@remote) insert select * from t,此時問題就解決了。java