Перезапуск репликации на подстанции — различия между версиями
Материал из ИбисоПедии
Admin (обсуждение | вклад) (Новая страница: «== Отключаем все JOB == <source lang="sql"> begin DBMS_SCHEDULER.DISABLE('MIS.CONTROL_JOB_RUNNING'); DBMS_SCHEDULER.DISABLE('MIS.JOB_PROPAGATE_DIC...») |
Admin (обсуждение | вклад) |
||
| (не показано 9 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
| + | Данная процедура может понадобиться для очистки застрявших данных в таблице MIS.BUFFER_TRANSFER (select * from MIS.BUFFER_TRANSFER WHERE REGIST_DATE < TRUNC(SYSDATE)-10) | ||
| + | |||
| + | Возможные проблемы: | ||
| + | * MIS.JOB_PROPAGATE_DICT может не существовать на подстанции (комметраим строчку и выполняем повторно первый скрипт ) | ||
| + | * MIS.JOB_PROPAGATE может не работать (и поэтому первый скрипт может не сработать) | ||
| + | |||
== Отключаем все JOB == | == Отключаем все JOB == | ||
| − | <source | + | <source> |
begin | begin | ||
DBMS_SCHEDULER.DISABLE('MIS.CONTROL_JOB_RUNNING'); | DBMS_SCHEDULER.DISABLE('MIS.CONTROL_JOB_RUNNING'); | ||
| − | DBMS_SCHEDULER.DISABLE(' | + | DBMS_SCHEDULER.DISABLE('JOB_PROPAGATE_DICT'); -- работает только на ЦДС |
| − | DBMS_SCHEDULER.DISABLE('MIS.JOB_PROPAGATE_CALL_INFO'); | + | DBMS_SCHEDULER.DISABLE('MIS.JOB_PROPAGATE_CALL_INFO'); -- работает только на ПС |
DBMS_SCHEDULER.DISABLE('MIS.UPDATE_STATION_LINK_ID_1'); | DBMS_SCHEDULER.DISABLE('MIS.UPDATE_STATION_LINK_ID_1'); | ||
| − | dbms_scheduler.stop_job('MIS.JOB_PROPAGATE',force => TRUE); | + | dbms_scheduler.stop_job('MIS.JOB_PROPAGATE',force => TRUE); -- работает только на ПС |
| − | DBMS_SCHEDULER.DISABLE('MIS.JOB_PROPAGATE'); | + | 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; | end; | ||
/ | / | ||
| Строка 13: | Строка 21: | ||
Проверяем, что все JOB остановились | Проверяем, что все JOB остановились | ||
| − | <source | + | <source > |
SELECT job_name, | SELECT job_name, | ||
state, | state, | ||
| Строка 24: | Строка 32: | ||
</source> | </source> | ||
| − | |||
== Очищаем буферную таблицу == | == Очищаем буферную таблицу == | ||
| − | <source | + | <source> |
BEGIN | BEGIN | ||
DELETE FROM mis.buffer_transfer | DELETE FROM mis.buffer_transfer | ||
| Строка 35: | Строка 42: | ||
END; | END; | ||
</source> | </source> | ||
| + | |||
| + | == Включаем JOB== | ||
| + | <source> | ||
| + | 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; | ||
| + | / | ||
| + | </source> | ||
| + | |||
| + | |||
| + | [[Категория:Скорая помощь]] | ||
Текущая версия на 08:47, 30 сентября 2020
Данная процедура может понадобиться для очистки застрявших данных в таблице 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;
/