Ноя 292011
 

Иногда в процессе работы клиентская сессия неожиданно выдаёт ошибку вида «ORA-03114: not connected to ORACLE». Помимо очевидных причин вроде отключения питания сервера или сетевых проблем весьма часто встречается неожиданная гибель серверного процесса, обслуживающего нашу сессию. Что-то подобное я уже описывал тут и тут, и вот ещё один типичный пример.
Подключение проходит вроде бы нормально, но при попытке выполнить первый же запрос, пользователь получает пресловутую ORA-03114. Смотрим в alert log и находим причину: Continue reading »

Мар 172011
 

Событие 10261 позволяет ограничить потребление PGA сессиями. Его удобно использовать, когда из-за кривого кода часто происходят утечки памяти.

Установим эвент:

-- Не разрешим сессии использовать более 200 Мб (Параметр эвента - килобайты)
ALTER SYSTEM SET event = '10261 trace name context forever, level 204800' SCOPE=SPFILE;
 
-- Обязательно перезапустим базу
SHUTDOWN ABORT;
STARTUP;

Continue reading »

Фев 242011
 

Вот пример триггера, в котором устанавливается ограничение на количество сессий, открытых одновременно и удовлетворяющих определённому условию (в дополнение к этому посту): Continue reading »

Янв 112011
 

Скрипт для анализа времени переключения логов (парсит alert log), полезен, например, чтобы определить момент, когда началось интенсивное изменение файлов данных. Скрипт генерирует готовый CSV-файл, который можно открывать EXCEL'ем или OpenOffice Calc для дальнейшего анализа. Работающей БД, ясное дело, не требует.
Использование: Continue reading »