这是一个生产库的rman备份shell脚本,分为 0级备份 与1级差异累积备份,每周一次0级别备份,其他1级差异累积备份。
1、0级别备份shell 脚本:- #!/bin/sh
- #### 2011.6.27 ####
- #level=0#
- export TMP=/tmp
- export TMPDIR=/tmp
- export Oracle_BASE=/opt/oracleonder
- export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
- export ORACLE_SID=onder
- export PATH=$PATH:$ORACLE_HOME/bin:
- export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
- export BAKFILE=/opt/bak/bak0.log
- find /opt/bak/archbak -mtime +365 -name "arch*.tar.bz2" -exec rm -rf {} ; ###因为每周只执行0级备份,归档日志不能自动删除(只有执行##全备,归档备份才会被设置为无效),所以这里写了一条命令来删除保存策略外的归档日志备份。
- rman nocatalog target / msglog $BAKFILE << EOF
- run{
- CONFIGURE CONTROLFILE AUTOBACKUP ON;
- CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO "/opt/bak/conf_%F_%T.tar.bz2";
- CONFIGURE RETENTION POLICY TO REDUNDANCY 20;
- configure device type disk parallelism 1 backup type to compressed backupset;
- report obsolete;
- delete noprompt obsolete;
- crosscheck backup;
- delete noprompt expired backup;
- backup incremental level=0 database format "/opt/bak/bak_%T_%U_%t_%d.tar.bz2" plus archivelog format "/opt/bak/archbak/arch_%U_%s.tar.bz2";
- DELETE noprompt ARCHIVELOG ALL COMPLETED BEFORE "SYSDATE-30";
- crosscheck archivelog all; ##检查出系统中不存在的归档日志记录,虽然上边的命令是删除超过30天的归档日志,但是相关记录记#录依然存在。
- delete noprompt expired archivelog all; ###noprompt 参数是不需要确认直接删除,用脚本必备。
- }
- EOF
Oracle重新关联数据文件在多台服务器上简单实现Redis的数据主从复制相关资讯 Oracle备份 Oracle备份脚本 Oracle 10g 备份
- 利用Oracle自带的impdp和expdp进行 (05月18日)
- Oracle 10.2.0.5 版本之后 asm (08/08/2014 11:02:09)
- Linux系统中Oracle自动备份方案 (07/25/2014 13:11:25)
| - Java实现Oracle数据库备份 (08/12/2014 11:24:51)
- Oracle备份与恢复系列 (08/01/2014 09:15:02)
- Python Oracle数据库备份脚本 (07/18/2014 10:07:56)
|
本文评论 查看全部评论 (0)