GorbunovSV
Дата: 31.05.2006 13:12:13
Долго ковырялся, но сделал, может кому поможет:
батник на шедулере:
del expMY.bat
sqlplus orauser/xxxx@oramy @expMY.sql
expMY.bat
програмка формирующая батник expMY.sql:
declare
l_output utl_file.file_type;
strDOS varchar2(5000):='EXP.EXE orauser/xxxx@oramy ROWS=N'||chr(10)||'EXP.EXE orauser/xxxx@oramy GRANTS=Y TABLES=(';
n number:=1;
begin
l_output := utl_file.fopen( 'EXP', 'expMY.bat', 'w' );
for c in (select table_name from all_tables
where upper(owner) = 'IM' and upper(table_name) not like 'WRK%' )
LOOP
if n>1 then strDOS:= strDOS||','||c.table_name; else strDOS:= strDOS||c.table_name; end if;
n:=n+1;
END LOOP;
strDOS:= strDOS||') file=file.DMP'||chr(10)||'rar a -agYYYYMMDD_NN file.rar *.DMP'||chr(10)||'del *.DMP';
utl_file.put( l_output,strDOS);
utl_file.fclose( l_output );
end;
/
quit;
Результат expMY.bat:
EXP.EXE orauser/xxxx@oramy ROWS=N
EXP.EXE orauser/xxxx@oramy GRANTS=Y TABLES=(table1,table2,table3) file=file.DMP
rar a -agYYYYMMDD_NN file.rar *.DMP
del *.DMP
В результате получили архив, содержащий 2 дампа:
1. Метаданные
2. Нужные таблицы
andrey_anonymous
Дата: 31.05.2006 21:56:46
Эх, жаль что командная строка имеет ограниченный размер... (это намек №1)
Эх, жаль, что не всегда серверные каталоги шарятся по сетке... (это намек №2)
... а еще есть классные команды spool, @, @@, host...