Я пытаюсь автоматизировать удаление журналов из целевой базы данных Oracle Downstream, которые больше не нужны для процесса захвата. Запрос:
SELECT NAME , PURGEABLE from DBA_REGISTERED_ARCHIVED_LOG;
возвращает, например, 10 архивных журналов. Правильно ли удалять старые журналы, не зарегистрированные в процессе захвата? Пожалуйста, помогите найти правильное предложение. Есть ли готовые решения для работы со старыми повторно перенесенными журналами или мне нужно написать сценарий с нуля?
буферизируйте вывод следующего запроса и вставьте его в скрипт. Это удалит журналы, которые больше не требуются.
SELECT - r.CONSUMER_NAME, 'rm' || r.NAME -, to_char (r.FIRST_SCN), - to_char (r.NEXT_SCN), - случай, когда (r.next_scn> c.required_checkpoint_scn), затем «NO» иначе «YES» конец очищается FROM DBA_RIGN_ARCHIVED_LOGURE r, DBA_CAPTIVED_LOG c WHERE r.CONSUMER_NAME = c.CAPTURE_NAME и r.source_database = c.source_database и r.next_scn <(выберите min (required_checkpoint_scn) из dba_capture, где capture_type = 'DOWNSTREAM') и purgeable = 'YES' упорядочить по измененному_time;