fantozzi |
Добрый день коллеги!
У меня вопрос чисто по синтаксису: Кто-нибудь применял переменные в блоке RMAN? По логике нужно сделать такую вещь: RUN { ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE'; SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT'; zzz1 = SQL 'SELECT SEQUENCE# FROM V$LOG WHERE STATUS = 'CURRENT''; BACKUP INCREMENTAL LEVEL=0 TAG hot_db_bk_level0 FILESPERSET 1 FORMAT 'bk_%s_%p_%t' DATABASE; SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT'; zzz2 = SQL 'SELECT SEQUENCE# FROM V$LOG WHERE STATUS = 'CURRENT''; BACKUP ARCHIVELOG FROM SEQUENCE zzz1 UNTIL SEQUENCE zzz2; }
Как видно из скрипта, переменные zzz1 и zzz2, не так ведь присваиваются. А как, найти в гугле я так и не смог, кто-нибудь имел дело? |
Для примера по использованию переменных.
Есть файл BACKUP.CMD
set ORACLE_SID=%1
set ORACLE_BASE=D:\Oracle\
set ORACLE_HOME=D:\oracle\Ora92
set BACKUP_HOME=%2\%DATE:~-10%
echo run >> rmanbackupINC0.txt
echo { >> rmanbackupINC0.txt
echo CONFIGURE RETENTION POLICY TO REDUNDANCY 1; >> rmanbackupINC0.txt
echo delete obsolete; >> rmanbackupINC0.txt
echo crosscheck backup; >> rmanbackupINC0.txt
echo delete expired backup of database; >> rmanbackupINC0.txt
echo CONFIGURE RETENTION POLICY TO REDUNDANCY 2; >> rmanbackupINC0.txt
echo backup INCREMENTAL LEVEL 0 DATABASE >> rmanbackupINC0.txt
echo format='%BACKUP_HOME%\%ORACLE_SID%\D_%%d_%%s_%%p_inc0.bkp' >> rmanbackupINC0.txt
echo tag='Data_backup_inc0'; >> rmanbackupINC0.txt
REM ECHO *************************************************
echo sql "alter system archive log current"; >> rmanbackupINC0.txt
echo backup archivelog all >> rmanbackupINC0.txt
echo format='%BACKUP_HOME%\%ORACLE_SID%\log_%%d_%%s_%%p_inc0.bkp' >> rmanbackupINC0.txt
echo tag='Archive Log_inc0' >> rmanbackupINC0.txt
echo delete all input; >> rmanbackupINC0.txt
echo } >> rmanbackupINC0.txt
Формируется как видно командный для RMAN файл rmanbackupINC0.txt
run
{
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
delete obsolete;
crosscheck backup;
delete expired backup of database;
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
backup INCREMENTAL LEVEL 0 DATABASE
format='D:\ORABACKUP\27.11.2007\TEST\D_%d_%s_%p_inc0.bkp'
tag='Data_backup_inc0';
sql "alter system archive log current";
backup archivelog all
format='D:\ORABACKUP\27.11.2007\TEST\log_%d_%s_%p_inc0.bkp'
tag='Archive Log_inc0'
delete all input;
}
Вот и все использование переменных