0

システムからアプリケーションにログインしています。1 人のユーザーから更新を実行し、別のユーザーからコピー ペーストを実行します。更新には主に一連の選択クエリがあり、コピー貼り付けにはより多くの挿入クエリがあります。リフレッシュ自体の実行には 1 分以下しかかかりませんが、他のシステムからコピー アンド ペーストが実行されている場合、多くの時間がかかるか、コピー ペーストが完了するまで待機してから完了します。

Oracle 10g データベースを使用しています。Oracle SQL 開発者 (モニター セッション) を使用してリアルタイム クエリを確認しましたが、効果的に使用できませんでした。

教えてください:

  1. 競合するクエリを確認する方法。
  2. さまざまなクエリによって取得されたロックを表示する方法。
  3. 1 つのクエリを完了するのにかかる時間。
  4. 私が使用する可能性のあるその他の提案またはその他のアプローチまたはツール。
4

1 に答える 1

0

競合するクエリを表示する方法

Enterprise Editionでは、 Enterprise Managerを使用してブロッキング セッションと関連するクエリを追跡できます。( 10gドキュメントのEnterprise Manager )

この記事で詳しく説明されているように、このための SQL クエリを作成することもできます: Oracle ブロッキング セッションの追跡

記事の SQL (ブロッキング セッションのリスト):

select blocking_session, sid, serial#, wait_class, seconds_in_wait
from  v$session
where blocking_session is not NULL
order by blocking_session;

アクティブなクエリの一覧表示 ( Ask Ananthaから):

SELECT a.USERNAME, a.STATUS, b.sql_text
FROM V$SESSION a 
INNER JOIN V$SQLAREA b ON a.SQL_ADDRESS= b.ADDRESS; 

さまざまなクエリによって取得されたロックを表示する方法。

このクエリは、セッション ID を教えてくれます ( Oracle フォーラムから):

線サイズを 150 に設定します。正面を向いてください。col sid_serial フォーム a13 col ora_user for a15; a35 の col object_name; a10 の col object_type; a15 の col lock_mode; a8 の col last_ddl; a10 の col ステータス。

sid_serial で中断します。

SELECT l.session_id||','||v.serial# sid_serial,
   l.ORACLE_USERNAME ora_user,
   o.object_name, 
   o.object_type, 
   DECODE(l.locked_mode,
      0, 'None',
      1, 'Null',
      2, 'Row-S (SS)',
      3, 'Row-X (SX)',
      4, 'Share',
      5, 'S/Row-X (SSX)',
      6, 'Exclusive', 
      TO_CHAR(l.locked_mode)
   ) lock_mode,
   o.status, 
   to_char(o.last_ddl_time,'dd.mm.yy') last_ddl
FROM dba_objects o, gv$locked_object l, v$session v
WHERE o.object_id = l.object_id
  and l.SESSION_ID=v.sid
order by 2,3;

1 つのクエリを完了するのにかかる時間

SearchOracleのこの SQL で追跡できます

SELECT * 
FROM 
    (select 
        username,opname,sid,serial#,context,sofar,totalwork ,round(sofar/totalwork*100,2) "% Complete" 
    from v$session_longops) 
WHERE "% Complete" != 100 

私が使用する可能性のあるその他の提案、その他のアプローチまたはツール

さて、Googleが思い浮かびます...

于 2013-01-10T09:47:14.827 に答える