客户在升级程序时死机.原因是因为
select * from application_versions
是查询这个语句时死机,因为在 application_versions表中存储了几十个更新程序的文件是以blob类型来存储的,当客户登录系统时会检查更新并下载这些程序文件.
下面是执行升级时所执行语句的跟踪信息
TKPROF: Release 11.2.0.3.0 - Development on Thu Oct 11 11:56:47 2012 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Trace file: /database/diag/rdbms/xxdyb/xxdyb1/trace/xxdyb1_ora_802824_Jy_Trace_20121011.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 ******************************************************************************** SQL ID: cf06fwacdmgfk Plan Hash: 1546270724 select 'x' from dual 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 1 0.00 0.00 0 0 0 1 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 3 0.00 0.00 0 0 0 1 Misses in library cache during parse: 0 Optimizer mode: ALL_ROWS Parsing user id: 85 (INSUR_TEST) Number of plan statistics captured: 1 Rows (1st) Rows (avg) Rows (max) Row Source Operation ---------- ---------- ---------- --------------------------------------------------- 1 1 1 FAST DUAL (cr=0 pr=0 pw=0 time=3 us cost=2 size=0 card=1) Rows Execution Plan ------- --------------------------------------------------- 0 SELECT STATEMENT MODE: ALL_ROWS 1 FAST DUAL 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.01 0.01 ******************************************************************************** SQL ID: fdjxawa50ppb3 Plan Hash: 2249315794 select * from application_version 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 100 0.52 1137.37 0 18010 1 99 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 102 0.52 1137.37 0 18010 1 99 Misses in library cache during parse: 1 Optimizer mode: ALL_ROWS Parsing user id: 85 (INSUR_TEST) Number of plan statistics captured: 1 Rows (1st) Rows (avg) Rows (max) Row Source Operation ---------- ---------- ---------- --------------------------------------------------- 99 99 99 TABLE ACCESS FULL APPLICATION_VERSION (cr=9409 pr=0 pw=0 time=710 us cost=2495 size=4512 card=96) Rows Execution Plan ------- --------------------------------------------------- 0 SELECT STATEMENT MODE: ALL_ROWS 99 TABLE ACCESS MODE: ANALYZED (FULL) OF 'APPLICATION_VERSION' (TABLE) Elapsed times include waiting on following events: Event waited on Times Max. Wait Total Waited ---------------------------------------- Waited ---------- ------------ SQL*Net message to client 101 0.00 0.00 SQL*Net message from client 101 10.60 184.38 SQL*Net more data to client 34094 10.73 1136.87 ********************************************************************************
但在通过应用程序程序上传这个程序文件并保存在application_versions表中是速度很快.
SQL*Net more data to client 这个等待事件是指示数据库在不断地发送数据到客户端时的网络问题.
后经地检查发送是华为交换机的问题,但上传更新程序到数据库中网络没有问题,但是下载时网络出问题.