您的位置:首页 > 数据库 > Oracle

linux下 oracle rman简单备份&上传ftp&逻辑备份

2016-08-12 16:49 369 查看
-- rman
cd /home/oracle/scripts/
vim arcfull.sh
#!/bin/sh  
 
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=XXX
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
days=7
BAKUPTIME=`date +%Y_%m_%d`
rman target / nocatalog cmdfile /home/oracle/scripts/archfullback.sh  log  /home/oracle/scripts/$BAKUPTIME.log

find /home/oracle/scripts  -type f -name "*.log" -mtime +$days -exec rm -rf {} \;

--其中archfullback.sh
RUN {
 delete noprompt obsolete ;
 crosscheck archivelog all;
 delete noprompt expired archivelog all;
 crosscheck backup;
 delete noprompt expired backup;
 allocate channel c1 type disk;
 allocate channel c2 type disk;
 backup database format 'XXX' plus archivelog delete all input format 'XXX';
 release channel c1;
 release channel c2;
 }
exit

--ftpback.sh
#!/bin/bash
TODAY=`date +%Y_%m_%d`
cd XXX
tar -zcvf arcfull_%TODAY.tar.gz *
ftp -n  192.168.XXX.XXX << EOF
user user password
bin
lcd XXX
prompt
mput *.tar.gz
bye
EOF

-- 最后添加任务
crontab -e
0 1 * * * /home/oracle/scripts/arcfull.sh

-- 附expdp备份
#!/bin/sh  
 
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=XXX
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin  
 
export DATA_DIR=/ora02/sdd2/expdpdir
export LOGS_DIR=/ora02/sdd2/expdpdir
export DELTIME=`date -d "10 days ago" +%Y%m%d`  
export BAKUPTIME=`date +%Y%m%d%H%M%S`  
 
 
echo "Starting bakup..."  
echo "Bakup file path $DATA_DIR/$BAKUPTIME.dmp"  
expdp system/*** directory=dump_dir full=y dumpfile=$BAKUPTIME.dmp  logfile=$BAKUPTIME.log

echo "Delete the file bakup before 10 days..."  
rm -rf $DATA_DIR/$DELTIME*.dmp  
rm -rf $LOGS_DIR/$DELTIME*.log 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: