1、本地數據庫存儲過程中通過dblink 調用遠程數據庫存儲過程報 ora 20463 分布式事務處理已經開始錯誤:
2種解決方法:
a、被調用的遠程數據庫存儲過程去掉事務處理的commit、rollback,事務處理在本地數據庫中進行commit、rollback;
b、被調用的遠程數據庫存儲過程采用自治事務,即在BEGIN END 語句塊前面增加 PRAGMA AUTONOMOUS_TRANSACTION;
2、dataguard 備庫 查詢訪問dblink 報數據庫只讀錯誤:
解決方法:
在查詢語句之前聲明只讀事務,即增加 set transaction read only;
3、通過dblink查詢出現性能問題:
解決方法:
當查詢包含分組、join、復雜子查詢時,cbo 優化模式往往不是很高效,可以考慮添加hint,如parallel,use_nl,use_hash,driving_site 等控制數據庫之間數據交互次數、傳輸結果集大小。