大数跨境
0
0

Oracle数据库常用备份脚本

Oracle数据库常用备份脚本 云容灾备份安全治理
2017-06-27
3
导读:recover database until time '2016-02-20 15:31:07' usi

recover database until time  '2016-02-20 15:31:07' using backup controlfile;
20 14:59:33 UTC 2016
--全库备份脚本:
#!/bin/bash
export ORACLE_SID=PROD4
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' 
echo '----------------------------------------'>>/tmp/rman_PROD4_full.log
echo 'Start FULL Backup at '`date +%Y-%m-%d:%H:%M:%S` >>/tmp/rman_PROD4_full.log
echo '----------------------------------------'>>/tmp/rman_PROD4_full.log
rman target / nocatalog log /tmp/rman_PROD4_full.log append<<EOF
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup  database format '/home/oracle/bak/full_%d_%T_%s_%p';
SQL 'alter system archive log current';
SQL 'alter system archive log current';
backup archivelog  all delete input  format '/home/oracle/bak/arch_%d_%t_%s_%p';
backup current controlfile format '/home/oracle/bak/ctl_%d_%T_%s_%p';
backup spfile format '/home/oracle/bak/%d_%U.spfile';
}
EOF
echo '----------------------------------------'>>/tmp/rman_PROD4_full.log
echo 'End Full Database Backup at '`date +%Y-%m-%d:%H:%M:%S` >>/tmp/rman_PROD4_full.log
echo '----------------------------------------'>>/tmp/rman_PROD4_full.log
rman target / nocatalog log /tmp/rman_delete.log append<<EOF
allocate channel  for maintenance type disk;
crosscheck backup;
crosscheck archivelog all;
delete noprompt obsolete;
delete noprompt expired backup;
delete noprompt expired archivelog all;
EOF
exit
###################################################################################
--如果有dg备库,需要配置归档删除策略,防止备库收到不归档就被删除了。
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
或者这样写每次只备份和删除半天前的归档backup archivelog until time 'sysdate-1/2' all delete input  format '/orabak/fullbak/arch_%D_%s_%p_%T';
###################################################################################
--归档备份脚本:
#!/bin/bash
export ORACLE_SID=PROD4
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' 
echo '----------------------------------------'>>/tmp/rman_PROD4_arch.log
echo 'Start Arch Backup at '`date +%Y-%m-%d:%H:%M:%S` >>/tmp/rman_PROD4_arch.log
echo '----------------------------------------'>>rman_PROD4_arch.log
rman target / nocatalog log /tmp/rman_PROD4_arch.log append<<EOF
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
backup archivelog all format '/home/oracle/bak/arch_%d_%T_%s_%p' delete input ;
backup current controlfile format '/home/oracle/bak/ctl_%d_%T_%s_%p';
}
EOF
echo '----------------------------------------'>>/tmp/rman_PROD4_arch.log
echo 'END Arch Backup at '`date +%Y-%m-%d:%H:%M:%S` >>/tmp/rman_PROD4_arch.log
echo '----------------------------------------'>>/tmp/rman_PROD4_arch.log
rman target / nocatalog log /tmp/rman_arch_delete.log append<<EOF
allocate channel  for maintenance type disk;
crosscheck backup;
crosscheck archivelog all;
delete noprompt obsolete;
delete noprompt expired backup;
delete noprompt expired archivelog all;
EOF
exit

【声明】内容源于网络
0
0
云容灾备份安全治理
分享云灾备规划、实施、运营、备份与恢复、数据安全、数据治理;窥视国内外备份软件与监控软件知识前沿水平线; 越努力,越幸运!
内容 2171
粉丝 0
云容灾备份安全治理 分享云灾备规划、实施、运营、备份与恢复、数据安全、数据治理;窥视国内外备份软件与监控软件知识前沿水平线; 越努力,越幸运!
总阅读7.0k
粉丝0
内容2.2k