アプリ版:「スタンプのみでお礼する」機能のリリースについて

Oracleの動作の仕組みについてご教示ください。

1.初回、OracleクライアントがOracleサーバーのデータベースに接続するときは、接続要求をリスナーが受け付けるが、二回目以降、同じデータベースに接続する際、リスナーに接続要求を行わずに直接データベースとやり取りを行うという認識でいいでしょうか。

2.1の認識で間違いがない場合、Windows、Linuxとも同じでしょうか。また、バージョンによって違いがありますでしょうか。

A 回答 (2件)

こんにちわ。



> Oracleでの動的ポートがわからないのでご教示頂けますでしょうか。
デフォルトでは、TNS Listener がClient からの接続要求を1521ポートで
待っていますが、接続要求を受け取った後はClient とサーバープロセスが
別のポートで通信し合う事かと。

この辺が参考になるかと思います。
http://www.oracle.co.jp/forum/thread.jspa?thread …
    • good
    • 0
この回答へのお礼

ありがとうございます。

参考になりました。

お礼日時:2013/08/02 20:02

こんにちわ。


先ず、SQL*Net 経由を前提として説明します。

> 二回目以降、同じデータベースに接続する際、リスナーに接続要求を
> 行わずに直接データベースとやり取りを行うという認識でいいでしょうか。
DB に接続する時は必ずListener に接続要求を行います。

Listener は接続要求を受け取ると、サーバープロセスを生成します。
接続後の要求 (SQL 文の実行) については、Listener を介さずにサーバープロセスが
相手をしてくれます。

サーバー側が共有サーバー構成になっていた時は、サーバープロセスの生成を行わず
既に生成済みの共有サーバープロセスにディスパッチしますが、基本的なトコロは同じです。

> Windows、Linuxとも同じでしょうか。また、バージョンによって違いがありますでしょうか。
Windows の場合は、thread ベース, Linux (Unix) の場合はprocess ベースと言う違いがあります。
なので、Linux ではps コマンドでサーバープロセスを確認する事ができますが、Windows では
Task Manager で見てもプロセスとしては見れません、

この回答への補足

ありがとうございます。

SQL*Netでの接続になります。

>DB に接続する時は必ずListener に接続要求を行います。
>
>Listener は接続要求を受け取ると、サーバープロセスを生成します。
>接続後の要求 (SQL 文の実行) については、Listener を介さずにサーバープロセスが
>相手をしてくれます。
>
>サーバー側が共有サーバー構成になっていた時は、サーバープロセスの生成を行わず
>既に生成済みの共有サーバープロセスにディスパッチしますが、基本的なトコロは同じです。

この仕組みはWindows、Linuxとも同じでしょうか。
Listenerはデフォルトで1521だと思いますが、サーバープロセスとやり取りする場合、ポート
については動的ポートで行われますでしょうか。

SonicWALLのNSA400のライブデモにて、"ファイアウォール設定" ‐ "詳細"にて"動的ポート機能
への対応"として"オラクルSQLNetを有効にする"という設定項目があります。
この項目が有効の場合、SonicWALLがOracleで使用される動的ポートを判断してポート解放を行う
機能とのことを確認しましたが、Oracleでの動的ポートがわからないのでご教示頂けますでしょうか。
-----------------------------------------------
http://nsa2400j.demo.sonicwall.com/main.html
-----------------------------------------------

補足日時:2013/08/01 11:26
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!