oracle tsm rman,通过tsm 接口调用rman备份oracle脚本

通过tsm 接口调用rman备份oracle脚本

全备

#!/bin/sh

su - oracle <

rman log "/script/log/bk_`date -u +%Y%m%d`.log"

connect target /

run{

allocate channel ch1 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.opt)';

backup database;

sql 'alter system archive log current';

backup archivelog all;

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

release channel ch1;

}

EOF

===============================================================================

#!/bin/sh

su - oracle <

rman log "/script/log/bk_`date -u +%Y%m%d`.log"

connect target /

run{

allocate channel ch1 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.opt)';

backup incremental level 0 tag 'db0' format 'db_%U_%d.bak' database include current controlfile;

release channel ch1;

allocate channel ch2 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.opt)';

sql 'alter system archive log current';

backup archivelog all delete input format 'arch_%U_%s.bak' filesperset=2;

release channel ch2;

}

EOF

===============================================================================

#!/bin/sh

su - oracle <

rman log "/script/log/bk_arch_`date -u +%Y%m%d`.log"

connect target /

run{

allocate channel ch2 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.opt)';

sql 'alter system archive log current';

backup archivelog all delete input format 'arc_%U_%s.bak' filesperset=2;

release channel ch2;

}

EOF

================================================================================

#!/bin/bash

su - oracle

EXP_PATH=/script/exp

EXPFILE=$EXP_PATH/`date '+mgss_%Y%m%d%H.dmp'`

LOGFILE=$EXP_PATH/`date '+mgss_%Y%m%d%H.log'`

exp nstcsa/wmcw2015 consistent=y compress=n FULL=Y rows=y buffer=40960000 file=$EXPFILE log=$LOGFILE;

#删除前三天的备份文件

/usr/bin/find  $EXP_PATH -type f -mtime +3 -exec rm {} \;

30 16 * *  *  sh /script/rman0.sh

==============================================================================

有问题

#!/bin/sh

su - oracle <

rman log "/script/log/del_`date -u +%Y%m%d`.log"

connect target /

run{

allocate channel ch2 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.opt)';

delete noprompt backup;

release channel ch2;

}

EOF

====================================================================================

参考资料 近为一个新库做备份策略,今天简单的写了下来,供大家参考。      最开始的数据一般数据量在不大的情况下,最还每天做全备份是最好的,这样在做故障恢复的时候是方便的,也是最简单的,通常最简单的方法是我们每个人追求的,复杂了自己也会绕在里面容易出错。       在随着业务的增长,随之带来的数据量的增长之后,我们在考虑做增量备份,减少备份数据量减少了每次备份时间,降低了系统的持续负载,但同时增加了数据恢复的时间,我们通常要选择折中的办法。 rman 备份:: 累积增量0级备份 ##   mgss_backup_level0.sh run { # Hot database level 0 whole backup allocate channel t1 device type disk;  backup   incremental level 0   skip inaccessible   tag mgss_db_bk_level0   filesperset 5   format 'mgss_level0_%T_%t'   (database); #备份归档日志并删除以节省磁盘空间 # backup  archive logs sql 'alter system archive log current'; backup   filesperset 20   format 'mgss_archivelog_%T_%t'   (archivelog all delete input); } 累积增量1级备份 ##   mgss_backup_level1.sh run { # Hot database level 1 cumulative incremental backup allocate channel t1 device type disk;  backup   incremental level 1   cumulative   skip offline   skip readonly   skip inaccessible   tag mgss_db_bk_level1_cum   filesperset 5   format 'mgss_level1_%s_%p_%t'     (database); #备份归档日志并删除以节省磁盘空间 # backup all archive logs sql 'alter system archive log current'; backup   filesperset 20   format 'mgss_archivelog_%s_%p_%t'   (archivelog all delete input); } 累积增量2级备份 ##   mgss_backup_level2.sh run { # Hot database level 2 cumulative incremental backup allocate channel t1 device type disk;  backup   incremental level 2   cumulative   skip offline   skip readonly   skip inaccessible   tag mgss_db_bk_level2_cum   filesperset 5   format 'mgss_level2_%s_%p_%t'     (database); #备份归档日志并删除以节省磁盘空间 # backup  archive logs sql 'alter system archive log current'; backup   filesperset 20   format 'mgss_archivelog_%s_%p_%t'   (archivelog all delete input); } 系统环境变量脚本: 注意{0,1,2} 是三个文件名,这里为了简写,偷懒了嘿嘿。 mgss_backup_level{0,1,2}_cron  #!/bin/bash export ORACLE_SID=mgss export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/10g export LD_LIBRARY_PATH=/u01/app/oracle/10g/lib:/lib:/usr/lib:/usr/local/lib:/usr/X11R6/lib export TNS_ADMIN=/u01/app/oracle/10g/network/admin export ORA_NLS33=/u01/app/oracle/10g/nls/data export ORACLE_OWNER=oracle export NLS_LANG='simplified chinese_china.zhs16gbk' export PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/u01/ app/oracle/10g/bin $ORACLE_HOME/bin/rman target / msglog=/backup/oracle/flash_recovery_area/MGSS/mgss_backup_level{0,1,2}.log                     cmdfile=/home/oracle/mgss/mgss_backup_level{0,1,2}.sh;  Cron 任务: 30 23 * *  0  sh /home/oracle/mgss/mgss_backup_level0_cron 30 23 * *  1,2,4,5,6 sh /home/oracle/mgss/mgss_backup_level2_cron 30 23 * *  3 sh /home/oracle/mgss/mgss_backup_level1_cron 逻辑备份:: mgss_backup_logical.sh #!/bin/bash su - oracle EXP_PATH=/script/exp EXPFILE=$EXP_PATH/`date '+mgss_%Y%m%d%H.dmp'` LOGFILE=$EXP_PATH/`date '+mgss_%Y%m%d%H.log'` exp nstcsa/wmcw2015 consistent=y compress=n FULL=Y rows=y buffer=40960000 file=$EXPFILE log=$LOGFILE; #删除前三天的备份文件 /usr/bin/find  $EXP_PATH -type f -mtime +3 -exec rm {} \; Cron 任务: 30  3  * *  0 sh /home/oracle/mgss/mgss_backup_logical.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值