
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
(1)select * from v$session;でsid列とserial#を特定します
(2)その後、alter system kill session です。
クライアントには ORA-3113や3114、1041が帰るはずです。
この回答への補足
コメントありがとうございます。
(1)のsid列とserial#の特定をどうやるかがわかっていません。DB接続時に自分のsid列とserial#を確実に特定できるものでしょうか?
DB管理者がkillするだけなら目視確認すれば良いのでしょうか。。。
アプリケーションでは複数のログインユーザーIDを管理していますが、DB操作に使用しているOracle上のユーザーIDは1つなので特定するためのキーにはなりません。
(アプリケーションのログインユーザーIDは数が多く、かつ増減が多いのでNGと考えております。)
DB接続直後にv$session-sidの最大値を取得し、それが自分のセッションだと判断するくらいでしょうか?
No.2
- 回答日時:
Javaはあまり詳しくないので、一般的なC/Sアプリケーション
を例にとって話しますが、Oracleとの接続で非同期接続を
プログラムで実現していれば、クエリーをキャンセルさせる
ことができます。
ただしその時でも、Oracle側での検索は続いていますので、
Oracleサーバの負荷は下がりません。
同期接続の場合、Oracleサーバでの検索が終了して最初の
検索結果が返ってくるまで検索はキャンセルできません。
JavaBeanで接続しているとのことですので、そのJavaBean
を作った人または作った会社に問い合わせて、どうやったら
Oracleとの接続をキャンセルすることができるか、詳しく
聞いてみたらいいでしょう。
最後の手段はセッション切断しかないと思います。
この回答への補足
コメントありがとうございます。
JavaBeanを作った人には問合せしましたが「できない」
といわれています。
Oracleサーバの負荷を減らしたいのです。
結果セットとして大量データができるクエリを1クライアントが実行/キャンセルを繰り返したらサーバーのリソースが不足してしまうのでキャンセルされたらリソースを解放する必要があると考えています。
セッション切断しかないでしょうか。
またセッション切断をアプリケーションで実現するとしたら処理は下記のような感じでしょうか。
1.クエリ実行(セッションID取得)
2.キャンセルイベント
3.別セッションでDB接続して1.のセッションをkillする。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESS【更新クエリの中断ができない】
Access(アクセス)
-
クエリのキャンセルがいつになっても終わらない
SQL Server
-
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
-
4
途中で処理を中断させたい (アクセスVBA)
Access(アクセス)
-
5
OLE又はDDEを使うVISUAL BESICモジュールを実行している時は…と表示されます
その他(Microsoft Office)
-
6
Access クエリ実行が急に非常に遅くなりました。
Access(アクセス)
-
7
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
8
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
9
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
10
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
11
MSAccess ロック状態かどうかを確認したい
その他(Microsoft Office)
-
12
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
13
アクセスの更新クエリでカレントレコードのみ更新したい
Access(アクセス)
-
14
Access Error3061 パラメータが少なすぎます。4を指定してください。
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
OracleからSQLServer参照時の不...
-
ODBC経由の処理が遅い
-
Oracleで今接続しているセッシ...
-
SQLって何のためにあるのでしょ...
-
初心者です。Accessを使って、...
-
ACID特性って?
-
別のACCESSデータベースのテー...
-
スタライズとは、どういう意味...
-
OpenOfficeのBaseでExcelのデー...
-
どういう専門学校へいくべきで...
-
データベースの変換
-
AndroidからのAccessデータベー...
-
RBDの反対語は?□DB??
-
型 varchar から型 numeric へ...
-
データベースの最適化をマクロ...
-
図書在庫管理をAccessで‥‥参考...
-
oracleで別のグローバルデータ...
-
ODBCを使わないでExcelへ連携
-
マクロでデータベースの最適化...
-
sqlite2とsqlite3の違いについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クエリをキャンセルしたいので...
-
listener.logが肥大化
-
ODBC経由の処理が遅い
-
Access→Oracleデータ参照にはAD...
-
Oracleで今接続しているセッシ...
-
OracleからSQLServer参照時の不...
-
データベースに接続したままの...
-
CSEでDB接続しようとすると...
-
Access Oracle環境の切替方法
-
Win7 32bit Oracle10g環境からW...
-
ODBCの通信内容の暗号化
-
VPNでの接続速度が異なります。
-
VPNでデータベースに接続した時...
-
異なるOracleサーバ上のテーブ...
-
利用可能なODP.NETを教えて
-
oracleと accessの関係
-
ADO接続でのセッションIDとシリ...
-
ADODBでサーバー・DBに接続する...
-
インターネット経由でデータを...
-
クライアントPCからのアクセ...
おすすめ情報