compare コマンドではソースとターゲットのデータを比較するために対象テーブルのロックを取得します。
このロック取得から解放までの処理は以下のとおりです。
1. lock table コマンドで対象テーブルのロックを取得します。
2. 新規セッションで Oracle データベースへ接続します。
3. step2 のセッションで "set transaction read only" を実行します。
4. step1 で取得したロックを解放します。
つまり、ロックが取得されている期間は step2 と step 3 の実行時間のため、
長時間ロックを取得する動作ではありません。
また、ソースとターゲット共に上記処理でロックを取得・解放します。