dポイントプレゼントキャンペーン実施中!

DBLINKを使用して、Oracle 10gからSQLServer2005に接続してSQLServer2005のテーブルを参照しています。テーブルデータを参照することはできるのですが、データベースとのセッションを切断してもサーバ上にhsodbcプロセスが解放されずに残る現象が発生しています。

当初は、ストアドプロシージャの不具合と考えていましたが、SQLPLUSでデータを参照した後、SQLPLUSを終了させても プロセスマネージャ上でhsodbcが解放されずに残っていたため、
APの問題ではないと考えています。
DBLINK、Oracleの設定で不備があるような気がするのですが対応策はあるのでしょうか。
お手数ですが回答をお願いします。

A 回答 (1件)

>データベースとのセッションを切断してもサーバ上にhsodbcプロセスが解放されずに残る現象が発生しています。


というのは当然かと思います。
設定方法とかを見ていると、Listenerで定義していること等から、OracleサーバとListenerの間での接続なので、クライアントがセッションを切ろうが関係なく、
Oracleサーバが必要だと思っている限りは、クライアントがどうしようとつながっているから、
hsodbcは解放されないと思えます。

じゃあ、クライアントから接続を切る方法はないのかと調べてみました。
Oracle10gじゃないけど、11gR2では以下のような説明を見つけました。
(10gは調べてみてください。10gではまだ実装されていない機能かもしれません。)
--引用--
アプリケーションで不要になった高コストの接続を切断するには、データベース・リンクを使用して確立されたリモート接続を終了することが有効です。・・・(中略)・・・
次の文は、salesデータベース・リンクが指すリモート・データベース内のセッションを終了します。

ALTER SESSION CLOSE DATABASE LINK sales;
以上以下のサイトより。
http://docs.oracle.com/cd/E16338_01/server.112/b …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
まだ、調査が済んでいないのですが、試させていただきます。

お礼日時:2012/12/28 01:41

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

関連するカテゴリからQ&Aを探す