无论在什么系统下,运用数据库都是必不可少的。今天我就来跟大家探讨一下oracle rman备份脚本学习。查询字符集SQL> select * from nls_database_parameters;NLS_CHARACTERSETAL32UTF8 备份时字符集很重要,不然会出乱码一、0级备份(全备)红色是要修改的,根据个人的存放位置。[oracle@oracle122 script]$ cat db_bak0.rman run{ configure retention policy to recovery window of 8 days; configure controlfile autobackup on; configure controlfile autobackup format for device type disk to '/home/oracle/rmanbak/%F'; allocate channel ch1 device type disk format '/home/oracle/rmanbak/inc0_%d_%s_%p_%u_%T'; backup incremental level 0 tag='level 0' database skip inaccessible filesperset 10 plus archivelog filesperset 20; release channel ch1;}allocate channel for maintenance device type disk;crosscheck backup;delete noprompt expired backup;delete noprompt obsolete;delete noprompt archivelog until time 'sysdate-30';0级运行脚本[oracle@oracle122 script]$ cat exec_0_level.sh ORACLE_HOSTNAME=oracle122; export ORACLE_HOSTNAMEORACLE_BASE=/u01/app; export ORACLE_BASEORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1; export ORACLE_HOMEORACLE_SID=orcl; export ORACLE_SIDORACLE_TERM=xterm; export ORACLE_TERMPATH=/usr/sbinPATH; export PATHPATH=$ORACLE_HOME/binPATH; export PATHexport DATE=$(date +%Y_%m_%d)export NLS_LANG="Simplified Chinese_china".AL32UTF8/u01/app/oracle/product/11.2.0/dbhome_1/bin/rman target sys/sys_admin cmdfile /home/oracle/rmanbak/script/db_bak0.rman log/home/oracle/rmanbak/script/log/rman_$DATE.log append二、1级备份(增量)[oracle@oracle122 script]$ cat db_bak1.rman run{ configure retention policy to recovery window of 8 days; configure controlfile autobackup on; configure controlfile autobackup format for device type disk to '/home/oracle/rmanbak/%F'; allocate channel ch1 device type disk format '/home/oracle/rmanbak/inc1_%d_%s_%p_%u_%T'; backup incremental level 1 tag='level 1' database skip inaccessible filesperset 10 plus archivelog filesperset 20; release channel ch1;}allocate channel for maintenance device type disk;crosscheck backup;delete noprompt expired backup;delete noprompt obsolete;delete noprompt archivelog until time 'sysdate-30';1级运行脚本[oracle@oracle122 script]$ cat exec_1_level.sh ORACLE_HOSTNAME=oracle122; export ORACLE_HOSTNAMEORACLE_BASE=/u01/app; export ORACLE_BASEORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1; export ORACLE_HOMEORACLE_SID=orcl; export ORACLE_SIDORACLE_TERM=xterm; export ORACLE_TERMPATH=/usr/sbinPATH; export PATHPATH=$ORACLE_HOME/binPATH; export PATHexport DATE=$(date +%Y_%m_%d)export NLS_LANG="Simplified Chinese_china".AL32UTF8/u01/app/oracle/product/11.2.0/dbhome_1/bin/rman target sys/sys_admin cmdfile /home/oracle/rmanbak/script/db_bak1.rman log/home/oracle/rmanbak/script/log/rman_$DATE.log append三、2级备份(从0级追加到现在的备份)[oracle@oracle122 script]$ cat db_bak2.rman run{ configure retention policy to recovery window of 8 days; configure controlfile autobackup on; configure controlfile autobackup format for device type disk to '/home/oracle/rmanbak/%F'; allocate channel ch1 device type disk format '/home/oracle/rmanbak/inc2_%d_%s_%p_%u_%T'; backup incremental level 2 tag='level 2' database skip inaccessible filesperset 10 plus archivelog filesperset 20 delete all input; release channel ch1;}allocate channel for maintenance device type disk;crosscheck backup;delete noprompt expired backup;delete noprompt obsolete;2级运行脚本[oracle@oracle122 script]$ cat exec_2_level.sh ORACLE_HOSTNAME=oracle122; export ORACLE_HOSTNAMEORACLE_BASE=/u01/app; export ORACLE_BASEORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1; export ORACLE_HOMEORACLE_SID=orcl; export ORACLE_SIDORACLE_TERM=xterm; export ORACLE_TERMPATH=/usr/sbinPATH; export PATHPATH=$ORACLE_HOME/binPATH; export PATHexport DATE=$(date +%Y_%m_%d)export NLS_LANG="Simplified Chinese_china".AL32UTF8/u01/app/oracle/product/11.2.0/dbhome_1/bin/rman target sys/sys_admin cmdfile /home/oracle/rmanbak/script/db_bak2.rman log/home/oracle/rmanbak/script/log/rman_$DATE.log append定时备份星期天为0级全备,星期三为2级备份,星期一,星期二,星期四,星期五,星期六为1级增量备份晚上11点开始备份[oracle@oracle122 script]$ crontab -l* 23 * * 0 /home/oracle/rmanbak/script/exec_0_level.sh * 23 * * 1 /home/oracle/rmanbak/script/exec_1_level.sh * 23 * * 2 /home/oracle/rmanbak/script/exec_1_level.sh * 23 * * 3 /home/oracle/rmanbak/script/exec_2_level.sh * 23 * * 4 /home/oracle/rmanbak/script/exec_1_level.sh * 23 * * 5 /home/oracle/rmanbak/script/exec_1_level.sh * 23 * * 6 /home/oracle/rmanbak/script/exec_1_level.sh如果想深入体验LINUX系统的新手,也可以先下载一个方德Linux软件中心试用一下。免费下载地址: |