Жадный оракл или как найти и очистить место для нужных данных
На одном поддерживаемом сервере с oracle «неожиданно» кончилось свободное место, после изысканий обнаружил, что софт генерировал отладочную инофрмацию и оракл сохранял инциденты (INICIDENTS) в системный раздел. Для их корректной очистки воспользуемся утилитой adrci. Это стандартная утилита, которая идет в поставке оракла.
После запуска утилиты необходимо указать где находятся наши файлы с дампами ошибок.
1 2 |
adrci>set base /opt/oracle/app/oracle/ adrci>set HOMEPATH diag/rdbms/mydb/MYDB |
если сомневаемся в наших путях, то можем посмотреть список доступных домашних путей командой show homes
1 2 3 4 |
adrci> show homes ADR Homes: diag/rdbms/orclbi/orclbi1 diag/rdbms/mydb/MYDB |
Для того, чтобы убедиться что мы на верном пути, посмотрим что у нас есть созданные инциденты. Ну и заодно посмотреть что там сохранено, может быть нам эта информация понадобится.
1 |
show incident |
Ну и очистим все инциденты, которым больше часа (3600 секунд)
1 |
purge -age 3600 -type incident |
Я таким образом вычистил порядка 10 Гб логов, база опять в строю, а для поддержания сервера в тонусе было написан и добавлен в cron скрипт для очистки раз в сутки этих, в общем-то бесполезных для продакшена данных.