Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Пользовательский процесс 100% ЦПУ  [new]
AlexanderKz
Member

Откуда:
Сообщений: 385
Добрый день

Имелись два сервера 10.2.0.4.0 с синхронной репликацией. После апгрейда одного из них до 10.2.0.5.0 на нем стали зависать
пользовательские процессы, которые берут 100% ЦПУ, но ничего, судя по статистике ниже, не делают и блокировок не ждут.
Из закономерностей - в такие процессы попадают только короткие сессии, в которых делается login, недолгая операция и logoff без явного commit.
Сессии, которые длятся долго, в такой список не попадают.
Если в код приложения добавить в конце commit, то такие короткие запросы также перестают зависать.
От содержания запроса зависимости не наблюдается, одни и теже запросы 100 раз проходят, а на 101-ом могут зависнуть.

Как бороться с такими запросами и что можно еще посмотреть?


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



Значения в

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;


со временем не меняются,

попытка установки трассировки отрабатывает без ошибок, но файл не появляется
exec  sys.dbms_system.set_ev(598, 2358, 10046, 12, ''); 
13 окт 16, 15:59    [19778276]     Ответить | Цитировать Сообщить модератору
 Re: Пользовательский процесс 100% ЦПУ  [new]
AlexanderKz
Member

Откуда:
Сообщений: 385
Помог Patch 7612454
14 окт 16, 21:37    [19783784]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить