环境变量如下:
RMAN> show all;
RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'h:/orabak/%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'h:/orabak/%d_db_%u';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'H:/ORABAK/SNCFMYTEST.ORA';
增量level=0,1,2类似,脚本理只要改改就行了
这里拿1来做测试的
设置一个磁带的(未测试过)
RUN {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
BACKUP INCREMENTAL LEVEL=1 SKIP INACCESSIBLE FILESPERSET 10 DATABASE;
sql 'alter system archive log current';
BACKUP filesperset 20 ARCHIVELOG ALL DELETE INPUT;
BACKUP CURRENT CONTROLFILE;
RELEASE CHANNEL ch00;
}
非磁带的默认算了(测试正常)
RUN {
BACKUP INCREMENTAL LEVEL=1 SKIP INACCESSIBLE FILESPERSET 10 DATABASE;
sql 'alter system archive log current';
BACKUP filesperset 20 ARCHIVELOG ALL DELETE INPUT;
BACKUP CURRENT CONTROLFILE;
}
SKIP INACCESSIBLE:表示跳过不可读的文件。
SKIP OFFLINE:跳过offline的数据文件。
SKIP READONLY:跳过那些所在表空间为read-only的数据文件。
sql 'alter system archive log current';这句应该是没必要,通过plus archivelog方式备份时,rman好像会自动对当前的archivelog进行归档所以写法也可以如下:
RUN {
BACKUP INCREMENTAL LEVEL=1 SKIP INACCESSIBLE FILESPERSET 10 DATABASE PLUS
ARCHIVELOG FILESPERSET 20 DELETE ALL INPUT;
}