連続した複数のシーケンス番号を一括して取得する方法 シーケンスは順序値を生成する便利な機能であるが、複数セッションから同時に 連続した複数のシーケンス番号 を発番しているような処理の場合にはセッション間で番号が互い違いになる可能性がある。 これを回避するためにアプリケーションによるロック機構を使用し採番処理を直列化(シリアライズ/シリーズ 化)することで 同時処理を制限する。 しかし、代償として本来は並列可能な処理を排他処理で直列化することによる同時実行性能が低下する可能性がある。 シーケンスのシリアライズを実現するためにアプリケーションによるロック(アプリケーション・ロック/ユーザー・ロック)を使用する。 Oracle にはユーザー・ロックを使用するためのパッケージ (DBMS_LOCK) が用意されている。 (初期状態では PUBLIC に対して呼び出し権限が付与されていないので使用す