Добрый день
Имелись два сервера 10.2.0.4.0 с синхронной репликацией. После апгрейда одного из них до 10.2.0.5.0 на нем стали зависать
пользовательские процессы, которые берут 100% ЦПУ, но ничего, судя по статистике ниже, не делают и блокировок не ждут.
Из закономерностей - в такие процессы попадают только короткие сессии, в которых делается login, недолгая операция и logoff без явного commit.
Сессии, которые длятся долго, в такой список не попадают.
Если в код приложения добавить в конце commit, то такие короткие запросы также перестают зависать.
От содержания запроса зависимости не наблюдается, одни и теже запросы 100 раз проходят, а на 101-ом могут зависнуть.
Как бороться с такими запросами и что можно еще посмотреть?
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.
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.5.0
Connected as SYS
SQL>
SQL> select * from v$session where sid = 598 ;
SADDR SID SERIAL# AUDSID PADDR USER# USERNAME COMMAND OWNERID TADDR LOCKWAIT STATUS SERVER SCHEMA# SCHEMANAME OSUSER PROCESS MACHINE PORT TERMINAL PROGRAM TYPE SQL_ADDRESS SQL_HASH_VALUE SQL_ID SQL_CHILD_NUMBER PREV_SQL_ADDR PREV_HASH_VALUE PREV_SQL_ID PREV_CHILD_NUMBER PLSQL_ENTRY_OBJECT_ID PLSQL_ENTRY_SUBPROGRAM_ID PLSQL_OBJECT_ID PLSQL_SUBPROGRAM_ID MODULE MODULE_HASH ACTION ACTION_HASH CLIENT_INFO FIXED_TABLE_SEQUENCE ROW_WAIT_OBJ# ROW_WAIT_FILE# ROW_WAIT_BLOCK# ROW_WAIT_ROW# LOGON_TIME LAST_CALL_ET PDML_ENABLED FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER RESOURCE_CONSUMER_GROUP PDML_STATUS PDDL_STATUS PQ_STATUS CURRENT_QUEUE_DURATION CLIENT_IDENTIFIER BLOCKING_SESSION_STATUS BLOCKING_INSTANCE BLOCKING_SESSION SEQ# EVENT# EVENT P1TEXT P1 P1RAW P2TEXT P2 P2RAW P3TEXT P3 P3RAW WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASS WAIT_TIME SECONDS_IN_WAIT STATE SERVICE_NAME SQL_TRACE SQL_TRACE_WAITS SQL_TRACE_BINDS ECID
---------------- ---------- ---------- ---------- ---------------- ---------- ------------------------------ ---------- ---------- ---------------- ---------------- -------- --------- ---------- ------------------------------ ------------------------------ ------------ ---------------------------------------------------------------- ---------- ------------------------------ ------------------------------------------------ ---------- ---------------- -------------- ------------- ---------------- ---------------- --------------- ------------- ----------------- --------------------- ------------------------- --------------- ------------------- ------------------------------------------------ ----------- -------------------------------- ----------- ---------------------------------------------------------------- -------------------- ------------- -------------- --------------- ------------- ----------- ------------ ------------ ------------- --------------- ----------- -------------------------------- ----------- ----------- --------- ---------------------- ---------------------------------------------------------------- ----------------------- ----------------- ---------------- ---------- ---------- ---------------------------------------------------------------- ---------------------------------------------------------------- ---------- ---------------- ---------------------------------------------------------------- ---------- ---------------- ---------------------------------------------------------------- ---------- ---------------- ------------- ----------- ---------------------------------------------------------------- ---------- --------------- ------------------- ---------------------------------------------------------------- --------- --------------- --------------- ----------------------------------------------------------------
0000001475472650 598 2358 39168318 00000014803B21D8 67 PORTTOR 2 2147483644 0000001443305970 ACTIVE DEDICATED 38 RUNM SYSTEM 2280:2420 TESTR\TESTER-2 1438 TESTER-2 apache.exe USER 000000147DB51FD8 2807709238 32g0gr6mpngjq 1 000000147FAD6E90 1991448904 3a8u9u5vb66a8 0 853472 7 853472 18 apache.exe 2664522630 0 9881476 -1 0 0 0 13.10.2016 5397 NO NONE NONE NO DISABLED ENABLED ENABLED 0 UNKNOWN 19494 44 i/o slave wait msg ptr 1 0000000000000001 48 0000000000000030 2147483647 000000007FFFFFFF 2723168908 6 Idle 0 5396 WAITING SYS$USERS DISABLED FALSE FALSE
SQL> select sql_text from v$sqltext sqltext, v$session sesion where sesion.sql_hash_value = sqltext.hash_value and sesion.sql_address = sqltext.address and sesion.sid = 598 order by piece;
SQL_TEXT
----------------------------------------------------------------
INSERT INTO UDB(F_UDB_ID,F_EID,UDB_NAME) VALUES(:B9 , :B10 , 'wb
: udo f_id=' || :B2 || ' key=' || :B1 )
SQL> select * from v_$lock where sid = 598 ;
ADDR KADDR SID TYPE ID1 ID2 LMODE REQUEST CTIME BLOCK
---------------- ---------------- ---------- ---- ---------- ---------- ---------- ---------- ---------- ----------
0000001441DDC1A0 0000001441DDC1C8 598 TM 629977 0 2 0 5397 0
0000001441DDCAB8 0000001441DDCAE0 598 TM 630289 0 2 0 5397 0
0000001441DDCBD8 0000001441DDCC00 598 TM 630586 0 2 0 5397 0
0000001441DDDCE8 0000001441DDDD10 598 TM 630595 0 3 0 5397 0
0000001443305970 00000014433059A8 598 TX 3342341 69175 6 0 5397 0
SQL> select * from v_$lock where request<>0;
ADDR KADDR SID TYPE ID1 ID2 LMODE REQUEST CTIME BLOCK
---------------- ---------------- ---------- ---- ---------- ---------- ---------- ---------- ---------- ----------
SQL> select * from v$session_longops where sid = 598 ;
SID SERIAL# OPNAME TARGET TARGET_DESC SOFAR TOTALWORK UNITS START_TIME LAST_UPDATE_TIME TIMESTAMP TIME_REMAINING ELAPSED_SECONDS CONTEXT MESSAGE USERNAME SQL_ADDRESS SQL_HASH_VALUE SQL_ID QCSID
---------- ---------- ---------------------------------------------------------------- ---------------------------------------------------------------- -------------------------------- ---------- ---------- -------------------------------- ----------- ---------------- ----------- -------------- --------------- ---------- -------------------------------------------------------------------------------- ------------------------------ ---------------- -------------- ------------- ----------
SQL> select * from v$session_wait where sid = 598 ;
SID SEQ# EVENT P1TEXT P1 P1RAW P2TEXT P2 P2RAW P3TEXT P3 P3RAW WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASS WAIT_TIME SECONDS_IN_WAIT STATE
---------- ---------- ---------------------------------------------------------------- ---------------------------------------------------------------- ---------- ---------------- ---------------------------------------------------------------- ---------- ---------------- ---------------------------------------------------------------- ---------- ---------------- ------------- ----------- ---------------------------------------------------------------- ---------- --------------- -------------------
598 19494 i/o slave wait msg ptr 1 0000000000000001 48 0000000000000030 2147483647 000000007FFFFFFF 2723168908 6 Idle 0 5396 WAITING
SQL> select * from v$session_event where sid = 598 and TIME_WAITED>0;
SID EVENT TOTAL_WAITS TOTAL_TIMEOUTS TIME_WAITED AVERAGE_WAIT MAX_WAIT TIME_WAITED_MICRO EVENT_ID WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASS
---------- ---------------------------------------------------------------- ----------- -------------- ----------- ------------ ---------- ----------------- ---------- ------------- ----------- ----------------------------------------------------------------
598 i/o slave wait 3056 0 259 0.08 21 2586217 4259433894 2723168908 6 Idle
598 log file sync 1739 0 136 0.08 5 1359070 1328744198 3386400367 5 Commit
598 db file sequential read 391 0 343 0.88 10 3430712 2652584166 1740759767 8 User I/O
598 direct path read 3119 0 259 0.08 21 2585912 3926164927 1740759767 8 User I/O
598 direct path write 14 0 1 0.04 0 5988 885859547 1740759767 8 User I/O
598 single-task message 2 0 44 21.99 26 439740 2254800293 2723168908 6 Idle
598 SQL*Net more data to client 1920 0 2 0 0 15419 554161347 2000153315 7 Network
598 SQL*Net message from client 1964 0 221659 112.86 44786 2216592010 1421975091 2723168908 6 Idle
598 SQL*Net more data from client 612 0 2 0 0 23020 3530226808 2000153315 7 Network
598 SQL*Net message from dblink 2688 0 697 0.26 273 6965949 4093028837 2000153315 7 Network
10 rows selected
SQL> select * from v$sess_io where sid = 598;
SID BLOCK_GETS CONSISTENT_GETS PHYSICAL_READS BLOCK_CHANGES CONSISTENT_CHANGES
---------- ---------- --------------- -------------- ------------- ------------------
598 272776 575978 3548 100573 86688
Значения в
1.
2.
3.
4.
select * from v$session_wait where sid = 598 ;
select * from v$session_event where sid = 598 and TIME_WAITED>0;
select * from v$sess_io where sid = 598;
select * from v$sesstat natural join V$statname where sid = 598 and value >0;
со временем не меняются,
попытка установки трассировки отрабатывает без ошибок, но файл не появляется
1.
exec sys.dbms_system.set_ev(598, 2358, 10046, 12, '');