ablog

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

クライアントからリスナー経由でデータベースに接続する手続き(専用サーバー構成)

Oracle でクライアントからリスナー経由でデータベースに接続する手続きを調べてみた。
以下は専用サーバー構成の場合の手続き。

  1. リスナーがクライアント接続要求(CONNECTパケット)を受け取る。
  2. リスナーは専用サーバー・プロセスを開始する。
  3. 専用サーバー・プロセスはリスナーから接続要求を継承する。
    1. リスナーと専用サーバー・プロセス間にソケットを継承するためのBequeath接続が確立され、プロセスの初期化情報が渡される。
    2. Bequeath接続がクローズされ、専用サーバー・プロセスにTCPソケットが継承される。
  4. クライアントが専用サーバー・プロセスに直接接続する。
    1. 専用サーバー・プロセスからクライアントにRESENDパケットが送信される。
    2. クライアントは専用サーバー・プロセスに新しいCONNECTパケットを送信する。
    3. 専用サーバー・プロセスが着信要求を受け入れたら、クライアントにACCEPTパケットを送信する。


Windowsプラットフォームの場合、デフォルトではBequeath接続が行えず、専用サーバー・プロセスの起動は行われるが、TCPソケットの継承ではなくリダイレクト接続される。


[参考]
接続性の概念
オラクルマスター教科書 Platinum DBA 2(試験科目:1Z0‐032J)