<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    沉睡森林@漂在北京

    本處文章除注明“轉載”外均為原創,轉載請注明出處。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      152 隨筆 :: 4 文章 :: 114 評論 :: 0 Trackbacks
    --根據FILE_ID & BLOCK_ID獲得對象名稱
    SELECT /*+ RULE*/ owner, segment_name, segment_type
      FROM dba_extents
     WHERE file_id = &file_id
       AND &block_id BETWEEN block_id AND block_id + blocks - 1;

    --根據操作系統PID,查詢SESSION信息
    SELECT a.sid, a.serial#, b.spid, a.terminal, a.machine, a.program, a.osuser
      FROM v$session a, v$process b
     WHERE a.paddr = b.addr AND b.spid = '&SPID';

    --根據SESSION SID,查詢操作系統PID
    SELECT a.sid, a.serial#, b.spid, a.terminal, a.machine, a.program, a.osuser
      FROM v$session a, v$process b
     WHERE a.paddr = b.addr AND a.sid = '&SID';

    --查詢用戶正在執行的SQL
    SELECT sql_text
      FROM v$sqltext
     WHERE hash_value = (SELECT sql_hash_value
                           FROM v$session
                          WHERE sid = &sid)
     ORDER BY piece;

    --查詢當前的系統等待事件
    SELECT *
      FROM v$session_wait
     WHERE event NOT LIKE '%SQL*Net%'
       AND event NOT LIKE '%rdbms%'
       AND event NOT LIKE '%timer%'
       AND event NOT LIKE '%jobq%'
     ORDER BY event, seconds_in_wait;

    --查詢詳細的當前系統等待事件
    SELECT s.sid, s.username, w.seq#, w.event, w.p1text, w.p1, w.p2text, w.p2, w.p3text, w.p3,
           w.seconds_in_wait, w.state, s.logon_time, s.osuser, s.program
      FROM v$session s, v$session_wait w
     WHERE s.sid = w.sid
       AND w.event NOT LIKE '%SQL*Net%'
       AND w.event NOT LIKE '%rdbms%'
       AND w.event NOT LIKE '%timer%'
       AND w.event NOT LIKE '%jobq%'
     ORDER BY w.event, w.seconds_in_wait;

    --查詢等待db file sequential/scattered read的Session正在執行的SQL
    SELECT s.sid, s.username, t.hash_value, t.piece, t.sql_text
      FROM v$session s, v$session_wait w, v$sqltext t
     WHERE s.sid = w.sid
       AND s.sql_hash_value = t.hash_value
       AND w.event IN ('db file sequential read', 'db file scattered read')
     ORDER BY s.sid, t.piece;

    --查詢等待db file sequential/scattered read對應的數據庫對象
    SELECT /*+ RULE*/ s.sid, s.username, w.seq#, w.event,
           d.segment_type, d.owner || '.' || d.segment_name AS segment_name,
           w.seconds_in_wait, w.state, s.logon_time
      FROM v$session s, v$session_wait w, dba_extents d
     WHERE s.sid = w.sid
       AND d.file_id = w.p1
       AND w.p2 BETWEEN d.block_id AND d.block_id + d.blocks - 1
       AND w.event IN ('db file sequential read', 'db file scattered read')
     ORDER BY w.event, segment_name;

    --查詢導致LOCK的SID,SPID,LOCKED_OBJECT,LOCK_TYPE等信息
    SELECT /*+ RULE*/
           l.sid, p.spid, s.username,s.logon_time, s.osuser, s.program, l.type,
           CASE l.TYPE WHEN 'TM' THEN O.object_name WHEN 'TX' THEN '' END as OBJECT_NAME,
           DECODE (l.lmode, 0, '0=NONE', 1, '1=NULL', 2, '2=RS', 3, '3=RX', 4, '4=S', 5, '5=SRX', 6, '6=X') lmode,
           CASE l.request WHEN 0 THEN '' ELSE 'BLOCKED BY ' || l.id2 END as BLOCKED,
           CASE l.block WHEN 0 THEN '' ELSE l.id2 || ' IS BLOCKING' END as BLOCKING,
           l.request, l.ctime
      FROM v$lock l, v$session s, dba_objects o, v$process p
     WHERE l.type in ('TX', 'TM')
       AND s.paddr = p.addr
       AND l.sid = s.sid
       AND l.id1 = o.object_id(+)
     ORDER BY s.username, l.sid, l.ctime;

    --查詢導致DDL LOCK的詳細信息
    SELECT s.sid, p.spid, s.username, a.owner || '.' || a.NAME AS OBJECT_NAME,
           a.TYPE, a.mode_held, a.mode_requested, s.osuser, s.logon_time, s.program
      FROM dba_ddl_locks a, v$session s, v$process p
     WHERE s.sid = a.session_id
       AND s.paddr = p.addr
       AND (a.mode_held = 'Exclusive' OR a.mode_requested = 'Exclusive')
     ORDER BY s.USERNAME, a.NAME;

    --查詢事務使用的回滾段
    SELECT s.username, s.sid, s.serial#, t.ubafil "UBA filenum",
           t.ubablk "UBA Block number", t.used_ublk "Number of undo Blocks Used",
           t.start_time, t.status, t.start_scnb, t.xidusn rollid, r.name rollname
      FROM v$session s, v$transaction t, v$rollname r
     WHERE s.saddr = t.ses_addr AND t.xidusn = r.usn;
    ####################################################################################################


    --查詢LIBRARY CACHE PIN等待事件等待的對象
    --視圖縮寫:[K]ernel [G]eneric [L]ibrary Cache Manager [OB]ject
    SELECT /*+ RULE*/ addr, kglhdadr, kglhdpar, kglnaobj, kglnahsh, kglhdobj
      FROM x$kglob
     WHERE kglhdadr IN (SELECT p1raw
                          FROM v$session_wait
                         WHERE event LIKE '%library%');

    --查詢LIBRARY CACHE PIN等待事件中持有被等待對象的SESSION信息
    --視圖縮寫:[K]ernel [G]eneric [L]ibrary Cache Manager Object [P]i[N]s
    SELECT /*+ RULE*/ a.SID, a.username, a.program, b.addr, b.kglpnadr, b.kglpnuse,
           b.kglpnses, b.kglpnhdl, b.kglpnlck, b.kglpnmod, b.kglpnreq
      FROM v$session a, x$kglpn b
     WHERE a.saddr = b.kglpnuse
       AND b.kglpnmod <> 0
       AND b.kglpnhdl IN (SELECT p1raw
                            FROM v$session_wait
                           WHERE event LIKE '%library%');

    --查詢LIBRARY CACHE PIN等待事件中持有被等待對象的SESSION執行的SQL語句
    SELECT sql_text
      FROM v$sqlarea
     WHERE (v$sqlarea.address, v$sqlarea.hash_value) IN (
              SELECT sql_address, sql_hash_value
                FROM v$session
               WHERE SID IN (
                        SELECT /*+ RULE*/ SID
                          FROM v$session a, x$kglpn b
                         WHERE a.saddr = b.kglpnuse
                           AND b.kglpnmod <> 0
                           AND b.kglpnhdl IN (SELECT p1raw
                                                FROM v$session_wait
                                               WHERE event LIKE '%library%')));

    --查詢哪個SESSION正在使用某個對象(LIBRARY CACHE)
    SELECT DISTINCT s.sid,
                    s.username,
                    s.logon_time,
                    s.osuser,
                    s.program,
                    b.kglnahsh as SQL_HASH_VALUE,
                    b.kglnaobj as SQL_TEXT
      FROM v$session s, x$kglpn n, x$kglob b
     WHERE n.kglpnuse = s.saddr
       AND upper(b.kglnaobj) LIKE upper('%&OBJECT_NAME%')
       AND n.kglpnhdl = b.kglhdadr;

    --查詢V$SESSION_WAIT用戶PIN住了哪些對象(LIBRARY CACHE)
    SELECT DISTINCT s.sid,
                    s.username,
                    s.logon_time,
                    s.osuser,
                    s.program,
                    n.kglpnmod,
                    b.kglnahsh AS SQL_HASH_VALUE,
                    b.kglnaobj AS SQL_TEXT
      FROM v$session s, x$kglpn n, x$kglob b
     WHERE n.kglpnuse = s.saddr
       AND n.kglpnhdl = b.kglhdadr
       AND s.sid IN (SELECT sid
                       FROM v$session_wait
                      WHERE event NOT LIKE '%SQL*Net%'
                        AND event NOT LIKE '%rdbms%'
                        AND event NOT LIKE '%timer%'
                        AND event NOT LIKE '%jobq%')
     ORDER BY s.username;

    --查詢哪些大對象被載入SHARED POOL時導致其它對象被老化
    SELECT s.sid, s.username, s.logon_time, s.osuser, s.program,
           k.ksmlrcom, k.ksmlrsiz, k.ksmlrnum, k.ksmlrhon, k.ksmlrses
      FROM x$ksmlru k, v$session s
     WHERE s.saddr = k.ksmlrses
       AND ksmlrsiz > 0;
    ####################################################################################################


    --查詢Schema哪些表是全表掃描
    SELECT o.name, x.tch
      FROM obj$ o, x$bh x, dba_users u
     WHERE x.obj = o.dataobj#
       AND STANDARD.bitand(x.flag, 524288) > 0
       AND u.username = UPPER('&username')
     ORDER BY x.tch DESC;

    --查詢低效率的SQL(BUFFER_GETS排序)
    SELECT *
      FROM (SELECT s.sid,
                   b.spid,
                   s.sql_hash_value,
                   q.sql_text,
                   q.executions,
                   q.buffer_gets,
                   ROUND(q.buffer_gets / q.executions) AS buffer_per_exec,
                   ROUND(q.elapsed_time / q.executions) AS cpu_time_per_exec,
                   q.cpu_time,
                   q.elapsed_time,
                   q.disk_reads,
                   q.rows_processed
              FROM v$session s, v$process b, v$sql q
             WHERE s.sql_hash_value = q.hash_value
               AND s.paddr = b.addr
               AND s.status = 'ACTIVE'
               AND s.TYPE = 'USER'
               AND q.buffer_gets > 0
               AND q.executions > 0
             ORDER BY buffer_per_exec DESC)
     WHERE ROWNUM <= 10;
    ####################################################################################################


    --監控BufferCache命中率
    SELECT a.value + b.value logical_reads, c.value phys_reads,
           ROUND (100 * (1 - c.value / (a.value + b.value)), 4) hit_ratio
      FROM v$sysstat a, v$sysstat b, v$sysstat c
     WHERE a.NAME = 'db block gets'
       AND b.NAME = 'consistent gets'
       AND c.NAME = 'physical reads';

    --監控LibraryCache命中率
    SELECT SUM (pins) total_pins, SUM (reloads) total_reloads,
           SUM (reloads) / SUM (pins) * 100 libcache_reload_ratio
      FROM v$librarycache;

    --查詢產生的跟蹤文件名
    SELECT p1.VALUE || '/' || p2.VALUE || '_ora_' || p.spid || '.trc' filename
      FROM v$process p, v$session s, v$parameter p1, v$parameter p2
     WHERE p1.NAME = 'user_dump_dest'
       AND p2.NAME = 'db_name'
       AND p.addr = s.paddr
       AND s.audsid = USERENV ('SESSIONID');

    --刪除表中的重復記錄
    DELETE FROM table_name a
          WHERE ROWID >
                   (SELECT MIN (ROWID)
                      FROM table_name b
                     WHERE b.pk_column_1 = a.pk_column_1
                       AND b.pk_column_2 = a.pk_column_2);
    posted on 2010-02-03 17:09 王總兵 閱讀(399) 評論(0)  編輯  收藏 所屬分類: DataBase
    主站蜘蛛池模板: 中文字幕不卡亚洲| 亚洲精品无码99在线观看| 亚洲视频在线观看网址| 免费在线中文日本| 毛片在线全部免费观看| 久久精品国产亚洲一区二区三区 | 在线观看免费人成视频| 亚洲一区二区三区无码影院| 亚洲人成在线精品| 国产99精品一区二区三区免费| 在线观看的免费网站| 亚洲高清毛片一区二区| 69影院毛片免费观看视频在线| 亚洲黄色在线观看视频| 国产成人免费网站| 看一级毛片免费观看视频| 亚洲麻豆精品国偷自产在线91| 一级日本高清视频免费观看| 好看的亚洲黄色经典| 69视频在线是免费观看| 永久亚洲成a人片777777| 久久国产乱子伦精品免费看| 久久亚洲精品无码VA大香大香| 青青草免费在线视频| 水蜜桃视频在线观看免费| 亚洲日韩中文字幕在线播放| 一级女性全黄久久生活片免费| 波多野结衣久久高清免费| 新最免费影视大全在线播放| 亚洲av永久无码精品漫画 | 免费无码又爽又刺激高潮软件 | 亚洲一区无码中文字幕| **毛片免费观看久久精品| 国产精品亚洲色图| 亚洲AV无码乱码在线观看富二代 | 国产又黄又爽胸又大免费视频| 亚洲国产一区明星换脸| 99视频在线免费| 麻豆亚洲av熟女国产一区二| 精品国产精品久久一区免费式| 中国一级毛片视频免费看|