Does anyone have a DOS batchscript for use on windows2000 to move (or copy) archive logfiles that are older than, let's say 2 days from now, to another directory? Or does anybody know a good site where I can find stuff like that?
one way I could think of is a small program to copy those files to another location and delete them from the old location right after you had moved those files and use scheduler Tasks to schedule the script to run every 2 days
Here's a way to delete your archive logs files automaticaly.
This script delete archive logs that have more than 30 days.
It is very useful when you need the disk space.
Of course, make sure that you have valid backups,
cuse you could delete archive that you need.
First, i give grant to objects owned by the user sys.
Then, i create a directory to use the bfilename function.
After, i create a procedure that extract the name of the archive
and one that finds old archive logs and delete them.
You can execute that procedure manualy, or create a job that will execute
that procedure periodicaly.
grant select on v_$archived_log to YOUR_USER;
grant execute on dbms_backup_restore to YOUR_USER;
create or replace directory ARCHIVEDIR as 'd:\ora8i\orant\oradata\archive';
create or replace function proc_nom_fich(P_chain IN Varchar2) return varchar2 IS
l_posi := length(P_chain);
if substr(P_chain,l_posi,1) in ('/','\') then
l_nom_fich := substr(P_chain,l_posi + 1);
l_posi := l_posi - 1;
if l_posi < 0 then
create or replace procedure proc_dele_arch_log is
cursor sel_archive is
where completion_time < sysdate - 30;
for list in sel_archive loop
arch_exis := FALSE;
arch_file_name := proc_nom_fich(list.name);
arch_file := bfilename('ARCHIVEDIR',arch_file_name);
arch_exis := dbms_lob.fileexists(arch_file) = 1;
if arch_exis then