powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Мониторинг зависания сервера базы
12 сообщений из 12, страница 1 из 1
Мониторинг зависания сервера базы
    #40055300
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся с очень неприятной вещью.
Вдруг стал зависать Oracle, вернее работа с базой стала проходить очень медленно и DML-операции стали фэлиться по таймауту, а потом даже перекомпиляция хр. процедур перестала выполняться.
Вероятнее всего какой то или тяжеловестный запрос или бесконечный цикл апдейтов или что то подобное стал постепенно загружать сервер до предела.

Я не DBA, поэтому плохо знаком с инструментами мониторинга запросов к серверу базы и выполнения апдейтов, инсёртов в базу.
Какими стандартными оракловскими или нестандартными инструментами лучше всего воспользоваться чтобы посмотреть что же за запросы выполняет сервер в данный момент и какие из них какое время выполняются, какие объекты лочатся, чтобы понять что вообще происходит и из-за чего.

Использую Oracle 11
...
Рейтинг: 0 / 0
Мониторинг зависания сервера базы
    #40055303
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verter
Я не DBA


2 Day DBA .
...
Рейтинг: 0 / 0
Мониторинг зависания сервера базы
    #40055311
Melkomyagkii_newbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Мониторинг зависания сервера базы
    #40055322
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.

А вообще при работе системы, которая на оракле начинают сыпаться ошибки типа такой:

Код: plsql
1.
ORA-02049: timeout: distributed transaction wating for lock


С чем такое может быть в первую очередь связано?
...
Рейтинг: 0 / 0
Мониторинг зависания сервера базы
    #40055338
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verter
Код: plsql
1.
ORA-02049: timeout: distributed transaction wating for lock


С чем такое может быть в первую очередь связано?

Обратитесь к разработчику эксплуатируемой системы.
...
Рейтинг: 0 / 0
Мониторинг зависания сервера базы
    #40055353
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verter
Какими стандартными оракловскими или нестандартными инструментами лучше всего воспользоваться
Стандартный - Oracle Enterprise Manager, нестандартный - ASH Viewer. Можно начать также просто с селекта из v$session, а дальше - гугл и документация...
...
Рейтинг: 0 / 0
Мониторинг зависания сервера базы
    #40055377
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что вообще значит destributed transaction? Распределённая транзакция в каком смысле?
Внутри одной и тоже базы на одном и том же сервере? Транзакция начинается скажем в триггере, а заканчивается в другом триггере?
Поэтому она рапрседелённая?
Или имеется ввиду, что имеются 2-е базы и по Dblink'у какая то межбазная транзакция слишком долго проходит? Т.е. в этом смысле она распределённая?
...
Рейтинг: 0 / 0
Мониторинг зависания сервера базы
    #40055386
Alexander Anokhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
verter
Какими стандартными оракловскими или нестандартными инструментами лучше всего воспользоваться чтобы посмотреть


AWR report или statspack report.
...
Рейтинг: 0 / 0
Мониторинг зависания сервера базы
    #40055778
Melkomyagkii_newbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verter,

второе
...
Рейтинг: 0 / 0
Мониторинг зависания сервера базы
    #40057263
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот очень полезный запрос, который показывает блокировки и ожидания и очень помогает разобраться что происходит:

Код: 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.
SELECT /*+ RULE */
s.sid,
s.serial#,
p.spid "OS SID",
s.sql_hash_value "HASH VALUE",
s.username "ORA USER",
s.status,
s.osuser "OS USER",
s.machine,
s.terminal,
s.type,
s.program,
s.logon_time,
s.last_call_et,
s.sql_id,
l.id1,
l.id2,
decode(l.block,0,'WAITING',1,'BLOCKING') block,
decode(
l.LMODE,1,'No Lock',
2,'Row Share',
3,'Row Exclusive',
4,'Share',
5,'Share Row Exclusive',
6,'Exclusive',null) lmode,
decode(
l.REQUEST,1,'No Lock',
2,'Row Share',
3,'Row Exclusive',
4,'Share',
5,'Share Row Exclusive',
6,'Exclusive',null) request ,
round(l.ctime/60,2) "MIN WAITING",
l.type
FROM v$process p, v$session s, v$Lock l
where p.addr = s.paddr
and s.sid=l.sid
and
(l.id1,l.id2,l.type) in
(SELECT l2.id1, l2.id2, l2.type
  FROM V$LOCK l2
  WHERE l2.request<>0)
order by l.id1,l.id2,l.block desc;
...
Рейтинг: 0 / 0
Мониторинг зависания сервера базы
    #40058077
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как часто рекомендуется пересобирать статистику?
...
Рейтинг: 0 / 0
Мониторинг зависания сервера базы
    #40058937
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда она перестаёт отображать реальное положение дел. Например, после массовых DML-операций.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Мониторинг зависания сервера базы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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