Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

0

积分

1

好友

8

主题
1#
发表于 2014-9-17 16:09:14 | 查看: 2625| 回复: 1
一,版本
     操作系统版本:AIX 6001
        数据库版本:11.2.0.3

二,问题
  今天在做数据库巡检的时候,发现V$session_longops中有多条ELAPSED_SECONDS 达到十几万秒的操作
  1. SQL>  select SID,SERIAL#,OPNAME,TARGET,TARGET_DESC,UNITS,START_TIME,LAST_UPDATE_TIME,TIMESTAMP,TIME_REMAINING,ELAPSED_SECONDS,CONTEXT,MESSAGE,USERNAME from v$session_longops where sql_id='gg016jx9ddbqk';


  2.    SID    SERIAL# OPNAME     TARGET     TARGE UNITS    START_TIME   LAST_UPDATE_ TIMESTAMP    TIME_REMAINING ELAPSED_SECONDS    CONTEXT MESSAGE    USERNAME

  3. ------ ---------- ---------- ---------- ----- -------- ------------ ------------ ------------ -------------- --------------- ---------- ---------- --------

  4.    260      10741 Table Scan FILEINTER.       Blocks   15-SEP-14    15-SEP-14                              0             206          0 Table Scan FILEINTE

  5.                              V_CHANNEL_                                                                                                 :  FILEINT R

  6.                              PRODUCT                                                                                                    ER.V_CHANN

  7.                                                                                                                                         EL_PRODUCT

  8.                                                                                                                                         : 17151 ou

  9.                                                                                                                                         t of 17151

  10.                                                                                                                                          Blocks do

  11.                                                                                                                                         ne


  12.   2461      28913 Table Scan FILEINTER.       Blocks   27-AUG-14    29-AUG-14                              0          177729          0 Table Scan FILEINTE

  13.                              V_CHANNEL_                                                                                                 :  FILEINT R

  14.                              PRODUCT                                                                                                    ER.V_CHANN

  15.                                                                                                                                         EL_PRODUCT

  16.                                                                                                                                         : 17151 ou

  17.                                                                                                                                         t of 17151

  18.                                                                                                                                          Blocks do

  19.                                                                                                                                         ne
复制代码
#如上查出的两条记录是对同一张表的 table scan操作,但是一个是200多秒,一个是十几万秒,这个是怎么回事呢?(表大小有130M左右,有50几万的记录数)

3,疑问
  请问怎么同样的操作记录的时间会差距这么大呢?
  我手动跑了一下同样的语句,只耗时几十秒而已
2#
发表于 2014-9-17 18:51:32
你可以基于AWR 具体诊断 其运行情况,相关脚本:
  1. SELECT *
  2.     FROM (SELECT '1.v$sql'||'实例号:'||GV$SQL.inst_id source,
  3.                  SQL_ID,
  4.                  plan_hash_value,
  5.                  TO_CHAR (FIRST_LOAD_TIME) begin_time,
  6.                  '在cursor cache中' end_time,
  7.                  executions "No. of exec",
  8.                  (buffer_gets / executions) "LIO/exec",
  9.                  (cpu_time / executions / 1000000) "CPUTIM/exec",
  10.                  (elapsed_time / executions / 1000000) "ETIME/exec",
  11.                  (disk_reads / executions) "PIO/exec",
  12.                  (ROWS_PROCESSED / executions) "ROWs/exec"
  13.             FROM Gv$SQL
  14.            WHERE sql_id = '&A'
  15.           UNION ALL
  16.           SELECT '2.sqltuning set' source,
  17.                  sql_id,
  18.                  plan_hash_value,
  19.                  'JUST SQLSET NO DATE' begin_time,
  20.                  'JUST SQLSET NO DATE' end_time,
  21.                  EXECUTIONS "No. of exec",
  22.                  (buffer_gets / executions) "LIO/exec",
  23.                  (cpu_time / executions / 1000000) "CPUTIM/exec",
  24.                  (elapsed_time / executions / 1000000) "ETIME/exec",
  25.                  (disk_reads / executions) "PIO/exec",
  26.                  (ROWS_PROCESSED / executions) "ROWs/exec"
  27.             FROM dba_sqlset_statements
  28.            WHERE SQL_ID = '&A'
  29.           UNION ALL
  30.           SELECT '3.dba_advisor_sqlstats' source,
  31.                  sql_id,
  32.                  plan_hash_value,
  33.                  'JUST SQLSET NO DATE' begin_time,
  34.                  'JUST SQLSET NO DATE' end_time,
  35.                  EXECUTIONS "No. of exec",
  36.                  (buffer_gets / executions) "LIO/exec",
  37.                  (cpu_time / executions / 1000000) "CPUTIM/exec",
  38.                  (elapsed_time / executions / 1000000) "ETIME/exec",
  39.                  (disk_reads / executions) "PIO/exec",
  40.                  (ROWS_PROCESSED / executions) "ROWs/exec"
  41.             FROM dba_sqlset_statements
  42.            WHERE SQL_ID = '&A'
  43.           UNION ALL
  44.           SELECT DISTINCT
  45.                  '4.dba_hist_sqlstat' || '实例号:' || SQL.INSTANCE_NUMBER
  46.                     source,
  47.                  sql_id,
  48.                  PLAN_HASH_VALUE,
  49.                  TO_CHAR (s.BEGIN_INTERVAL_TIME ,'YYYY-MM-DD hh24:mi:ss') begin_time,
  50.                  TO_CHAR (s.END_INTERVAL_TIME,'YYYY-MM-DD hh24:mi:ss') end_time,
  51.                  SQL.executions_delta,
  52.                  SQL.buffer_gets_delta
  53.                  / DECODE (NVL (SQL.executions_delta, 0),
  54.                            0, 1,
  55.                            SQL.executions_delta)
  56.                     "LIO/exec",
  57.                  (SQL.cpu_time_delta / 1000000)
  58.                  / DECODE (NVL (SQL.executions_delta, 0),
  59.                            0, 1,
  60.                            SQL.executions_delta)
  61.                     "CPUTIM/exec",
  62.                  (SQL.elapsed_time_delta / 1000000)
  63.                  / DECODE (NVL (SQL.executions_delta, 0),
  64.                            0, 1,
  65.                            SQL.executions_delta)
  66.                     "ETIME/exec",
  67.                  SQL.DISK_READS_DELTA
  68.                  / DECODE (NVL (SQL.executions_delta, 0),
  69.                            0, 1,
  70.                            SQL.executions_delta)
  71.                     "PIO/exec",
  72.                  SQL.ROWS_PROCESSED_DELTA
  73.                  / DECODE (NVL (SQL.executions_delta, 0),
  74.                            0, 1,
  75.                            SQL.executions_delta)
  76.                     "ROWs/exec"
  77.             FROM dba_hist_sqlstat SQL, dba_hist_snapshot s
  78.            WHERE     SQL.INSTANCE_NUMBER = s.INSTANCE_NUMBER
  79.                  AND SQL.dbid = (SELECT dbid FROM v$database)
  80.                  AND s.snap_id = SQL.snap_id
  81.                  AND sql_id IN ('&A'))
  82. ORDER BY source, begin_time DESC;
复制代码

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-5-17 15:45 , Processed in 0.046341 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569