| 
                        副标题[/!--empirenews.page--]
                         
        
            Rman Level012备份实验http://blog.csdn.net/u011364306/article/details/50036429  
采用0221222增量备份策略,7天一个轮回  
也就是周日0级备份,周1 2 4 5 6 采用2级增量备份,周3采用1级增量备份  
打开控制文件自动备份  
[sql]view plaincopy  
- CONFIGURE CONTROLFILE AUTOBACKUP ON;? 
  
 
11g控制文件自动备份新特性:http://blog.csdn.net/u011364306/article/details/50051303  
配置控制文件备份路径  
[sql]view plaincopy  
- RMAN > CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO‘/file/backup/rman/controlfile_%F‘;? 
  
 
将过期天数设为7天  
[sql]view plaincopy  
- RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;? 
  
 
数据备份目录  
[sql]view plaincopy  
- $ mkdir -p /file/backup/rman/? 
  
 
脚本解释:  
[sql]view plaincopy  
- vim rman_bak_level0.sh???? 
  
 - #! /bin/bash?? 
  
 - export ORACLE_BASE=/u01/oracle? 
  
 - export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1? 
  
 - export PATH=$ORACLE_HOME/bin:$PATH? 
  
 - export ORACLE_SID=neal??? --数据库ORACLE_SID
  
 - export NLS_LANG=‘AMERICAN_AMERICA.ZHS16GBK‘--字符集
  
 - rman target / <
  
 - run{??? 
  
 - allocate channel d1 type disk;?? --分配通道d1,类型备份到磁盘
  
 - allocate channel d2 type disk;?? --分配通道d2,类型备份到磁盘
  
 - backup incremental level 0 database format ‘/file/backup/rman/level0_%d_%s_%p_%u.bkp‘;?? --备份级别、输出格式、路径
  
 - sql ‘alter system archive log current‘;??? --对当前redo日志进行归档
  
 - backup archivelog alldelete input format ‘/file/backup/rman/archivelog_%d_%s_%p_%u.bkp‘;? --备份归档日志并删除
  
 - crosscheck backup;?? --检查备份
  
 - delete noprompt obsolete;? --静默删除过期备份
  
 - release channel d1;? --释放通道d1
  
 - release channel d2;? --释放通道d2
  
 - }??? 
  
 - EOF?? 
  
 
下面开始创建0级 1级 2级备份脚本  
0级备份脚本  
[sql]view plaincopy  
- vim rman_bak_level0.sh? 
  
 - #! /bin/bash? 
  
 - export ORACLE_BASE=/u01/oracle? 
  
 - export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1? 
  
 - export PATH=$ORACLE_HOME/bin:$PATH? 
  
 - export ORACLE_SID=neal? 
  
 - export NLS_LANG=‘AMERICAN_AMERICA.ZHS16GBK‘
  
 - rman target / <
  
 - run{? 
  
 - allocate channel d1 type disk;? 
  
 - allocate channel d2 type disk;? 
  
 - backup incremental level 0 database format ‘/file/backup/rman/level0_%d_%s_%p_%u.bkp‘;? 
  
 - sql ‘alter system archive log current‘;? 
  
 - backup archivelog alldelete input format ‘/file/backup/rman/archivelog_%d_%s_%p_%u.bkp‘;? 
  
 - crosscheck backup;? 
  
 - delete noprompt obsolete;? 
  
 - release channel d1;? 
  
 - release channel d2;? 
  
 - }? 
  
 - EOF? 
  
 
1级备份脚本  
[sql]view plaincopy  
- vim rman_bak_level1.sh? 
  
 - #! /bin/bash? 
  
 - export ORACLE_BASE=/u01/oracle? 
  
 - export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1? 
  
 - export PATH=$ORACLE_HOME/bin:$PATH? 
  
 - export ORACLE_SID=neal? 
  
 - export NLS_LANG=‘AMERICAN_AMERICA.ZHS16GBK‘
  
 - rman target / <
  
 - run{? 
  
 - allocate channel d1 type disk;? 
  
 - allocate channel d2 type disk;? 
  
 - backup incremental level 1 database format ‘/file/backup/rman/level1_%d_%s_%p_%u.bkp‘;? 
  
 - sql ‘alter system archive log current‘;? 
  
 - backup archivelog alldelete input format ‘/file/backup/rman/archivelog_%d_%s_%p_%u.bkp‘;? 
  
 - crosscheck backup;? 
  
 - delete noprompt obsolete;? 
  
 - release channel d1;? 
  
 - release channel d2;? 
  
 - }? 
  
 - EOF? 
  
 
2级备份脚本  
[sql]view plaincopy  
- vim rman_bak_level2.sh? 
  
 - #! /bin/bash? 
  
 - export ORACLE_SID=neal? 
  
 - export NLS_LANG=‘AMERICAN_AMERICA.ZHS16GBK‘
  
 - /u01/oracle/product/11.2.0/db_1/bin/rman target / <
  
 - run{? 
  
 - allocate channel d1 type disk;? 
  
 - allocate channel d2 type disk;? 
  
 - backup incremental level 2 database format ‘/file/backup/rman/level2_%d_%s_%p_%u.bkp‘;? 
  
 - sql ‘alter system archive log current‘;? 
  
 - backup archivelog alldelete input format ‘/file/backup/rman/archivelog_%d_%s_%p_%u.bkp‘;? 
  
 - crosscheck backup;? 
  
 - delete noprompt obsolete;? 
  
 - release channel d1;? 
  
 - release channel d2;? 
  
 - }? 
  
 - EOF? 
  
 
加入到crontab中  
[sql]view plaincopy  
- crontab -e? 
  
 - #周日0级备份? 
  
 - 00 23 * * 0 /server/scripts/rman_bak_level0.sh? 
  
 - #周一、二、四、五、六2级增量备份? 
  
 - 00 23 * * 1,2,4,5,6 /server/scripts/rman_bak_level2.sh? 
  
 - #周三1级增量备份? 
  
 - 00 23 * * 3 /server/scripts/rman_bak_level1.sh? 
  
 
Rman备份中变量的含义  
backup incremental level 0 database format=‘LEV0_%d_%t_%U_%s_%p‘   
format=string 文件路径和名称的格式串,其中可包含宏变量:  
%c copy ID  
%p backup piece ID  
%s backup set ID  
%e log sequence  
%h log thread ID  
%d database name  
%n database name(x填充到8个字符)  
%I DBID  
%f file ID  
%F DBID,day,month,year,and sequencer的复合  
%N tablespace name  
%t timestamp  
%M mh mm格式  
%Y year yyyy格式  
%u backup set+time((x填充到8个字符)  
%U %u_%p_%c  
%% %  
The format specifier %U is replaced with unique filenames for the files when you take backups.  
                                                (编辑:52站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |