VB6.0アプリからOracleデータベースにアクセスして
データの取得・更新を行うシステムを構築しています。
(2層C/Sシステムっていうんでしょうか?)
今、このシステムにおけるデータの取得・更新を
起動~終了の1セッション内で行っています。
将来的にユーザ数が増え、セッション数が増加すると
このような1セッションの作りではパフォーマンスが低下してしまうということを聞きました。
そこで、必要な時だけセッションを張り、
必要の無い時はセッションを切った状態にすることが要望されていますが
これを行うとセッションを張る時のオーバーヘッドがかかって遅くなります。
そこで、CreateDatabasePoolメソッドをGetDatabaseFromPoolメソッドや用いて、
セッションの瞬時復帰を行い、上記のオーバーヘッドをなくすことを思いついたのですが、
調べると私の構築しているようなシステムではできないようなのです。
Webアプリならできるようですが。。
私の構築しているようなシステムにおいて
セッション即時復帰の方法、
または、CreateDatabasePool、GetDatabaseFromPoolの使用法
をご教授ください。
宜しくお願いします。
言葉足らずな説明ご容赦ください。
No.2ベストアンサー
- 回答日時:
バージョンとエディションの表記がされてないので回答に困るのですが、
コネクションマネージャを使用する方法があります。
ユーザプロセス - コネクションマネージャ - リスナ
の3層構成になり、コネクションプール、セッションの多重化がサポートされているようです。
(エンタープライズ版の機能です。)
但し、ゾンビセッションのロックで苦労したという噂話を聞いているので使用したことはありません。
ちなみ、Unix系の専用サーバはプロセスモデルですので、接続操作にはかなりコストがかかります。
スレッドモデルのWindowsでは、およそ 10 ~20 接続であれば MTS にしなくても大丈夫だと思います。
(使用環境により異なりますので DBAと相談されてください)
あとアプリケーションレベルで実装されるのは避けたほうがよいと思います。
遅くなって申し訳ありません。
回答ありがとうございます。
Oracleのバージョンは9.2です。
書き忘れました。すみません。
コネクションマネージャですか~
そういうツールがあるんですね。なるほど。
前の質問者の方のアドバイスと合わせ
DBAと相談してみます。
No.1
- 回答日時:
セッション数が負担になるようならば、共有サーバ接続を行うようにすれば、
セッションの増加による不可は軽減できます。
また、セッション開設時のオーバーヘッドですが、認証の問題さえ何とかすれば
さほど長い時間がかかることはないと思います。
(windowsサーバで設定が良くないと、時間がかかるけど、設定さえ見直せば、
コンマ数秒でセッション開設も不可能ではありません。)
遅くなって申し訳ありません。
回答ありがとうございます。
サーバ側設定でオーバヘッド回避ですねぇ。
なるほど、なるほど。試してみます。
ちょっとまだ忙しくて試せてません。。。泣
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 「ログイン機能を持たせる」説明が気難しいです。 2 2022/10/11 02:59
- ネットワーク OSI参照モデルの各層の役割がわかりません。 3 2023/04/21 21:12
- Google Drive 会社への勤怠届出にGoogleフォームを使用しています。 しかし、最近何故か『このサービスはビジター 2 2022/12/05 00:21
- PHP PHPのセッション有効期限について 5 2023/06/14 12:40
- その他(ゲーム) ファイナルファンタジー7リメイクのnormalクリア後のセッションセレクトについて。 セッションを自 2 2023/04/11 16:52
- PHP ここで言うトークンの意味を教えてください。 3 2022/08/24 03:03
- Chrome(クローム) GoogleChrome閉じるたびにアンケート続行できない表示が出る。 1 2023/08/13 13:53
- デスクトップパソコン 「自動修復でPCを修復できませんでした」と表示されPCが起動しないのですが対処法はありますか? 5 2022/05/13 09:16
- システム 古いWEBシステム。もう追加プログラムは作れない? それともできる? 6 2022/06/08 13:41
- PHP PHP でメールフォームを作成したい 1 2022/05/04 22:28
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
listener.logが肥大化
-
データベースに接続したままの...
-
クエリをキャンセルしたいので...
-
ODBC経由の処理が遅い
-
Access→Oracleデータ参照にはAD...
-
ADODBでサーバー・DBに接続する...
-
CSEでDB接続しようとすると...
-
Access Oracle環境の切替方法
-
VPNでデータベースに接続した時...
-
PGAとUGA
-
Oracleで今接続しているセッシ...
-
セッション復活の方法
-
型 varchar から型 numeric へ...
-
データベースの2GBって・・・?
-
キャッシュとバッファの違いは?
-
データベースの最適化をマクロ...
-
私があるアカウント発行の権利...
-
エクセルの重複データの曖昧検索
-
希望の位置へフィールドを追加...
-
アクセスのデータがブッ壊れた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クエリをキャンセルしたいので...
-
listener.logが肥大化
-
ODBC経由の処理が遅い
-
Oracleで今接続しているセッシ...
-
Access→Oracleデータ参照にはAD...
-
CSEでDB接続しようとすると...
-
クライアントPCからのアクセ...
-
OracleからSQLServer参照時の不...
-
VPNでデータベースに接続した時...
-
利用可能なODP.NETを教えて
-
インターネット経由でデータを...
-
SQLServerの接続設定(ODBC)
-
MySqlへの接続に関して
-
セッション復活の方法
-
ODBCの通信内容の暗号化
-
VPNでの接続速度が異なります。
-
ADO接続でのセッションIDとシリ...
-
MySQL データ ソース (ODBC)接...
-
Pro*Cについて
-
VPN経由の接続でWin98のクライ...
おすすめ情報