2 votes

Comment supprimer les alogs de la cible aval d'Oracle ?

J'essaie d'automatiser la suppression des logs de la base de données cible Oracle Downstream, qui ne sont plus nécessaires au processus de capture. La requête :

SELECT NAME , PURGEABLE from DBA_REGISTERED_ARCHIVED_LOG;

renvoie, par exemple, 10 journaux d'archives. Est-il correct de supprimer les anciens journaux, qui n'ont pas été enregistrés dans le processus de capture ? Merci de m'aider à trouver la bonne solution. Existe-t-il des solutions prêtes à l'emploi pour traiter les anciens journaux redo-transportés ou dois-je écrire script à partir de zéro ?

2voto

Nitesh Points 21

Spooler la sortie de la requête ci-dessous et la placer dans le script. Cela supprimera les journaux qui ne sont plus nécessaires.

SELECTIONNER -- r.CONSUMER_NAME, 'rm ' || r.NOM -- , to_char(r.FIRST_SCN), -- to_char(r.NEXT_SCN), -- case when (r.next_scn > c.required_checkpoint_scn) then 'NO' else 'YES' end purgable FROM DBA_REGISTERED_ARCHIVED_LOG r, DBA_CAPTURE c WHERE r.CONSUMER_NAME = c.CAPTURE_NAME and r.source_database = c.source_database and r.next_scn < ( select min(required_checkpoint_scn) from dba_capture where capture_type='DOWNSTREAM') et purgeable='YES' order by modified_time ;

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X