Сен 012015
 

Через несколько дней после апгрейда БД на версию 12.1.0.2.4 (IBM AIX), внезапно среди рабочего дня база подвисла. AWR-отчёт собрать не удалось, база перестала отвечать по сети.

В Enterprise Manager была такая картинка (пока база ещё была доступна):

Скриншот из Enterprise Manager

Единственное, что удалось заметить - большинство сессий висят по событию log file sync. Догадались также собрать hanganalyze dump. Потенциальные проблемы с массивом и SAN быстро исключили.

Дело оказалось вот в чём. Continue reading »

Авг 232013
 

Распаковывал тут tar-архив на IBM AIX 7.1 и словил такую ошибку:

tar: 0511-169 A directory checksum error on media; -260707784 not equal to 33314.

Гуглением обнаружился интересный баг: Оказывается, стандартный IBM-овский tar имеет проблемы с длинными именами файлов, и поэтому IBM рекомендует (sic!) использовать GNU tar.
Т.е. заменяем при распаковке вот это:

tar -xf db3.tar

На

gtar -xf db3.tar

И всё прекрасно работает!

Адский ад, конечно.

Сен 202012
 

Наткнулся сегодня на интересное явление: после попытки завершения любой сессии путём убивания серверного процесса командой kill -9, PMON не вычищает эту сессию из v$session и не освобождает блокировки. Таким образом, не удаётся убить никакую сессию, даже сессию, не выполняющую никаких транзакций. При этом и "убитые" сессии и сам PMON висят с ожиданием latch free. Версия ORACLE - 9.2.0.8.

Решение найти удалось, но довольно странное. Continue reading »

Май 242012
 

При удалении некоторых пакетов или при каскадном удалении пользователя, иногда можно словить ошибки подобного вида:

SQL> drop user cube cascade;
drop user cube cascade
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-04043: object SYS_PLSQL_735489_19_2 does not exist

Бороться с ними просто. Сначала найдём все системные типы, создаваемые для нашего объекта: Continue reading »

Апр 032012
 

При создании базы "с нуля" на raw devices с использованием VxVM на ORACLE 11.2.0.3 (Solaris 10) база создалась нормально, но при попытке проверить любой файл данных утилитой dbv получаем такой вывод:
Continue reading »

Мар 122012
 

При миграции БД с версии 10.2.0.4 на 11.2.0.3 вылез неприятнейший Bug 11074304, связанный с несовместимостью с пакетами, обработанными утилитой WRAP версии 9 с БД релиза 11.2.0.3. Патча для этого бага нет, а ставить старый релиз (в 11.2.0.1 этой проблемы почему-то нет) не хочется.
Решение вроде простое - обработать все пакеты WRAP'ом заново, но есть загвоздка: нет тривиального способа определить, какой версией WRAP'а пакет обработан.
Проведём небольшой эксперимент: обработаем какой-нибудь пакет 9 и 10 WRAP'ом и посмотрим его код, чтобы найти различия.
Итак, результат 9 WRAP: Continue reading »

Ноя 292011
 

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

Авг 242011
 

Сегодня обнаружил такую ошибку в alert log:

ORA-00600: internal error code, arguments: [18095], [0x9C96A09A8], [], [], [], [], [], []

Поиск по металинку дал номер бага: Bug 4939224.
Кратко: ошибку можно игнорировать.
Если интересна причина, прошу под кат. Continue reading »

Июл 082011
 

Разработчики наткнулись на интересный баг: при работе через dblink сессия на удалённой базе подвисает с событием ожидания enq: DX - contention. Вот testcase, демонстрирующий проблему: Continue reading »

Май 202011
 

При попытке собрать статистику с таблицы, получаем ошибку:

-- Собираем статистику
BEGIN
dbms_stats.export_table_stats(
	ownname =>       'CUBE',
	tabname => 'CUBE_TABLE',
	stattab => 'CUBE_STATS',
	statid  =>          '1',
	statown =>      'CUBE');
END; 
/

Версия 9.2.0.8:

ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SYS.DBMS_STATS", line 5012
ORA-06512: at "SYS.DBMS_STATS", line 5539
ORA-06512: at line 2

Continue reading »