ablog

不器用で落着きのない技術者のメモ

2009-06-10から1日間の記事一覧

Oracle のトランザクションロック待ち

排他行ロック(TYPE=TX, LMODE=6)と行排他テーブルロック(TYPE=TM, LMODE=3)がかかってるのはわかるけど、何で共有テーブルロック(TYPE=TX, REQUEST=4)で待機してるんだろう? Primary Key に同じ値を insert すると、トランザクション・ロック(TX)の競合が発…

Oracle はどのようにして読み取り一貫性をとっているか

Oracle はどのようにして読み取り一貫性をとっているかまとめてみた。 例えば、SCNが100の時点でselect文を発行したとする。 必要なデータブロックを読み出す。 ブロックヘッダのSCN そうでない場合、ブロックヘッダのITL*1を見てどのUNDOブロックを使えば良…