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

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

52

积分

0

好友

0

主题
1#
发表于 2012-7-24 16:41:24 | 查看: 8728| 回复: 34
麻烦各位刘大和各位大神看下问题。。。。多谢

SQL> select * from v$version;

BANNER
----------------------------------------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0      Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Productio
NLSRTL Version 10.2.0.4.0 - Production


SQL> show parameter cursor

NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
cursor_sharing                       string                 EXACT
cursor_space_for_time           boolean                FALSE
open_cursors                         integer                300
session_cached_cursors        integer                20

SQL> select ksppinm, ksppity from x$ksppi where ksppinm  = '_kgl_bucket_count';

KSPPINM                           KSPPITY
------------------------------ ----------
_kgl_bucket_count                       3


SQL> show parameter level

NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
audit_syslog_level                   string
plsql_optimize_level                 integer                2
statistics_level                     string                 TYPICAL


现在的status。。。

Topas Monitor for host:                 
Tue Jul 24 16:39:04 2012   Interval:  2         

CPU  User%  Kern%  Wait%  Idle%                 
ALL   97.4         1.9        0.0    0.7                 

Network  KBPS   I-Pack  O-Pack   KB-In  KB-Out  
Total  2445.5   2420.0  1228.0  2342.1   103.4  


问题SQL语句是。。。就这一句。。。

INSERT INTO tbl_ctjs (gsdm,xzdm,gappno,bdh,ryxh,datasrc,rowid_from,flag,bbrxb,bdzt,jffs,jfqx,sjjfqx,bxqx,lqfs,lqnl,tbnl,cbrq,ksrq,tzrq,bdztbhrq,xcjfqx,zjqx,cjrq,jfcs,jfl,jfbz,fs,ljjnbf,dqje,yjbf,cbzjf,zhye,swrq,swgfje,dqtbje,sum_dispay,sum_surpay,sum_mq,xsqd,bdjgnf,dnbf,dnpgbf,prem_flag,kqx,sxsjbf,basres,pdres,cv,zbj,sxminus,swzbj,tbzbj,zbjjsbzw,ylwlje,ypwpje,wjzbj,wjzbjbzw,pvpension,initialpay,njjs_flag,dqjnbf,dqjfzrqq,zjjfrq,xbbf,dnjfcs,dnjfbf,ydfy,zjyj,jjyj,glf,fyjsbzw,fy_adjust,fy_adjust_flag,zrswbe,ywswbe,ywscbe,yxbe,bejsbzw,living_p1,death_p1,living_p2,death_p2,living_p3,death_p3,living_fp,living_flag,jfxbe,yqswgf,cfnled,dqyn,yqswjsbzw,lqnx,lpgfrq,dnlqje,int_expect,expect_flag,snwzbj,dqylje,yqswgfcb,sum_sc,sum_medpay,gpolicyno,tb_cv,snmbdztbhrq,bmdm,ibnr,dnlpje,dntbje,dqmqje,dqnjlqje,dqqtje,deptno_cw,kxqydfy,kxqdnpgbf,pgfy,yqscgf,fa_sp,snmbdzt,errortype,estres,recalcflag,div_add,xcjfrq,res0,bdzt0,stopdate,begdate,zjfxrq,reljfqx,xzdm8,grace_bf) VALUES (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19,:20,:21,:22,:23,:24,:25,:26,:27,:28,:29,:30,:31,:32,:33,:34,:35,:36,:37,:38,:39,:40,:41,:42,:43,:44,:45,:46,:47,:48,:49,:50,:51,:52,:53,:54,:55,:56,:57,:58,:59,:60,:61,:62,:63,:64,:65,:66,:67,:68,:69,:70,:71,:72,:73,:74,:75,:76,:77,:78,:79,:80,:81,:82,:83,:84,:85,:86,:87,:88,:89,:90,:91,:92,:93,:94,:95,:96,:97,:98,:99,:100,:101,:102,:103,:104,:105,:106,:107,:108,:109,:110,:111,:112,:113,:114,:115,:116,:117,:118,:119,:120,:121,:122,:123,:124,:125,:126,:127,:128,:129,:130,:131,:132)

awrrpt_1_170_173.html

301.5 KB, 下载次数: 898

2#
发表于 2012-7-24 16:44:05
调整过cursor_sharing和session_cached_cursors均无效。。。附上相关SGA信息

SQL> show parameter sgastat


NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
lock_sga                             boolean                FALSE
pre_page_sga                         boolean                FALSE
sga_max_size                         big integer            32G
sga_target                           big integer            32G
SQL> show parameter shared


NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
hi_shared_memory_address             integer            0
max_shared_servers                   integer
shared_memory_address                integer                0
shared_pool_reserved_size            big integer          156M
shared_pool_size                     big integer                  0
shared_server_sessions               integer
shared_servers                       integer                      0

回复 只看该作者 道具 举报

3#
发表于 2012-7-24 16:47:51
执行环境是8台服务器会同时开30个并行执行这句SQL,执行初期CPU还是可以,15分钟之后idle直线下降,期间无0431错误,各位大神help~

回复 只看该作者 道具 举报

4#
发表于 2012-7-24 16:50:37
看下这个语句的version_count是多少?如果怀疑这条件引起,最大可能就是语句不能共享,导致version_count超高;

[ 本帖最后由 KFC 于 2012-7-24 16:52 编辑 ]

回复 只看该作者 道具 举报

5#
发表于 2012-7-24 16:50:59
db版本也patch过11.2.0.2.2和10.2.0.5 psu 7,均无效...

回复 只看该作者 道具 举报

6#
发表于 2012-7-24 16:52:06

回复 4# 的帖子

SQL> select version_count from v$sqlarea where sql_id = '4hbfsfnnydqnh';

VERSION_COUNT
-------------
          231

回复 只看该作者 道具 举报

7#
发表于 2012-7-24 16:54:24
SQL> SELECT parse_calls, executions
  2  FROM v$sqlarea
  3  WHERE parse_calls > 100
  4  AND executions < 2 * parse_calls
  5  AND sql_id = '4hbfsfnnydqnh';

PARSE_CALLS EXECUTIONS
----------- ----------
    2150164    2150343

回复 只看该作者 道具 举报

8#
发表于 2012-7-24 16:54:41
执行insert 语句的sql,等待事件是什么

回复 只看该作者 道具 举报

9#
发表于 2012-7-24 16:55:33
SQL> select sql_id,child_number,executions from v$sql where sql_id = '4hbfsfnnydqnh';

SQL_ID                     CHILD_NUMBER EXECUTIONS
-------------------------- ------------ ----------
4hbfsfnnydqnh                         0      78539
4hbfsfnnydqnh                         1      16146
4hbfsfnnydqnh                         2      29946
4hbfsfnnydqnh                         3      17277
4hbfsfnnydqnh                         4       1919
4hbfsfnnydqnh                         5     292539
4hbfsfnnydqnh                         6     532465
4hbfsfnnydqnh                         7      22543
4hbfsfnnydqnh                         8     115679
4hbfsfnnydqnh                         9      31579
4hbfsfnnydqnh                        10       3605

SQL_ID                     CHILD_NUMBER EXECUTIONS
-------------------------- ------------ ----------
4hbfsfnnydqnh                        11        298
4hbfsfnnydqnh                        12      14229
4hbfsfnnydqnh                        13      29885
4hbfsfnnydqnh                        14     182658
4hbfsfnnydqnh                        15     197822
4hbfsfnnydqnh                        16        842
4hbfsfnnydqnh                        17         14
4hbfsfnnydqnh                        18      15692
4hbfsfnnydqnh                        19         50
4hbfsfnnydqnh                        20        110
4hbfsfnnydqnh                        21        970

SQL_ID                     CHILD_NUMBER EXECUTIONS
-------------------------- ------------ ----------
4hbfsfnnydqnh                        22      31799
4hbfsfnnydqnh                        23      60322
4hbfsfnnydqnh                        24        593
4hbfsfnnydqnh                        25      20241
4hbfsfnnydqnh                        26     100063
4hbfsfnnydqnh                        27       1149
4hbfsfnnydqnh                        28        413
4hbfsfnnydqnh                        29         63
4hbfsfnnydqnh                        30      37795
4hbfsfnnydqnh                        31      46729
4hbfsfnnydqnh                        32       2093

回复 只看该作者 道具 举报

10#
发表于 2012-7-24 16:56:37

回复 8# 的帖子

wait event两个latch: library cache和SQL*Net message from client

回复 只看该作者 道具 举报

11#
发表于 2012-7-24 16:58:58

回复 4# 的帖子

恩,确实没共享,我猜是绑定变量的值长度变化太大导致的,各位有solution么。

回复 只看该作者 道具 举报

12#
发表于 2012-7-24 17:32:33
附上trace。。。
TKPROF: Release 10.2.0.4.0 - Production on Tue Jul 24 16:11:25 2012

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

Trace file: jsdb_ora_56362500_10046.trc
Sort options: default

********************************************************************************
count    = number of times OCI procedure was executed
cpu      = cpu time in seconds executing
elapsed  = elapsed time in seconds executing
disk     = number of physical reads of buffers from disk
query    = number of buffers gotten for consistent read
current  = number of buffers gotten in current mode (usually for update)
rows     = number of rows processed by the fetch or execute call
********************************************************************************

INSERT INTO act.tbl_ctjc_1
        (gsdm, bdh, ryxh, id, tbnl, bbrxb, cbrq, jfzrzzrq, begdate, stopdate, jffs, jfqx, reljfqx, xzdm, xzmc, lqfs,
         ljjnbf, xbbf, dqjnbf, yjbf, cbzjf, zjjfrq, dqjfzrqq, xcjfrq, jfcs, lqnl, bdzt, fs, jfbz, jfl, bdztbhrq,
         zjfxrq, njlqje, sum_surpay, sum_dispay, sum_medpay, ylwlje, ypwpje, cv, scgfrq, dnlqje, dqtbje, dnlpje,
         lqyy, swyy, hs, xyzk, zyzk, swrq, lpgfrq, dnjbje, djje, zhye, dqkf, sum_mq, sum_sc, dqnjlqje, dqylwlje,
         dqmqje, dqqtje, swgfje, dqylje, xsqd, deptno, cjrq, chk_flag, chk_flag1, lqnx, apid, aprela, apsex, apbirth,
         apjob, apmarri, chklevel, stdrate, unstdrate, addrate, waivdate, padsign, paddate, gpolicyno, grace_bf,
         direct_yj, deptno_cw, empno, degreeno, ibnr, job_version, res0, bdzt0, ischeck, isflag, isxb, islqfs,
         isjffs, isjfqx, istbnl, islqnl, isbdzt, isxcjfrq, iscbrq, isbdztbhrq, isjfbz, xzdm8, bxqx, wjres0)
VALUES
        ('XIM', '310311114731760', 0, '37010220081014008X', 0, '2', to_date('2011-08-17', 'yyyy-mm-dd'),
         to_date('2011-08-24', 'yyyy-mm-dd'), to_date('2011-08-19', 'yyyy-mm-dd'),
         to_date('2011-08-24', 'yyyy-mm-dd'), '01', 0, 1, 'EA4601', '闄勫姞鏃呮父绐佸彂鎬ユ€х梾瀹氭湡瀵块櫓', '1', 1.8, 0, 0, 0, 0,
         to_date('2011-10-11', 'yyyy-mm-dd'), to_date('2011-08-19', 'yyyy-mm-dd'), NULL, 1, 99, '2', 3, 0.6, 1, NULL,
         NULL, 0, 0, 0, 0, NULL, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, '32', NULL, to_date('2011-12-31', 'yyyy-mm-dd'), NULL, NULL, NULL, NULL, NULL, NULL, NULL,
         NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '310311114731760', 0, 0, NULL, NULL, NULL, NULL, NULL,
         0, '2', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '26460100', '0', 0)
call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          1          5           1
Fetch        0      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        2      0.00       0.00          0          1          5           1

Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: SYS

Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  SQL*Net message to client                       2        0.00          0.00
  SQL*Net message from client                     2        0.00          0.00
********************************************************************************

commit


call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          1           0
Fetch        0      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        2      0.00       0.00          0          0          1           0

Misses in library cache during parse: 0
Parsing user id: SYS

Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  log file sync                                   1        0.00          0.00
  SQL*Net message to client                       1        0.00          0.00
  SQL*Net message from client                     1        0.00          0.00
********************************************************************************

alter session set events '10046 trace name context off'
call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        0      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        2      0.00       0.00          0          0          0           0

Misses in library cache during parse: 0
Parsing user id: SYS



********************************************************************************

OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS

call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        3      0.00       0.00          0          0          0           0
Execute      3      0.00       0.00          0          1          6           1
Fetch        0      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        6      0.00       0.00          0          1          6           1

Misses in library cache during parse: 0

Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  SQL*Net message to client                       3        0.00          0.00
  SQL*Net message from client                     3        0.00          0.00
  log file sync                                   1        0.00          0.00


OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS

call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        0      0.00       0.00          0          0          0           0
Execute      0      0.00       0.00          0          0          0           0
Fetch        0      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        0      0.00       0.00          0          0          0           0

Misses in library cache during parse: 0

    3  user  SQL statements in session.
    0  internal SQL statements in session.
    3  SQL statements in session.
********************************************************************************
Trace file: jsdb_ora_56362500_10046.trc
Trace file compatibility: 10.01.00
Sort options: default

       1  session in tracefile.
       3  user  SQL statements in trace file.
       0  internal SQL statements in trace file.
       3  SQL statements in trace file.
       3  unique SQL statements in trace file.
      65  lines in trace file.
       5  elapsed seconds in trace file.

回复 只看该作者 道具 举报

13#
发表于 2012-7-24 17:53:37
1.字符集有问题呢吧
闄勫姞鏃呮父绐佸彂鎬ユ€х梾瀹氭湡瀵块櫓
2.i/o 有没问题呢
提交就 log file sync

回复 只看该作者 道具 举报

14#
发表于 2012-7-24 18:04:11

回复 13# 的帖子

你看到的乱码好像是系统做的脱敏,不是乱码,是中文,另外IO压力也不算很大

回复 只看该作者 道具 举报

15#
发表于 2012-7-24 18:10:20
insert 没有执行成功?还是没有提交?

回复 只看该作者 道具 举报

16#
发表于 2012-7-24 18:12:58

回复 4# 的帖子

version_count在awr里反应出来只有283,但是SQL ordered by Parse Calls却有4,253,243,绑定变量参数值好像忽长忽短会有影响吧。

回复 只看该作者 道具 举报

17#
发表于 2012-7-24 18:13:46

回复 15# 的帖子

insert执行成功的,外部java程序控制每200次insert,执行一次commit。

回复 只看该作者 道具 举报

18#
发表于 2012-7-24 21:12:32
这个AWR 报告似乎有些问题:

Elapsed:                  103.41 (mins)                  
DB Time:                  4,903.54 (mins)                  

DB TIME非常高

Event        Waits        Time(s)        Avg Wait(ms)        % Total Call Time        Wait Class
CPU time                  601                  .2         
latch: library cache         703,527         31         0         .0        Concurrency
cursor: pin S wait on X         2,449         10         4         .0        Concurrency
latch: library cache lock         42,916         6         0         .0        Concurrency
latch free         77         0         6         .0        Other


但是CPU TIME+ foreground wait time 只有不到1000s

Parse CPU to Parse Elapsd %:        这栏是空的



Statistic Name        Time (s)        % of DB Time
sql execute elapsed time        292,090.05        99.28
parse time elapsed        790.93        0.27
DB CPU        600.92        0.20
PL/SQL execution elapsed time        4.18        0.00
hard parse elapsed time        2.08        0.00
hard parse (sharing criteria) elapsed time        1.47        0.00
hard parse (bind mismatch) elapsed time        1.47        0.00
connection management call elapsed time        0.25        0.00
sequence load elapsed time        0.03        0.00
failed parse elapsed time        0.02        0.00
repeated bind elapsed time        0.00        0.00
DB time        294,212.63         
background elapsed time        13,234.98         
background cpu time        0.26         


解析时间仅占790.93 s


可能的一种情况 是 发生了严重的 cpu queue 队列等待, 建议你查验以下这个OS上是否有其他应用消耗了大量CPU TIME。

建议你上传 该时段的ASH


另你的问题

该语句 存在过多的绑定变量,可能导致sql因为bind mismatch而无法共享游标

INSERT INTO tbl_ctjs (gsdm,xzdm,gappno,bdh,ryxh,datasrc,rowid_from,flag,bbrxb,bdzt,jffs,jfqx,sjjfqx,bxqx,lqfs,lqnl,tbnl,cbrq,ksrq,tzrq,bdztbhrq,xcjfqx,zjqx,cjrq,jfcs,jfl,jfbz,fs,ljjnbf,dqje,yjbf,cbzjf,zhye,swrq,swgfje,dqtbje,sum_dispay,sum_surpay,sum_mq,xsqd,bdjgnf,dnbf,dnpgbf,prem_flag,kqx,sxsjbf,basres,pdres,cv,zbj,sxminus,swzbj,tbzbj,zbjjsbzw,ylwlje,ypwpje,wjzbj,wjzbjbzw,pvpension,initialpay,njjs_flag,dqjnbf,dqjfzrqq,zjjfrq,xbbf,dnjfcs,dnjfbf,ydfy,zjyj,jjyj,glf,fyjsbzw,fy_adjust,fy_adjust_flag,zrswbe,ywswbe,ywscbe,yxbe,bejsbzw,living_p1,death_p1,living_p2,death_p2,living_p3,death_p3,living_fp,living_flag,jfxbe,yqswgf,cfnled,dqyn,yqswjsbzw,lqnx,lpgfrq,dnlqje,int_expect,expect_flag,snwzbj,dqylje,yqswgfcb,sum_sc,sum_medpay,gpolicyno,tb_cv,snmbdztbhrq,bmdm,ibnr,dnlpje,dntbje,dqmqje,dqnjlqje,dqqtje,deptno_cw,kxqydfy,kxqdnpgbf,pgfy,yqscgf,fa_sp,snmbdzt,errortype,estres,recalcflag,div_add,xcjfrq,res0,bdzt0,stopdate,begdate,zjfxrq,reljfqx,xzdm8,grace_bf) VALUES (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19,:20,:21,:22,:23,:24,:25,:26,:27,:28,:29,:30,:31,:32,:33,:34,:35,:36,:37,:38,:39,:40,:41,:42,:43,:44,:45,:46,:47,:48,:49,:50,:51,:52,:53,:54,:55,:56,:57,:58,:59,:60,:61,:62,:63,:64,:65,:66,:67,:68,:69,:70,:71,:72,:73,:74,:75,:76,:77,:78,:79,:80,:81,:82,:83,:84,:85,:86,:87,:88,:89,:90,:91,:92,:93,:94,:95,:96,:97,:98,:99,:100,:101,:102,:103,:104,:105,:106,:107,:108,:109,:110,:111,:112,:113,:114,:115,:116,:117,:118,:119,:120,:121,:122,:123,:124,:125,:126,:127,:128,:129,:130,:131,:132)

回复 只看该作者 道具 举报

19#
发表于 2012-7-24 21:13:08
起初每秒插入多少行?(总的), 性能下降后是多少?

回复 只看该作者 道具 举报

20#
发表于 2012-7-24 21:20:22
alter中有没有反映什么异常,变量的值是怎么来的?

回复 只看该作者 道具 举报

21#
发表于 2012-7-24 21:21:22

回复 19# 的帖子

起初相当快,因为8个服务器,30个并行的原因,大概行数这里没做过统计,总之非常快,30分钟之后大概1秒钟只有20条左右insert,相当慢。

明天尝试去做下把数据类型全部设置为定长,避免bind mismatch,之后会上传ASH。

再次谢谢各位和刘大帮忙分析解决,后续还请再多多关注!

回复 只看该作者 道具 举报

22#
发表于 2012-7-24 21:21:51

回复 20# 的帖子

alert里没有任何warning和error,变量值是数据字典里取出来的

回复 只看该作者 道具 举报

23#
发表于 2012-7-25 10:55:03
上传最新的systemstate

jsdb_ora_17498706.txt

7.26 MB, 下载次数: 794

回复 只看该作者 道具 举报

24#
发表于 2012-7-25 10:57:12
当前系统状态。。。。
Topas Monitor for host:           
Wed Jul 25 10:56:06 2012   Interval:  2         

CPU  User%  Kern%  Wait%  Idle%                 
ALL   96.9      1.5         0.0      1.5                 

Network  KBPS   I-Pack  O-Pack   KB-In  KB-Out  
Total  3099.3   3082.0  1549.0  2969.1   130.1  

Disk    Busy%     KBPS     TPS KB-Read KB-Writ  
Total     3.0           3968.0   177.0     0.0  3968.0  

FileSystem        KBPS     TPS KB-Read KB-Writ  
Total                    3.4K    234.0     84.3        3.3K   

EVENTS/QUEUES    FILE/TTY                    
Cswitch    2854  Readch  2937.7K            
Syscall    4098  Writech 3399.2K            
Reads      1765  Rawin         0            
Writes      884  Ttyout      306            
Forks         0  Igets         0            
Execs         0  Namei       100            
Runqueue   63.5  Dirblk        0            
Waitqueue   0.5                              
                 MEMORY                     
PAGING           Real,MB   65536            
Faults       93K % Comp     24               
Steals        0  % Noncomp  58               
PgspIn        0  % Client   58

回复 只看该作者 道具 举报

25#
发表于 2012-7-25 12:12:30
今天又是1%了。。。按照刘大要求上传当前的报告

awrrpt_1_201_202.html

296.1 KB, 下载次数: 776

ashrpt_1_0725_1200.html

27.29 KB, 下载次数: 759

回复 只看该作者 道具 举报

26#
发表于 2012-7-25 17:00:07
执行次数最多的SQL才9454次

但parse call里的4hbfsfnnydqnh次数确有932.961次

这是BUG?

[ 本帖最后由 dba.liu 于 2012-7-25 17:15 编辑 ]

回复 只看该作者 道具 举报

27#
发表于 2012-7-25 17:19:38
select * from
   (select sql_id, count(child_number)
      from v$sql_shared_cursor
     group by sql_id
     order by count(child_number) desc)
where rownum <=5;


set serveroutput on


DECLARE
  v_count number;
  v_sql varchar2(500);
  v_sql_id varchar2(30) := '&sql_id';
BEGIN
  v_sql_id := lower(v_sql_id);
  dbms_output.put_line(chr(13)||chr(10));
  dbms_output.put_line('sql_id: '||v_sql_id);
  dbms_output.put_line('------------------------');
  FOR c1 in
    (select column_name
       from dba_tab_columns
      where table_name ='V_$SQL_SHARED_CURSOR'
        and column_name not in ('SQL_ID', 'ADDRESS', 'CHILD_ADDRESS', 'CHILD_NUMBER', 'REASON')
      order by column_id)
  LOOP
    v_sql := 'select count(*) from V_$SQL_SHARED_CURSOR
              where sql_id='||''''||v_sql_id||''''||'
              and '||c1.column_name||'='||''''||'Y'||'''';
    execute immediate v_sql into v_count;
    IF v_count > 0
    THEN
      dbms_output.put_line(' - '||rpad(c1.column_name,30)||' count: '||v_count);
    END IF;
  END LOOP;
END;
/

用这个脚本看看version count原因

回复 只看该作者 道具 举报

28#
发表于 2012-7-25 17:37:08

回复 26# 的帖子

据说PATCH都打过了。。。

回复 只看该作者 道具 举报

29#
发表于 2012-7-25 17:39:04

回复 27# 的帖子

此脚本之前run过,原因是BIND_MISMATCH

回复 只看该作者 道具 举报

30#
发表于 2012-7-26 13:43:33
COLUMN_VALUE
--------------------------------------------------------------------------------
Version Count Report Version 3.2.1 -- Today's Date 26-jul-12 13:31
RDBMS Version :10.2.0.4.0 Host: SXHSDB2 Instance 1 : jsdb
==================================================================
Addr: 0700000808F9A970  Hash_Value: 702995088  SQL_ID 4hbfsfnnydqnh
Sharable_Mem: 44670749 bytes   Parses: 3802277
Stmt:
0 INSERT INTO tbl_ctjs (gsdm,xzdm,gappno,bdh,ryxh,datasrc,rowid_fr
1 om,flag,bbrxb,bdzt,jffs,jfqx,sjjfqx,bxqx,lqfs,lqnl,tbnl,cbrq,ksr
2 q,tzrq,bdztbhrq,xcjfqx,zjqx,cjrq,jfcs,jfl,jfbz,fs,ljjnbf,dqje,yj
3 bf,cbzjf,zhye,swrq,swgfje,dqtbje,sum_dispay,sum_surpay,sum_mq,xs
4 qd,bdjgnf,dnbf,dnpgbf,prem_flag,kqx,sxsjbf,basres,pdres,cv,zbj,s

COLUMN_VALUE
--------------------------------------------------------------------------------
5 xminus,swzbj,tbzbj,zbjjsbzw,ylwlje,ypwpje,wjzbj,wjzbjbzw,pvpensi
6 on,initialpay,njjs_flag,dqjnbf,dqjfzrqq,zjjfrq,xbbf,dnjfcs,dnjfb
7 f,ydfy,zjyj,jjyj,glf,fyjsbzw,fy_adjust,fy_adjust_flag,zrswbe,yws
8 wbe,ywscbe,yxbe,bejsbzw,living_p1,death_p1,living_p2,death_p2,li
9 ving_p3,death_p3,living_fp,living_flag,jfxbe,yqswgf,cfnled,dqyn,
10 yqswjsbzw,lqnx,lpgfrq,dnlqje,int_expect,expect_flag,snwzbj,dqylj
11 e,yqswgfcb,sum_sc,sum_medpay,gpolicyno,tb_cv,snmbdztbhrq,bmdm,ib
12 nr,dnlpje,dntbje,dqmqje,dqnjlqje,dqqtje,deptno_cw,kxqydfy,kxqdnp
13 gbf,pgfy,yqscgf,fa_sp,snmbdzt,errortype,estres,recalcflag,div_ad
14 d,xcjfrq,res0,bdzt0,stopdate,begdate,zjfxrq,reljfqx,xzdm8,grace_
15 bf) VALUES (:1,:2,:3,:4,:5,:6,:7,:8,:9,:

COLUMN_VALUE
--------------------------------------------------------------------------------
16

Versions Summary
----------------
BIND_MISMATCH :307

Total Versions:307

Plan Hash Value Summary
-----------------------
Plan Hash Value Count

COLUMN_VALUE
--------------------------------------------------------------------------------
=============== =====
              0 308

~~~~~~~~~~~~~~~~~~~~~~~~~~~
Details for BIND_MISMATCH :

Consolidated details for :
BIND_MISMATCH,USER_BIND_PEEK_MISMATCH,BIND_UACS_DIFF and
BIND_EQUIV_FAILURE (Mislabled as ROW_LEVEL_SEC_MISMATCH BY bug 6964441 in 11gR1)

from v$sql_bind_capture

COLUMN_VALUE
--------------------------------------------------------------------------------
COUNT(*) POSITION MIN(MAX_LENGTH) MAX(MAX_LENGTH) DATATYPE (PRECISION,SCALE)
======== ======== =============== =============== ======== ================
     308        1              32              32        1 (,)
     308        2              32              32        1 (,)
     308        3              32              32        1 (,)
     308        4             128             128        1 (,)
     308        5              22              22        2 (,)
     308        6              32              32        1 (,)
     308        7              32              32        1 (,)
     308        8              32              32        1 (,)
     308        9              32              32        1 (,)

COLUMN_VALUE
--------------------------------------------------------------------------------
     308       10              32              32        1 (,)
     308       11              32              32        1 (,)
     308       12              22              22        2 (,)
     308       13              32              32        1 (,)
     262       14              32              32        1 (,)
      46       14              22              22        2 (,)
     308       15              32              32        1 (,)
     308       16              22              22        2 (,)
       4       17              32              32        1 (,)
     304       17              22              22        2 (,)
     308       18               7               7       12 (,)

COLUMN_VALUE
--------------------------------------------------------------------------------
     308       19              32              32        1 (,)
     308       20              32              32        1 (,)
     141       21              32              32        1 (,)
     167       21               7               7       12 (,)
     308       22              32              32        1 (,)
     308       23              32              32        1 (,)
     308       24               7               7       12 (,)
      41       25              32              32        1 (,)
     267       25              22              22        2 (,)
      33       26              32              32        1 (,)
     275       26              22              22        2 (,)

COLUMN_VALUE
--------------------------------------------------------------------------------
     308       27              22              22        2 (,)
     308       28              22              22        2 (,)
     308       29              22              22        2 (,)
     308       30              32              32        1 (,)
     308       31              22              22        2 (,)
     308       32              22              22        2 (,)
     308       33              22              22        2 (,)
     214       34              32              32        1 (,)
      94       34               7               7       12 (,)
.................................................省略N行.............................................
     206       63              32              32        1 (,)
     102       63               7               7       12 (,)
     111       64              32              32        1 (,)
     197       64               7               7       12 (,)
..................................................省略N行.............................................
     188       94              32              32        1 (,)
     120       94               7               7       12 (,)
     308       95              22              22        2 (,)
     308       96              32              32        1 (,)
     308       97              32              32        1 (,)
     308       98              32              32        1 (,)
     308       99              22              22        2 (,)

COLUMN_VALUE
--------------------------------------------------------------------------------
     308      100              22              22        2 (,)
     308      101              22              22        2 (,)
     308      102              22              22        2 (,)
     308      103              32             128        1 (,)
     308      104              32              32        1 (,)
     308      105              32              32        1 (,)
     308      106              32              32        1 (,)
     187      107              32              32        1 (,)
     121      107              22              22        2 (,)
     308      108              22              22        2 (,)
     308      109              32              32        1 (,)

COLUMN_VALUE
--------------------------------------------------------------------------------
     308      110              22              22        2 (,)
     308      111              22              22        2 (,)
     308      112              22              22        2 (,)
     308      113              32              32        1 (,)
     308      114              22              22        2 (,)
     308      115              22              22        2 (,)
     308      116              32              32        1 (,)
     308      117              22              22        2 (,)
     308      118              22              22        2 (,)
     308      119              32              32        1 (,)
     308      120              32              32        1 (,)

COLUMN_VALUE
--------------------------------------------------------------------------------
     308      121              32              32        1 (,)
     308      122              32              32        1 (,)
     308      123              22              22        2 (,)
      68      124              32              32        1 (,)
     240      124               7               7       12 (,)
      71      125              32              32        1 (,)
     237      125              22              22        2 (,)
     308      126              32              32        1 (,)
      15      127              32              32        1 (,)
     293      127               7               7       12 (,)
     308      128               7               7       12 (,)

COLUMN_VALUE
--------------------------------------------------------------------------------
     204      129              32              32        1 (,)
     104      129               7               7       12 (,)
      15      130              32              32        1 (,)
     293      130              22              22        2 (,)
     308      131              32              32        1 (,)
     308      132              22              22        2 (,)
####
To further debug Ask Oracle Support for the appropiate level LLL.
alter session set events
'immediate trace name cursortrace address 702995088, level LLL';
To turn it off do use address 1, level 2147483648

COLUMN_VALUE
--------------------------------------------------------------------------------
================================================================

199 rows selected.

各位大师,针对bind_mismatch的情况是否可以用rpad来变通处理呢

回复 只看该作者 道具 举报

31#
发表于 2012-7-27 13:37:25
经测试,rpad填充的变通办法也无效。。。

回复 只看该作者 道具 举报

32#
发表于 2012-7-27 18:41:17
/u01/oracle/admin/jsdb/udump/jsdb_ora_7866612.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining Scoring Engine
and Real Application Testing options
ORACLE_HOME = /u01/oracle/product/db10gr2
System name:
AIX
Node name:
SXHSDB2
Release:
1
Version:
6
Machine:
00F7158F4C00
Instance name: jsdb
Redo thread mounted by this instance: 1
Oracle process number: 45
Unix process pid: 7866612, image: oracle@SXHSDB2

*** 2012-07-27 18:23:34.103
*** SERVICE NAME:(SYS$USERS) 2012-07-27 18:23:34.102
*** SESSION ID:(1053.726) 2012-07-27 18:23:34.102
CUR#1 XSC 1104da220 CHILD#19 CI 7000007e0eacbf0 CTX 0
PARSING SQLTEXT=
INSERT INTO  /*+ cursor_sharing_exact */ tbl_ctjs (gsdm,xzdm,gappno,bdh,ryxh,datasrc,rowid_from,flag,bbrxb,bdzt,jffs,jfqx,sjjfqx,bxqx,lqfs,lqnl,tbnl,cbrq,ksrq,tzrq,bdztbhrq,xcjfqx,zjqx,cjrq,jfcs,jfl,jfbz,fs,ljjnbf,dqje,yjbf,cbzjf,zhye,swrq,swgfje,dqtbje,sum_dispay,sum_surpay,sum_mq,xsqd,bdjgnf,dnbf,dnpgbf,prem_flag,kqx,sxsjbf,basres,pdres,cv,zbj,sxminus,swzbj,tbzbj,zbjjsbzw,ylwlje,ypwpje,wjzbj,wjzbjbzw,pvpension,initialpay,njjs_flag,dqjnbf,dqjfzrqq,zjjfrq,xbbf,dnjfcs,dnjfbf,ydfy,zjyj,jjyj,glf,fyjsbzw,fy_adjust,fy_adjust_flag,zrswbe,ywswbe,ywscbe,yxbe,bejsbzw,living_p1,death_p1,living_p2,death_p2,living_p3,death_p3,living_fp,living_flag,jfxbe,yqswgf,cfnled,dqyn,yqswjsbzw,lqnx,lpgfrq,dnlqje,int_expect,expect_flag,snwzbj,dqylje,yqswgfcb,sum_sc,sum_medpay,gpolicyno,tb_cv,snmbdztbhrq,bmdm,ibnr,dnlpje,dntbje,dqmqje,dqnjlqje,dqqtje,deptno_cw,kxqydfy,kxqdnpgbf,pgfy,yqscgf,fa_sp,snmbdzt,errortype,estres,recalcflag,div_add,xcjfrq,res0,bdzt0,stopdate,begdate,zjfxrq,reljfqx,xzdm8,grace_bf) VALUES (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19,:20,:21,:22,:23,:24,:25,:26,:27,:28,:29,:30,:31,:32,:33,:34,:35,:36,:37,:38,:39,:40,:41,:42,:43,:44,:45,:46,:47,:48,:49,:50,:51,:52,:53,:54,:55,:56,:57,:58,:59,:60,:61,:62,:63,:64,:65,:66,:67,:68,:69,:70,:71,:72,:73,:74,:75,:76,:77,:78,:79,:80,:81,:82,:83,:84,:85,:86,:87,:88,:89,:90,:91,:92,:93,:94,:95,:96,:97,:98,:99,:100,:101,:102,:103,:104,:105,:106,:107,:108,:109,:110,:111,:112,:113,:114,:115,:116,:117,:118,:119,:120,:121,:122,:123,:124,:125,:126,:127,:128,:129,:130,:131,:132)
SQLHASH=3f2805b1
Checking for already pinned child. fbcflg 108
No valid child pinned
Child already locked 7000007eabcbf98, checking for validity
Checking for already pinned child. fbcflg 102
Object is invalid
No valid child pinned
Parent 7000007eabeb178(70000080eb916c0) ready for search
kksSearchChildList outside while loop
kksCheckCursor: next child is #207
kksCheckCursor: pinning child #207 in shared mode 7000007eabead28 70000080eabc3a0
Calling for auth
Failed sharing : Bind mismacth
kksUnlockChild: releasing child
Failed sharing : 4000
kksCheckCursor: next child is #206
kksCheckCursor: pinning child #206 in shared mode 7000007eabcc050 70000080eabc5c8
Calling for auth
Failed sharing : Bind mismacth
kksUnlockChild: releasing child
Failed sharing : 4000
kksCheckCursor: next child is #205
kksCheckCursor: pinning child #205 in shared mode 7000007eabccf68 70000080eb93170
Calling for auth
Failed sharing : Bind mismacth
kksUnlockChild: releasing child
Failed sharing : 4000
kksCheckCursor: next child is #204
kksCheckCursor: pinning child #204 in shared mode 7000007eabcc1c0 70000080eb932f0
Calling for auth
Failed sharing : Bind mismacth
kksUnlockChild: releasing child
Failed sharing : 4000

更新下trace

回复 只看该作者 道具 举报

33#
发表于 2012-7-29 22:43:08
解决没?

回复 只看该作者 道具 举报

34#
发表于 2012-7-31 16:11:22

回复 33# 的帖子

nope...连oracle_home都重装了....既然bind mismatch解决不了,索性测下shared server能不能降低点

回复 只看该作者 道具 举报

35#
发表于 2013-3-31 11:45:05
应当是 绑定变量过多引起的 bind_mismatch , 超过32个bind variable时就可能出现, 干脆不绑定或者还比这样好

回复 只看该作者 道具 举报

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

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

GMT+8, 2024-12-27 17:33 , Processed in 0.103366 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

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