2、 首先检查数据库归档日志模式,以DBA用户模式登陆系统,执行
SELECT log_mode from v$database;--查看数据库归档方式
3、 如果结果为NOARCHIVELOG则需要将数据库模式设置为归档模式,否则跳过此步
A、 关闭数据库 SQL> shutdown immediate;
B、 挂起模式启动数据库
SQL> startup mount;
C、 将数据库设置成归档模式 SQL> alter database archivelog;
D、 启动数据库
SQL> alter database open;
E、 重新做第二步的检查,如果为ARCHIVELOG表明数据库归档模式启动成功;
4、 利用RMAN做批处理备份脚本,为了简单这里只做两层的备份,0级备份和1级备份,0级备份代表全库备份,1级为增量备份:
A、 批处理脚本,可以根据实际情况做稍许调整,这边不做详细介绍了,经我测试在win7下执行是无问题的 set oracle_sid=orcl
set y=%date:~0,4%
set m=%date:~5,2%
set d=%date:~8,2%
set h=%time:~0,2%
set mi=%time:~3,2%
set s=%time:~6,2%
rman target / log f:\backup\logs\%y%%m%%d%_%h%%mi%%s%.log cmdfile=F:\backup\backupscript\database_backup_orcl_level0.rman
pause
B、 RMAN脚本
================FILENAME: database_backup_orcl_level0.rman==============
================我是分割线====0级备份===============================
RUN{
configure retention policy to redundancy 2;
#CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO "f:/backup/%F%T.control_bak";
ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT "f:/backup/%U%T%t.bak";
BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL=0 DATABASE SKIP INACCESSIBLE FILESPERSET 10
PLUS ARCHIVELOG FILESPERSET 20
DELETE ALL INPUT;
RELEASE CHANNEL CH1;
}
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
CROSSCHECK BACKUPSET;
DELETE NOPROMPT OBSOLETE;
===============分割线==============================================
================FILENAME: database_backup_orcl_level1.rman==============
================我是分割线====1级备份===============================
RUN{
configure retention policy to redundancy 2;
#CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO "f:/backup/%F%T.control_bak";
ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT "f:/backup/%U%T%t.bak";
BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL=1 DATABASE SKIP INACCESSIBLE FILESPERSET 10
PLUS ARCHIVELOG FILESPERSET 20
DELETE ALL INPUT;
RELEASE CHANNEL CH1;
}
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
CROSSCHECK BACKUPSET;
DELETE NOPROMPT OBSOLETE;
===============分割线==============================================