oracle 定期备份并清理归档以及过期备份的脚本

我需要每周六做一个0备份,没天(除周六)做一个1备份,兵器备份以及归档只保留一个月,下面是我找的一个脚本,前面备份部分能理解,后面的删除部分 不太懂,谁能帮我解释下,或者有没有能实现我需求的脚本。run {allocate channel oem_backup_disk1 type disk format 'F:\\BACKUP\\FULL\\...显示全部

我需要每周六做一个0备份,没天(除周六)做一个1备份,兵器备份以及归档只保留一个月,下面是我找的一个脚本,前面备份部分能理解,后面的删除部分 不太懂,谁能帮我解释下,或者有没有能实现我需求的脚本。

run {

allocate channel oem_backup_disk1 type disk format 'F:\\BACKUP\\FULL\\\\KHT\%U' maxpiecesize 80 G;

backup incremental level 0 cumulative as COMPRESSED BACKUPSET tag '%TAG' database include current controlfile;

sql 'alter system checkpoint';

sql 'alter system switch logfile';

sql 'alter system archive log current';

backup as COMPRESSED BACKUPSET tag '%TAG' archivelog all not backed up delete all input;

release channel oem_backup_disk1;

allocate channel t2  type disk ;

crosscheck backup;

crosscheck archivelog all;

delete noprompt archivelog until time 'sysdate-7';

delete noprompt archivelog all completed before 'sysdate-7';

delete expired archivelog all;

report obsolete;

delete noprompt obsolete recovery window of 60 days;

delete noprompt expired backup;

release channel t2;

}

收起
参与14

查看其它 3 个回答royalwzy的回答

royalwzyroyalwzy技术经理海通证券股份有限公司

首先建议楼主去看看官方的文档,这些内容都写的非常明白。

http://docs.oracle.com/cd/E11882_01/backup.112/e10642/toc.htm

http://docs.oracle.com/cd/E11882_01/backup.112/e10643/toc.htm


首先看一下Oracle备份的概念:完全备份和增量备份

1.Full backup:与whole database backup不同;它是从数据文件备份的那一刻,所有数据文件中包含数据的块的拷贝;

     1.rman拷贝了所有数据块到备份集,除了那些从来没有被使用过的块;

     2.对于full image copy,整个数据文件都被复制;

     3.full backup不能是增量备份策略的一部分,因为接下来的增量备份不能基于它还原;

2.Incremental Backup:上次备份之后,所有发生改变的数据块的拷贝;

     1.Oracle支持两种级别的增量备份,即0级增量备份和1级增量备份;

     2.0级增量备份等同于full backup,但是必须被标记为0级备份;

     3.1级增量备份又分为两种类型:cumulative和differential(即累计增量备份和差异增量备份);

     4.累计增量备份是备份上次0级备份之后所有改变的块;差异增量备份是备份上次0级或者1级增量备份后改变的块;


一些备份的选项:

    1. CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO \'%F\':规定了控制文件备份的目录和格式;

    2. CONFIGURE CONTROLFILE AUTOBACKUP OFF;若为OFF,就不备份控制文件,如果为ON,则备份控制文件,建议为ON;如果备份file 1,即SYSTEM表空间,则无论是否自动备份控制文件,都会备份;

    3. CONFIGURE MAXSETSIZE TO UNLIMITED/2G;设置备份集的最大大小,备份片的最大大小用maxpiecesize指定;

    4. CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT \'/tmp/backup/%U\';设置备份设备和位置;

    5. CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET:配置备份时的并发度,缺省使用备份集,而不是镜像备份;

    6.CONFIGURE DATAFILE/ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 2;配置数据文件/归档日志文件每次产生2个备份,最大为4;

    7. CONFIGURE xxxxxx CLEAR:清除某一个配置到默认设置;

    8. LIST BACKUPSET/COPY:查看当前备份集/镜像拷贝信息;

    9. LIST BACKUPSET/COPY OF DATAFILE n/TABLESPACE tbs_name/CONTROLFILE/ARCHIVELOG/SPFILE:列出某一个数据文件/表空间/控制文件/归档日志/配置文件的备份集/镜像拷贝;

    10. REPORT SCHEMA:查看当前数据库的结构;

    11. DELETE BACKUPSET:删除全部的备份集;

    12. DELETE BACKUPSET bs1, bs2, ...:删除指定的备份集;

证券 · 2017-02-08
浏览5661

回答者

royalwzy
技术经理海通证券股份有限公司
擅长领域: 数据库服务器存储

royalwzy 最近回答过的问题

回答状态

  • 发布时间:2017-02-08
  • 关注会员:5 人
  • 回答浏览:5661
  • X社区推广