02июл Удаление архивных файлов журнализации на физическом стендбае.

У меня на сервере, где организован standby, места на диске не так уж и много. Поэтому очень важно удалять уже накатанные архивные файлы.

Решено было использовать вот такой командный файл (за основу взято обсуждение на sql.ru), который стартует с помощью cron:

rman_del_arch.sh:

rm /opt/oracle/backup/archivelogs_delete.cmd 
/opt/oracle/product/10.2.0/db_1/bin/sqlplus /nolog @/opt/oracle/backup/rman_del_arh.sql 
/opt/oracle/product/10.2.0/db_1/bin/rman target / nocatalog cmdfile=/opt/oracle/backup/archivelogs_delete.sh LOG=/opt/oracle/backup/archivelogs_delete.log

rman_del_arh.sql:

conn / as sysdba
set linesize 200;
set heading off;
SET SERVEROUTPUT ON
SET FEEDBACK OFF
spool /opt/oracle/backup/archivelogs_delete.sh
SELECT   CASE
            WHEN 'PHYSICAL STANDBY' = (SELECT database_role
                                         FROM v$database)
               THEN  'CROSSCHECK ARCHIVELOG ALL;' 
    ||chr(10)
    || 'allocate noprompt channel for maintenance device type disk;'
                    || chr(10)
                    || 'delete archivelog until sequence '
                    || MAX (sequence# -3)
                    || ' thread '
                    || thread#
                    || ';'
                    || chr(10)
                    || 'release channel;'
         END
    FROM v$archived_log
 WHERE applied = 'YES'
GROUP BY thread#;
spool off;
exit

В ходе выполнения нашего командного файла формируется файл archivelogs_delete.cmd , например, с таким содержимым:

CROSSCHECK ARCHIVELOG ALL;
allocate channel for maintenance device type disk;                       
delete archivelog until sequence 88966 thread 1;                         
release channel;   

Затем он выполняется с помощью RMAN.

Спасибо автору скрипта - все работает отлично.

Может кто-то решил эту проблему лучше?

Комментарии (2)

[187] Комментарий от StayAtHome   10.07.2008(11:53:01)
Обратите пожалуйста внимание на мнение Тома ;) по этому поводу: http://pmo.parus.ua/ORAST/SUBSCRIBE/st8.html
[188] Комментарий от dbstalker   10.07.2008(12:23:24)
Вы указали очень полезную ссылку.Том Кайт показывает как он упаковывает архивные файлы на сервере, который генерирует архивные файлы ( то есть не на STANDBY). Отличие состоит в следующем: на standby нужно проверять, накатился ли архивный файл, который собираемся удалять; на основной базе проверяется завершен ли процесс архивации файла, который упаковывается.



Новый комментарий

Имя
Электронная почта
 
Ваш сайт
Защита от спама: укажите сумму 7 + 0
   
 

Подпишись на RSS:

RSS - Подписаться на блог

Читателям


Рекомендую к прочтению


Разделы блога



Последние публикации



Последние коментарии