Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с SQL*Net message from client / 23 сообщений из 23, страница 1 из 1
29.04.2009, 14:38
    #35961028
stil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
С некоторых пор стал замечать, что заведение пользователей, выдача привилегий им стали сильно подвисать. Трассировка показала вот что:

Код: plaintext
1.
2.
3.
4.
5.
Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  SQL*Net message to client                      100          0 . 00            0 . 00 
  SQL*Net message from client                    100         82 . 21          171 . 14 
  db file sequential read                         11          0 . 01            0 . 07 

С сетью точно все в порядке. Проблемы в других местах не видно, только при работе с ролями, привилегиями, пользователями (с системными таблицами?). Кто сталкивался - подскажите куда копать?
...
Рейтинг: 0 / 0
29.04.2009, 14:45
    #35961052
stil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
Да и еще забыл: проблема не только в длительности операции например заведения нового юзера. А еще и в том, что данная операция почему то блокирует ВСЕ (или почти все) операции в других сессиях (злые юзеры начинают звонить и ругаться что у них все повисло). При том, что нагрузки никакой на сервере я не вижу...
...
Рейтинг: 0 / 0
29.04.2009, 14:47
    #35961058
_Alex_SMIRNOV_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
а каким образом у вас идентифицируется пользователь - на уровне базы?
...
Рейтинг: 0 / 0
29.04.2009, 14:53
    #35961078
stil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
_Alex_SMIRNOV_а каким образом у вас идентифицируется пользователь - на уровне базы?
Честно говоря не понял вопроса Уточните пожалуйста
...
Рейтинг: 0 / 0
29.04.2009, 14:58
    #35961095
Vivat!San
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
stil,
В след. раз когда появится подобная проблема в sql*plus -> oradebug hanganalyze 3 и покажите здесь что она выдаст.
...
Рейтинг: 0 / 0
29.04.2009, 15:03
    #35961112
stil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
_Alex_SMIRNOV_,

Дошло Вопрос не с той стороны прочитал... Да - идентификация происходит на уровне базы
...
Рейтинг: 0 / 0
29.04.2009, 15:12
    #35961136
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
stilС некоторых пор стал замечать, что заведение пользователей, выдача привилегий им стали сильно подвисать. Трассировка показала вот что:
Код: plaintext
1.
2.
3.
4.
Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  SQL*Net message from client                    100         82 . 21          171 . 14 
С сетью точно все в порядке.
Код: plaintext
1.
2.
3.
4.
5.
select wait_class from v$system_event where event = 'SQL*Net message from client';

WAIT_CLASS
----------------------------------------------------------------
Idle
...
Рейтинг: 0 / 0
29.04.2009, 15:51
    #35961267
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
Элик, то что Оракл называет Idle events вовсе не обязательно являются Idle для конечного пользователя. Кроме того, tkprof не умеет отделять _реально_ (для респонс тайма юзера) Idle SQL*Net-events от не-idle. OraSRP умеет. Как это делать по сырому трейсу описано у Миллсапа.
...
Рейтинг: 0 / 0
29.04.2009, 15:58
    #35961306
StarBlade
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
stil,
Мало вероятно что данный эвент играет здесь хоть какую нибудь роль.
Возможно база выросла (обьектов, прав, ролей много) - пока все проверишь.
Если 10 - то статистику попробуй по системным обьектам собрать.
...
Рейтинг: 0 / 0
29.04.2009, 16:33
    #35961449
ФВЛ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
stilДа и еще забыл: проблема не только в длительности операции например заведения нового юзера. А еще и в том, что данная операция почему то блокирует ВСЕ (или почти все) операции в других сессиях (злые юзеры начинают звонить и ругаться что у них все повисло). При том, что нагрузки никакой на сервере я не вижу...

В момент тормозов выполни запросик, увидишь кто что ждет:

select s.username, s.osuser, s.machine, sw.sid, sw.event, sw.seconds_in_wait, sw.state, s.saddr, s.program, q.sql_text
from v$session_wait sw, v$session s, v$sqlarea q
where sw.sid = s.sid and s.status = 'ACTIVE' and s.username is not null and s.sql_id = q.sql_id and sw.state = 'WAITING'
order by 6 desc;
...
Рейтинг: 0 / 0
29.04.2009, 17:27
    #35961634
Vivat!San
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
ФВЛ
В момент тормозов выполни запросик, увидишь кто что ждет:

select s.username, s.osuser, s.machine, sw.sid, sw.event, sw.seconds_in_wait, sw.state, s.saddr, s.program, q.sql_text
from v$session_wait sw, v$session s, v$sqlarea q
where sw.sid = s.sid and s.status = 'ACTIVE' and s.username is not null and s.sql_id = q.sql_id and sw.state = 'WAITING'
order by 6 desc;

Вывод hanganalyze, кот. я предложил автору сделать выше и так всё это покажет, причём более наглядно. ИМХО - зачем свои запросы городить, если есть штатные средства.
...
Рейтинг: 0 / 0
30.04.2009, 06:20
    #35962422
stil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
StarBladestil,
Мало вероятно что данный эвент играет здесь хоть какую нибудь роль.
Возможно база выросла (обьектов, прав, ролей много) - пока все проверишь.
Если 10 - то статистику попробуй по системным обьектам собрать.
Да база юзеров выросла. Но не на столько и не разом, чтоб так резко увеличились тормоза. Версия 10.2.0.4. Статистика по системным объектам собирается ежедневно...

ФВЛВ момент тормозов выполни запросик, увидишь кто что ждет:

select s.username, s.osuser, s.machine, sw.sid, sw.event, sw.seconds_in_wait, sw.state, s.saddr, s.program, q.sql_text
from v$session_wait sw, v$session s, v$sqlarea q
where sw.sid = s.sid and s.status = 'ACTIVE' and s.username is not null and s.sql_id = q.sql_id and sw.state = 'WAITING'
order by 6 desc;

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> select s.username, s.osuser, s.machine, sw.sid, sw.event, sw.seconds_in_wait, sw.state, s.saddr, s.program, q.sql_text
   2   from v$session_wait sw, v$session s, v$sqlarea q
   3   where sw.sid = s.sid
   4   and s.status = 'ACTIVE'
   5   and s.username is not null
   6   and s.sql_id = q.sql_id
   7   and sw.state = 'WAITING'
   8   order by  6  desc;

no rows selected


И еще: после нескольких посторений одного действия (например клонирования юзера) - скорость этой операции стала мгновенной. Закэшировалось? Какая связь с SQL*Net message from client? Квалификации не хватает понять...

Файл- результат oradebug hanganalyze 3 прилагаю
...
Рейтинг: 0 / 0
30.04.2009, 07:05
    #35962436
Проблема с SQL*Net message from client
Vivat!SanФВЛ
В момент тормозов выполни запросик, увидишь кто что ждет:

select s.username, s.osuser, s.machine, sw.sid, sw.event, sw.seconds_in_wait, sw.state, s.saddr, s.program, q.sql_text
from v$session_wait sw, v$session s, v$sqlarea q
where sw.sid = s.sid and s.status = 'ACTIVE' and s.username is not null and s.sql_id = q.sql_id and sw.state = 'WAITING'
order by 6 desc;

Вывод hanganalyze, кот. я предложил автору сделать выше и так всё это покажет, причём более наглядно. ИМХО - зачем свои запросы городить, если есть штатные средства.
объясни мне неумытому, где в штатной документации описана твое штатное средство? в отличии от нагороженных, но описанных вьюх из запроса я ее не нашел.
...
Рейтинг: 0 / 0
30.04.2009, 10:24
    #35962740
Vivat!San
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
Истребитель клопов
объясни мне неумытому, где в штатной документации описана твое штатное средство? в отличии от нагороженных, но описанных вьюх из запроса я ее не нашел.

Metalink - Doc ID:215858.1
...
Рейтинг: 0 / 0
30.04.2009, 10:29
    #35962756
Vivat!San
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
stil
И еще: после нескольких посторений одного действия (например клонирования юзера) - скорость этой операции стала мгновенной. Закэшировалось? Какая связь с SQL*Net message from client? Квалификации не хватает понять...

Файл- результат oradebug hanganalyze 3 прилагаю

У вас возникает ожидание - library cache load lock wait event, т.е. первоначально пока объект не попал в библиотечный кэш наблюдается описанные Вами тормоза.
...
Рейтинг: 0 / 0
30.04.2009, 10:53
    #35962834
stil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
Vivat!San

У вас возникает ожидание - library cache load lock wait event, т.е. первоначально пока объект не попал в библиотечный кэш наблюдается описанные Вами тормоза.
А изза чего таки это происходит и как с этим бороться? Буду признателен если поделитесь ссылкой где об этом можно почитать..
...
Рейтинг: 0 / 0
30.04.2009, 11:16
    #35962884
Vivat!San
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
stil
А изза чего таки это происходит и как с этим бороться? Буду признателен если поделитесь ссылкой где об этом можно почитать..
Сделайте трэйс своей сессии, что за операторы выполняются в момент тормозов.
...
Рейтинг: 0 / 0
30.04.2009, 11:39
    #35962986
stil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
Vivat!Sanstil
А изза чего таки это происходит и как с этим бороться? Буду признателен если поделитесь ссылкой где об этом можно почитать..
Сделайте трэйс своей сессии, что за операторы выполняются в момент тормозов.

Ну собственно выдержку из трейса я и привел в первом посте. Если необходимо могу приложить весь трейс файл, но ничего там нет кроме нескольких селектов из системных вьюх типа dba_users u, dba_profiles p, V$PWFILE_USERS.

Трассировал как раз сессию в которой выполнял create user и grant роль to user
...
Рейтинг: 0 / 0
30.04.2009, 11:43
    #35963000
stil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
Пример:

Код: plaintext
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.
********************************************************************************

select
   decode(sysdba, 'TRUE', 'Yes', 'No') sysdba,
   decode(sysoper, 'TRUE', 'Yes', 'No') sysoper
FROM V$PWFILE_USERS
WHERE USERNAME = :x

call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse         8        0 . 00         0 . 00            0            0            0             0 
Execute       8        0 . 00         0 . 00            0            0            0             0 
Fetch         8        0 . 00         0 . 00            0            0            0             0 
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        24        0 . 00         0 . 00            0            0            0             0 

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

Rows     Row Source Operation
-------  ---------------------------------------------------
       0   FILTER  (cr= 0  pr= 0  pw= 0  time= 528  us)
       0    FIXED TABLE FULL X$KZSRT (cr= 0  pr= 0  pw= 0  time= 524  us)


Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  SQL*Net message to client                        9          0 . 00            0 . 00 
  SQL*Net message from client                      9         10 . 89           21 . 94 
  SQL*Net break/reset to client                    2          0 . 00            0 . 00 
********************************************************************************
...
Рейтинг: 0 / 0
30.04.2009, 11:52
    #35963030
ФВЛ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
Vivat!Sanstil
И еще: после нескольких посторений одного действия (например клонирования юзера) - скорость этой операции стала мгновенной. Закэшировалось? Какая связь с SQL*Net message from client? Квалификации не хватает понять...

Файл- результат oradebug hanganalyze 3 прилагаю

У вас возникает ожидание - library cache load lock wait event, т.е. первоначально пока объект не попал в библиотечный кэш наблюдается описанные Вами тормоза.

Думаю причина подвисаний в этом:
Удаление запроса из shared pool при REVOKE/GRANT
...
Рейтинг: 0 / 0
30.04.2009, 12:00
    #35963059
stil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
ФВЛVivat!Sanstil
И еще: после нескольких посторений одного действия (например клонирования юзера) - скорость этой операции стала мгновенной. Закэшировалось? Какая связь с SQL*Net message from client? Квалификации не хватает понять...

Файл- результат oradebug hanganalyze 3 прилагаю

У вас возникает ожидание - library cache load lock wait event, т.е. первоначально пока объект не попал в библиотечный кэш наблюдается описанные Вами тормоза.

Думаю причина подвисаний в этом:
Удаление запроса из shared pool при REVOKE/GRANT

Вы имеете ввиду, что при выдаче грантов юзеру куча связанных с объектами курсоров сразу же вытесняются из пула что ли? И тормоза появляются ввиду того, что это "не быстро" ? А как с этим бороться то? Игнорировать то это не получается ((
...
Рейтинг: 0 / 0
30.04.2009, 12:34
    #35963197
stil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
Код: plaintext
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.
SQL> connect / as sysdba
Connected.
SQL> select reloads, invalidations from V$LIBRARYCACHE where namespace='SQL AREA';

   RELOADS INVALIDATIONS
---------- -------------
      96425           40146 

SQL> GRANT роль TO STIL;

Grant succeeded.

SQL> ALTER USER STIL DEFAULT ROLE ALL;

User altered.

SQL> select reloads, invalidations from V$LIBRARYCACHE where namespace='SQL AREA';

   RELOADS INVALIDATIONS
---------- -------------
      96472           40155 

SQL> alter session set events '10046 trace name context forever, level 12';

Session altered.

SQL> REVOKE роль FROM STIL;

Revoke succeeded.

SQL> alter session set events '10046 trace name context off';

Session altered.

SQL> select reloads, invalidations from V$LIBRARYCACHE where namespace='SQL AREA';

   RELOADS INVALIDATIONS
---------- -------------
      96674           40252 

tkprof:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
********************************************************************************

REVOKE роль FROM STIL


call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse         1        0 . 00         0 . 00            0            0            0             0 
Execute       1        0 . 03         1 . 06            0            0            1             0 
Fetch         0        0 . 00         0 . 00            0            0            0             0 
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total         2        0 . 04         1 . 06            0            0            1             0 

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

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

Может ли данные проблемы происходить из-за банальной нехватки места в shared pool? Почему тогда
Код: plaintext
1.
2.
3.
4.
5.
SQL> select bytes from v$sgastat where pool='shared pool' and name='free memory';

     BYTES
----------
  502842856 
?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
21.07.2017, 11:09
    #39492860
u905097
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с SQL*Net message from client
Vivat!San,

можете прокомментировать мой event.
спасибо.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с SQL*Net message from client / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]