[ОТВЕТИТЬ]
Опции темы
24.02.2014 14:32  
OlegON
В общем, патовая ситуация с оборудованием привела к тому, что 24х7-заливка "захлебывала" сервер архивлогами. Вариантов с миграцией куда-то еще, как нет вариантов со стендбаем (в силу отсутствия живого сервера с такой же архитектурой), поэтому сделал проще. Если архивлогов становится больше 15, то морожу транзакции к едрене фене. База не только обрабатывать, но и хранить данные должна. Т.е. без бекапов не жизнь... Если архивлогов становится меньше 3 - размораживаю и дальше.
Код:
create or replace procedure count_archlogs as
begin
declare
c integer;
s varchar(200);
begin
select count(*) into c from v$archived_log where DELETED='NO' and dest_id=1;
select active_state into s from v$instance;
if (s='NORMAL' and c>15) then 
execute immediate 'alter system quiesce restricted';
else
if (c<3) then
execute immediate 'alter system unquiesce';
end if;
end if;
exception when others then null; 
end;
end;
/
Код:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'cnt_archlogs',
job_type => 'PLSQL_BLOCK',
job_action => 'count_archlogs;',
repeat_interval => 'FREQ=MINUTELY; INTERVAL=1;',
enabled => TRUE
);
END;
/
 
 
Опции темы



Часовой пояс GMT +3, время: 07:40.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.