【ORACLE】分散トランザクションについて
前に書いた記事の詳細を補足する(見返したら自分で良くわからなかったので)。
舞台となるのはDB LINKでつながっている2つのDBである。(↓のようなイメージ)
●LOCAL DBには「TABLE_A」というテーブルと、「SYNONYM_B」というシノニムがある。
SYNONYM_BはDB LINKを経由してREMOTE DBの「TABLE_B」に繋がっており、
LOCAL DB側に実体はない。
●REMOTE DBには「TABLE_B」というテーブルがある。
このDBはそれ単体で閉じており、DB LINKを経由してLOCAL DBを参照することはない。
●このとき、LOCAL DBに接続してSYNONYM_Bに対してSELECTをかけた直後、
そのトランザクションは「分散トランザクション」になる。