No.3ベストアンサー
- 回答日時:
おっしゃっている「モニタリング」をどのような頻度、どのような目的で行うのかが分かりませんので、推測で回答させていただきます。
そのときそのときのSQLを取得するならば、No.1の方がおっしゃっているSQLトレースが一般的だと思います。取得方法は、下記URLのサイトが参考になります。
参考サイトで記述されているSQLトレースはコマンドベースでの操作になるので、もっと簡単にGUIで確認するには、Oraceデータベースの管理ツールのひとつである「Oracle Enterprise Manager」を利用するとよいと思います。
Oracle Enterprise ManagerにSYSTEMユーザなどでログインし、ツリーメニュー[インスタンス]>[セッション]から、アクティブなセッション(クエリを処理しているセッション)が確認できます。ダブルクリックで処理中のSQL文やSQLの実行計画を確認・保存できます。
参考URL:http://www.geocities.jp/principal_focuses/tech/o …
この回答への補足
回答ありがとうございます。
ご指摘のあった目的ですが、実はORACLEを利用しているアプリケーションが、通常2,3秒で終わる処理が
30秒近くかかることが場合があり、毎回というわけではない為、複数の処理がバッティングし、行ロック開放まちになっているのではないかと予想しています。
目的としてはこのアプリケーションの問題を解決したいということですが、問題のSQLを特定することで、アプリケーションの問題のコーディング箇所をしぼれるのではないかと思っています。もっといい方法がありますか?(この件は、別の質問で投げるつもりです。)
No.2
- 回答日時:
リアルタイムにトレースする事はできないので、
アーカイブログを取れば、更新履歴はわかります。
ただし、更新履歴だけなので、検索はわかりません。
ただ、セッション毎にそのセッションが最後に発行した
SQL分はわかるので、それを確認すれば如何でしょう。
市販ツールでは、システムインテグレータの『ObjectBrowser』
というソフトなら、その情報をGUIで見ることが出来ます。
また、下記のSQL文でも、同じ情報がみれますが・・・。
select sess.sid
, sess.serial#
, sess.status
, sess.username
, sess.machine
, sess.osuser
, sess.logon_time
, sess.program
, dbaobj.object_name
, sqla.sql_text
from , v$session sess
, v$sqlarea sqla
, v$locked_object obj
, dba_objects dbaobj
where sess.sql_hash_value = sqla.hash_value(+)
andsess.sql_address = sqla.address(+)
and obj.session_id(+) = sess.sid
and dbaobj.object_id(+) = obj.object_id
and sess.username is not null
order by sess.sid
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle Oracleですがsqlで質問です。 サブクエリ内で番号というカラムで昇順の1レコード目を取得したい 3 2023/05/22 10:02
- Oracle sql(oracle)で質問です。 テーブルAのカラム名、日付(yyyymmdd)の値を テーブルB 2 2023/01/06 10:31
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- ソフトウェア 移行PCにDockerがインストールされていても各種開発環境のアプリはインストールが必要? 2 2023/05/21 21:53
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- 統計学 この問題の答えとやり方を教えてください、(分布表などは調べてほしいです、) 2 2022/07/02 12:43
- PostgreSQL SQLでUPSERTを一度に複数行やる方法 3 2022/03/25 15:17
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL*Plusの終了はquit?exit?
-
CPU使用率の高いセッション特定...
-
Access VBAで行ラベルが定義さ...
-
VBA プロシージャの名前の取得
-
エクセルVBAでUserFormを起動し...
-
エクセル 日付による並べ替え...
-
SSIS 変数の値をSQL実行タスク...
-
ACCESS2007インポート時の空白...
-
Oracle 10gで順序sequenceの作...
-
sqlplusのspoolで空白行出現
-
Excel:ThisWorkbookオブジェク...
-
Accessのマクロでモジュールを...
-
テーブルの主キーをdate型...
-
SQL*PLUSでの分秒までの表示の仕方
-
【Excel VBA】 WorksheetやRa...
-
別のスキーマのテーブルアップ...
-
SPOOLのファイル名
-
SQLで部分的にGROUP BYしたいとき
-
Access→Oracleへ移行後MAX()が...
-
Excel VBAで「プログラム実行」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL*Plusの終了はquit?exit?
-
Transact-SQLでストアードプロ...
-
CPU使用率の高いセッション特定...
-
sqlについてです。 サブクエリ...
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
Accessの数値から時間に変換す...
-
ストアドプロシジャからストア...
-
VBA プロシージャの名前の取得
-
Statement ignored というエラー
-
sqlplusでヘッダーが付かない
-
全角空白のTRIMができない...
-
PL/SQLカーソルの2重FORループ...
-
キャッシュを使わずにSELECTを...
-
今日の日付が入った行のデータ...
-
ODBCリンクの際にACCESSでは読...
-
エクセル 日付による並べ替え...
-
【Excel VBA】 WorksheetやRa...
-
SQLサーバで和暦から西暦に変換...
おすすめ情報