Перезапуск репликации на подстанции
Материал из ИбисоПедии
Версия от 08:47, 30 сентября 2020; Admin (обсуждение | вклад)
Данная процедура может понадобиться для очистки застрявших данных в таблице MIS.BUFFER_TRANSFER (select * from MIS.BUFFER_TRANSFER WHERE REGIST_DATE < TRUNC(SYSDATE)-10)
Возможные проблемы:
- MIS.JOB_PROPAGATE_DICT может не существовать на подстанции (комметраим строчку и выполняем повторно первый скрипт )
- MIS.JOB_PROPAGATE может не работать (и поэтому первый скрипт может не сработать)
Отключаем все JOB
begin
DBMS_SCHEDULER.DISABLE('MIS.CONTROL_JOB_RUNNING');
DBMS_SCHEDULER.DISABLE('JOB_PROPAGATE_DICT'); -- работает только на ЦДС
DBMS_SCHEDULER.DISABLE('MIS.JOB_PROPAGATE_CALL_INFO'); -- работает только на ПС
DBMS_SCHEDULER.DISABLE('MIS.UPDATE_STATION_LINK_ID_1');
dbms_scheduler.stop_job('MIS.JOB_PROPAGATE',force => TRUE); -- работает только на ПС
DBMS_SCHEDULER.DISABLE('MIS.JOB_PROPAGATE'); -- работает только на ПС
dbms_scheduler.stop_job('MIS.JOB_PROPAGATE_STATION_ID_2',force => TRUE); -- работает только на ЦДС
DBMS_SCHEDULER.DISABLE('MIS.JOB_PROPAGATE_STATION_ID_2'); -- работает только на ЦДС
end;
/Проверяем, что все JOB остановились
SELECT job_name,
state,
last_start_date,
last_run_duration,
next_run_date,
enabled
FROM dba_scheduler_jobs
WHERE owner = 'MIS'Очищаем буферную таблицу
BEGIN
DELETE FROM mis.buffer_transfer
WHERE regist_date <= TRUNC (SYSDATE) - 10;
COMMIT;
END;Включаем JOB
begin
DBMS_SCHEDULER.ENABLE('MIS.CONTROL_JOB_RUNNING');
-- DBMS_SCHEDULER.ENABLE('MIS.JOB_PROPAGATE_DICT'); /* для подстанции не включаем*/
-- DBMS_SCHEDULER.ENABLE('MIS.JOB_PROPAGATE_CALL_INFO'); /* для ЦДС не включаем*/
DBMS_SCHEDULER.ENABLE('MIS.UPDATE_STATION_LINK_ID_1');
-- DBMS_SCHEDULER.ENABLE('MIS.JOB_PROPAGATE'); /* для ЦДС не включаем*/
end;
/