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

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

11

积分

0

好友

14

主题
1#
发表于 2013-7-11 21:20:08 | 查看: 3352| 回复: 6
本帖最后由 wengtf 于 2013-7-11 21:46 编辑

Env:11.1.0.7  rac on linux 64bit
业务系统需要在早上7点半跑一个批(存储过程),但是现在生产环境和测试环境执行计划中,prod比testing Fatch数据的时间长400秒,目前排除了网络问题。附件是7月11日上午的statspack 和2个前2天 每个节点的awr,有劳。

##AWR报告中SQL * Net more data from dblink 等待事件较多。

生产环境
*****************************************************************
  1. SQL ID: 8c21hbhf1t608
  2. Plan Hash: 384927267
  3. SELECT A.M2PNO, A.INS_CODE SOURCELIB, A.M2PCO, B.ACPLAN,
  4.   SUM(DECODE(TRIM(M2TCOD),'TUC',A.M2AMTF,'TUP',A.M2AMTF,'LSC',A.M2AMTF,'LSP',
  5.   A.M2AMTF,'CNL',-1*A.M2AMTF)) AMT652
  6. FROM
  7. RLS_LFPUFTDH@BFR A, (SELECT ACPNO,MAX(ACPLAN) ACPLAN FROM RLS_TEMP_LFPACT
  8.   WHERE ACTCD IN ('Z1', 'Z2', 'Z3', 'Z4') AND ACDOT = :B1 GROUP BY ACPNO) B
  9.   WHERE A.M2TCOD IN ('CNL','TUC','TUP','LSC','LSP') AND A.M2PNO = B.ACPNO
  10.   GROUP BY A.M2PNO, A.INS_CODE, A.M2PCO, B.ACPLAN


  11. call     count       cpu    elapsed       disk      query    current        rows
  12. ------- ------  -------- ---------- ---------- ---------- ----------  ----------
  13. Parse        1      0.00       0.00          0          0          0           0
  14. Execute      1      0.00       0.02          0          1          0           0
  15. Fetch       53      0.24     502.94          0         27          0          52
  16. ------- ------  -------- ---------- ---------- ---------- ----------  ----------
  17. total       55      0.25     502.96          0         28          0          52

  18. Misses in library cache during parse: 1
  19. Misses in library cache during execute: 1
  20. Optimizer mode: ALL_ROWS
  21. Parsing user id: 82     (recursive depth: 1)

  22. Rows     Row Source Operation
  23. -------  ---------------------------------------------------
  24.      52  HASH GROUP BY (cr=27 pr=0 pw=0 time=0 us cost=11268 size=2432 card=38)
  25.      57   HASH JOIN  (cr=27 pr=0 pw=0 time=0 us cost=11267 size=60416 card=944)
  26.     159    VIEW  (cr=27 pr=0 pw=0 time=0 us cost=10 size=2703 card=159)
  27.     159     HASH GROUP BY (cr=27 pr=0 pw=0 time=0 us cost=10 size=5406 card=159)
  28.     159      TABLE ACCESS FULL RLS_TEMP_LFPACT (cr=27 pr=0 pw=0 time=0 us cost=9 size=5406 card=159)
  29. 138372    REMOTE  RLS_LFPUFTDH (cr=0 pr=0 pw=0 time=10377402 us cost=11251 size=36344207 card=773281)

  30. ********************************************************************************

复制代码
测试环境:
  1. ********************************************************************************

  2. SQL ID: 8c21hbhf1t608
  3. Plan Hash: 384927267
  4. SELECT A.M2PNO, A.INS_CODE SOURCELIB, A.M2PCO, B.ACPLAN,
  5.   SUM(DECODE(TRIM(M2TCOD),'TUC',A.M2AMTF,'TUP',A.M2AMTF,'LSC',A.M2AMTF,'LSP',
  6.   A.M2AMTF,'CNL',-1*A.M2AMTF)) AMT652
  7. FROM
  8. RLS_LFPUFTDH@BFR A, (SELECT ACPNO,MAX(ACPLAN) ACPLAN FROM RLS_TEMP_LFPACT
  9.   WHERE ACTCD IN ('Z1', 'Z2', 'Z3', 'Z4') AND ACDOT = :B1 GROUP BY ACPNO) B
  10.   WHERE A.M2TCOD IN ('CNL','TUC','TUP','LSC','LSP') AND A.M2PNO = B.ACPNO
  11.   GROUP BY A.M2PNO, A.INS_CODE, A.M2PCO, B.ACPLAN


  12. call     count       cpu    elapsed       disk      query    current        rows
  13. ------- ------  -------- ---------- ---------- ---------- ----------  ----------
  14. Parse        1      0.00       0.00          0          0          0           0
  15. Execute      1      0.00       0.00          0          1          0           0
  16. Fetch       53      0.25     119.88          0         27          0          52
  17. ------- ------  -------- ---------- ---------- ---------- ----------  ----------
  18. total       55      0.26     119.88          0         28          0          52

  19. Misses in library cache during parse: 1
  20. Misses in library cache during execute: 1
  21. Optimizer mode: ALL_ROWS
  22. Parsing user id: 134     (recursive depth: 1)

  23. Rows     Row Source Operation
  24. -------  ---------------------------------------------------
  25.      52  HASH GROUP BY (cr=27 pr=0 pw=0 time=0 us cost=11268 size=2432 card=38)
  26.      57   HASH JOIN  (cr=27 pr=0 pw=0 time=0 us cost=11267 size=60416 card=944)
  27.     159    VIEW  (cr=27 pr=0 pw=0 time=0 us cost=10 size=2703 card=159)
  28.     159     HASH GROUP BY (cr=27 pr=0 pw=0 time=0 us cost=10 size=5406 card=159)
  29.     159      TABLE ACCESS FULL RLS_TEMP_LFPACT (cr=27 pr=0 pw=0 time=0 us cost=9 size=5406 card=159)
  30. 138372    REMOTE  RLS_LFPUFTDH (cr=0 pr=0 pw=0 time=125985 us cost=11251 size=36344207 card=773281)

  31. ********************************************************************************

复制代码

trace & awr.zip

214.48 KB, 下载次数: 1343

2#
发表于 2013-7-11 21:43:13
138372    REMOTE  RLS_LFPUFTDH (cr=0 pr=0 pw=0 time=10377402 us cost=11251 size=36344207 card=773281)

由于涉及到 远程对象 所以这里看到的 逻辑读等因素是不真实的

回复 只看该作者 道具 举报

3#
发表于 2013-7-11 21:45:44
REMOTE  RLS_LFPUFTDH (cr=0 pr=0 pw=0 time=10377402 us cost=11251 size=36344207 card=773281)

time=10377402 us

VS


138372    REMOTE  RLS_LFPUFTDH (cr=0 pr=0 pw=0 time=125985 us cost=11251 size=36344207 card=773281)
time=125985 us

看这2个时间点可以 确定 不是真的没有网络问题

回复 只看该作者 道具 举报

4#
发表于 2013-7-11 21:54:21
Maclean Liu(刘相兵 发表于 2013-7-11 21:45
REMOTE  RLS_LFPUFTDH (cr=0 pr=0 pw=0 time=10377402 us cost=11251 size=36344207 card=773281)

time=10 ...

我不确定这个时间点是否是网络上消耗的时间,但是从比例上来看,相差10倍的时间和最终fetch得到数据的时间最多4倍相差有点大啊。

回复 只看该作者 道具 举报

5#
发表于 2013-7-11 21:58:40
select /*+ gather_plan_statistics*/ A.M2PNO, A.INS_CODE SOURCELIB, A.M2PCO, B.ACPLAN,
  SUM(DECODE(TRIM(M2TCOD),'TUC',A.M2AMTF,'TUP',A.M2AMTF,'LSC',A.M2AMTF,'LSP',
  A.M2AMTF,'CNL',-1*A.M2AMTF)) AMT652
FROM
RLS_LFPUFTDH@BFR A, (SELECT ACPNO,MAX(ACPLAN) ACPLAN FROM RLS_TEMP_LFPACT
  WHERE ACTCD IN ('Z1', 'Z2', 'Z3', 'Z4') AND ACDOT = :B1 GROUP BY ACPNO) B
  WHERE A.M2TCOD IN ('CNL','TUC','TUP','LSC','LSP') AND A.M2PNO = B.ACPNO
  GROUP BY A.M2PNO, A.INS_CODE, A.M2PCO, B.ACPLAN;

set linesize 140 pagesize 2000
SELECT * FROM TABLE(dbms_xplan.display_cursor(NULL,NULL,'ALLSTATS LAST'));


给出以上输出

回复 只看该作者 道具 举报

6#
发表于 2013-7-12 22:00:19
本帖最后由 wengtf 于 2013-7-12 22:03 编辑

加hint后的sqlplan,有点晚到了(我朋友测试)时,由于本地的这张表是张临时表,在存储过程跑完之后就清零了,现在执行那条SQL语句,由于本地表是0条记录,所以很快就出了结果,有劳ML再提比较赞的建议

statistic.zip

39.61 KB, 下载次数: 1369

回复 只看该作者 道具 举报

7#
发表于 2013-7-13 22:22:06
无法比较 度量真实的情况,我们无法给出有价值的意见

回复 只看该作者 道具 举报

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

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

GMT+8, 2024-12-29 16:22 , Processed in 0.050861 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

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