powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сессия висит
25 сообщений из 25, страница 1 из 1
Сессия висит
    #39307851
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сессия в статусе active.

Запрос виден, элементарный.

PL/SQL Developer показывает рост session logical reads.

Приложение (закрытое - СуперМАГ, кассовый модуль) висит.

Что еще можно средствами СУБД посмотреть?
...
Рейтинг: 0 / 0
Сессия висит
    #39307854
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видимо план запроса далеко не оптимальный.
...
Рейтинг: 0 / 0
Сессия висит
    #39307863
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Висит - в смысле наглухо. Час, два - ничего. Активность диска на нуле.
...
Рейтинг: 0 / 0
Сессия висит
    #39307883
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ждет чего?
sql monitor смотрел?
...
Рейтинг: 0 / 0
Сессия висит
    #39307896
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefmansql monitor смотрел?

Не имею / пока не умею. Это серверная тулза или клиентская?
...
Рейтинг: 0 / 0
Сессия висит
    #39307899
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdmНе имею / пока не умею.
в таком случае надо начинать с чего-нибудь типа этого
...
Рейтинг: 0 / 0
Сессия висит
    #39307908
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, ткнули носом, но неконкретно.

Вспомнил - запускал один раз Toad SQL Monitor, который запускает клиентское приложение и показывает SQL, исходящий от него в базу. Он не смог работать с СуперМАГом - приложение зависало.
...
Рейтинг: 0 / 0
Сессия висит
    #39307923
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdm,

Информацию о том в какой части плана тратится время можно получить из ASH (v$active_session_history).
Когда говорилось про монитор - полагаю имелось в виду dbms_sqltune.report_sql_monitor - он тоже показывает что сейчас активно и куда уходит основная часть работы.
Копать дополнительную информацию про событие ожидания можно по p1, p2, p2... можно долго продолжать, но вряд ли имеет смысл, если ты не удосужился хотя бы с азами предварительно ознакомиться.

Судя по симптомам какой-то неадекватный nested loop, но может быть все что угодно вплоть до кривой UDF.
...
Рейтинг: 0 / 0
Сессия висит
    #39307929
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshop, верно ли понимаю, что вы считаете, что сервер занят чем-то продуктивным в данном случае?

диск и процессор на нуле

т.е. это не глюк приложения?
...
Рейтинг: 0 / 0
Сессия висит
    #39307940
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdm,
может быть много чего. без данных это гадание на кофейной гуще
...
Рейтинг: 0 / 0
Сессия висит
    #39307941
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdm,

Сессия может быть в состоянии ACTIVE если она висит на блокировке, но ты указал что увеличивается значение статистики "session logical reads", значит выполняется работа.
Соответственно, если с диска чтений нет, то они идут из кеша. Ты ж глянул в доке, что такое "session logical reads", правда?

Вообще странно спрашивать, что я считаю вместо того, что посмотреть что происходит по факту.
...
Рейтинг: 0 / 0
Сессия висит
    #39307961
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты ж глянул в доке, что такое "session logical reads", правда?

Неправда. Только по логике сужу - "чтение данных". Откуда конкретно - память/диск - не знаю.

Вообще странно спрашивать, что я считаю вместо того, что посмотреть что происходит по факту.

Спасибо за советы. Продолжим обучаться и смотреть на факты.
...
Рейтинг: 0 / 0
Сессия висит
    #39307978
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopv$active_session_history

Oracle10g introduces the v$active_session_history view

Вероятно, имеет значение, что оракл 9.2.0.8.0.
...
Рейтинг: 0 / 0
Сессия висит
    #39307995
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdmdbms_photoshopv$active_session_history

Oracle10g introduces the v$active_session_history view

Вероятно, имеет значение, что оракл 9.2.0.8.0.
бяда
...
Рейтинг: 0 / 0
Сессия висит
    #39307998
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefmandmdmdmпропущено...


Oracle10g introduces the v$active_session_history view

Вероятно, имеет значение, что оракл 9.2.0.8.0.
бяда
ОСь небось windows 2003 )
...
Рейтинг: 0 / 0
Сессия висит
    #39308017
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefmanОСь небось windows 2003 )

Она.
...
Рейтинг: 0 / 0
Сессия висит
    #39308085
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
v$session_wait
...
Рейтинг: 0 / 0
Сессия висит
    #39308087
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,

К сожалению, она не подскажет на каком участке плана затык, но при наличии смекалки практически все раскапывается и так.
Хотя, с другой стороны, между девяткой и десяткой просто пропасть в плане анализа что сейчас делает сессия.
...
Рейтинг: 0 / 0
Сессия висит
    #39308142
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopВячеслав Любомудров,

К сожалению, она не подскажет на каком участке плана затык, но при наличии смекалки практически все раскапывается и так.
Хотя, с другой стороны, между девяткой и десяткой просто пропасть в плане анализа что сейчас делает сессия.
dbua ТСу в помощь ))
...
Рейтинг: 0 / 0
Сессия висит
    #39308449
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сервер за ночь отдохнул, сегодня по-новому кобенится :).

Делается insert, минут 10, потом снова, и снова, и снова.

Предположил, что приложение получает ошибку, ничо в журнал не пишет и тупо долбит то же самое.

Взял запрос, выполнил его.

Код: plsql
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.
INSERT INTO TTCARDCHANGES
  (ARTICLE, REMOVED, PRICE, DEPID, IDCLASS, IDSCALE, DATATYPE)
  SELECT ARTICLE,
         DECODE(PRICE, 0, '1', REMOVED),
         DECODE(REMOVED, '1', 0, PRICE),
         0,
         IDCLASS,
         DECODE(BITAND(FLAGS, 2), 0, IDSCALE, NULL),
         DATATYPE
    FROM (SELECT C.ARTICLE,
                 C.IDCLASS,
                 C.FLAGS,
                 C.IDSCALE,
                 C.DATATYPE,
                 DECODE(C.CASHLOAD,
                        '0',
                        '1',
                        DECODE(C.ACCEPTED, 1, '0', '1')) REMOVED,
                 NVL(P.PRICE, 0) PRICE
            FROM SMCARD C, SMPRICES P
           WHERE /*ROWNUM <= :b1 + 1
             AND */C.ACCEPTED IN (1, 2)
             --AND BITAND((POWER(2, C.DATATYPE)), :b2) != 0
             AND P.ARTICLE(+) = C.ARTICLE
             AND P.STORELOC(+) = 48
             AND P.PRICETYPE(+) = 36
             /*
             AND EXISTS
           (SELECT *
                    FROM SACARDCLASS A, TTCASHCLASS T
                   WHERE A.ID = C.IDCLASS
                     AND A.TREE LIKE
                         (DECODE(T.TREE, '#', '%', T.TREE || '%'))
           )
           */
           
           
             AND (EXISTS (SELECT *
                            FROM SMCARDSECURITYLOG L
                           WHERE C.ARTICLE = L.ARTICLE
                             AND L.EVENTTIME >=  to_date('10.09.2016', 'dd.mm.yyyy')) OR EXISTS
                  (SELECT *
                     FROM SMPRICEHISTORY L
                    WHERE C.ARTICLE = L.ARTICLE
                      AND L.PRICETYPE = 36
                      AND L.STORELOC = 48
                      AND L.EVENTTIME >=  to_date('10.09.2016', 'dd.mm.yyyy')) OR EXISTS
                  (SELECT *
                     FROM SMSTOREUNITHIST L
                    WHERE L.ARTICLE = C.ARTICLE
                      AND L.EVENTTIME >= to_date('10.09.2016', 'dd.mm.yyyy')) OR EXISTS
                  (SELECT *
                     FROM SMDISCQUANTITYLOG L
                    WHERE L.ARTICLE = C.ARTICLE
                      AND L.PRICEID = 36
                      AND L.EVENTTIME >= to_date('10.09.2016', 'dd.mm.yyyy'))))  



4783 rows inserted in 709 s.

На профильном форуме предположили еще пересоздать индексы, может, какой-нить развалился.

Но я вчера еще места добавил в таблспейсах, помнится, в 9-ке автоэкстенд снижал производительность.
...
Рейтинг: 0 / 0
Сессия висит
    #39308458
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdmНо я вчера еще места добавил в таблспейсах, помнится, в 9-ке автоэкстенд снижал производительность.
???
next равен 8к небось? :)
...
Рейтинг: 0 / 0
Сессия висит
    #39308624
kop_d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_photoshopИнформацию о том в какой части плана тратится время можно получить из ASH (v$active_session_history).

Не подскажите, как?
...
Рейтинг: 0 / 0
Сессия висит
    #39308626
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сбор статистики спас отца русской демократии.
...
Рейтинг: 0 / 0
Сессия висит
    #39308643
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kop_ddbms_photoshopИнформацию о том в какой части плана тратится время можно получить из ASH (v$active_session_history).

Не подскажите, как?
Код: plaintext
... group by sql_plan_line_id, sql_plan_operation, sql_plan_options ...
+ dbms_xplan.display_cursor для получения самого плана целиком
...
Рейтинг: 0 / 0
Сессия висит
    #39308736
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
Select * from user_indexes where status<>'VALID'



И вы с ума сошли на рабочей базе инсерт делать?
Берите селект из этого инсерта и делайте с ним что хотите, инсерт то зачем?

Сервер какой, если ентерпрайз идите в sql monitoring, тащите картинку с планом.
Если нет тогда
Код: sql
1.
explain plan for select

...
Потом
Код: sql
1.
select * from table(sys.dbms_xplan.display())



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


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