Сен 232011
 

Deadlock - ситуация, при которой одна сессия (A) пытается получить доступ к ресурсу, блокированному другой сессией (B), которая в свою очередь пытается получить доступ к ресурсу, блокированному первой сессией (A). Это самый типичный случай. Вообще же, в deadlock может быть вовлечена и только одна сессия (self deadlock) и больше двух.
Итак, что делать, если кто-то жалуется на наличие дедлоков? Continue reading »

Авг 092011
 

Про трассировку утилиты tnsping я уже писал. Если надо включить трассировку listener, добавим в файл $ORACLE_HOME/network/admin/listener.ora строчки:

TRACE_LEVEL_listenerName=SUPPORT
TRACE_DIRECTORY_listenerName=/usr/oracle/coredump
TRACE_FILE_listenerName=listener.trc

Continue reading »

Май 252011
 

При настройке SQL*Net бывает нужно посмотреть трассировку утилиты tnsping. Чтобы сделать это, надо добавить в файл $ORACLE_HOME/network/admin/sqlnet.ora две строчки:

TNSPING.TRACE_LEVEL=SUPPORT
TNSPING.TRACE_DIRECTORY=/usr/oracle/coredump

Continue reading »

Май 032011
 

А вот ещё один интересный случай проявления ORA-07445, очень похоже на эту ситуацию, но PL/SQL Developer тут не при чём.
Компилируем объекты и в alert log видим привычную невесёлую картину:

Errors in file /usr/oracle/coredump/testdb_ora_25305.trc:
ORA-07445: exception encountered: core dump [ptmak()+372] [SIGSEGV] [Address not mapped to object] [0x000000010] [] []

Посмотрим трейс /usr/oracle/coredump/testdb_ora_25305.trc (начало файла пропущено): Continue reading »

Янв 282011
 

В некоторых случаях, например, когда к базе подключается приложение, возникает необходимость снимать трассировку сессии с самого начала, и нет возможности ни включить трассировку из этой сессии, ни из другой, как описано здесь. Тогда решением будет создание триггера на событие Logon: Continue reading »

Янв 202011
 

Столкнулся с ситуацией: на полностью идентичных наборах данных многие запросы, прежде всего DELETE и INSERT на БД версии 11.2.0.1 выполняются в десятки-сотни раз медленнее, чем на 10.2.0.4. Данные получены экспортом с 10-й БД на 11-ю. В трейсах было видно, что большая часть времени в запросе уходила не на ожидания, а на CPU.
Сначала я грешил на баги Оракла, но после длительной возни с трейсами, профилировщиком процессов ОС и их техподдержкой, удалось разобраться, наконец, в чём дело. Continue reading »