27 февр. 2008 г.

alert.log

Чтобы каждый день файл alert.log был новым, нужно существующий переименовать. А оракл при новом сообщении создаст чистый alert.log
В *nix для того, чтобы автоматически файл переименовывался, в таблицу планировщика (crontab -e) нужно добавить строку
mm hh * * * mv PATH/alert_DB_NAME.log `date +PATH/alert_DB_NAME_\%d_\%m_\%y.log`

Где mm - минуты, hh - часы, когда будет запускаться переименовывание файла. Ну и путь понятно нужно ставить соответсвующий. В результате к имени файла будет добавлена дата.

2 комментария:

Webroot комментирует...

Привет! Купил себе книгу - Oracle 10g (Настольная книга администратора баз данных) Кевена Луни, Боб Брилла. В первой главе описывается, что часто АБД создает пакетное задание (используя при этом либо средства операционной системы, либо планировщик Oracle Enterprise Manager) для ежедневного переименования и архивации сигнального файла alert.log. Спасибо за подробную мини-инструкцию, но ты мог бы привести еще пример того, как это делать посредством Oracle Enterprise Manager?

Alp комментирует...

Полагаю, что в OEM это делается с помощью dbms_scheduler. Вобщем смысл тот же, только вместо внешнего планировщика использовать dbms_scheduler. Для этого нужно зарегистрировать внешнюю программу mv c соответсвующими аргументами. И создать job, который будет эту процедуру запускать по нужному расписанию. В OEM для создания внешних программ и джобов есть соотвествующие менеджеры. Можно всё то же самое сделать вручную (см. пакет dbms_scheduler).