Oracle database 通过linux下命令crontab 基于RMAN实现oracle数据库自动备份

俄罗斯服务器本来有自动清理归档日志脚本的
—exdp方式、(个人认为很不严谨) 我之前也不清楚、一直没有出问题、 也没来找我、


前些天找到我、归档日志不自动备份清理了、 导致归档日志写满、数据库无法登陆、
现在只能是运维人员手工清理、 让我查下原因、解决下


大概查了下、 问题原因是因为root密码过期、 之前的脚本是挂在root下的、通过crontab定时执行、 root密码过期导致crontab失效、 我拿出的解决方案是重置下root密码、 因为甲方涉及到密码问题流程比较繁琐、 不是很乐意、问我有没有别的办法、
那只能改到oracle用户下咯、再换成rman备份、、、、



脚本如下:

#zyz
#backupscript

source /home/oracle/.bash_profile_hrt

export BACK_DATE=`date +%Y%m%d`

export BACKUP_PATH=/data/spi_bak/rman

echo `mkdir -p ${BACKUP_PATH}/${BACK_DATE}`

rman target /  msglog=${BACKUP_PATH}/${BACK_DATE}/bak_0_$BACK_DATE.log << EOF

run  
{  
allocate channel ch1 device type disk;  #分配通道  
allocate channel ch2 device type disk;  
sql 'alter system archive log current'; #归档当前日志  
backup database format '${BACKUP_PATH}/${BACK_DATE}/data_%s.bak';  
backup format '${BACKUP_PATH}/${BACK_DATE}/conbak_%s.bak' current controlfile;  
backup spfile format ='${BACKUP_PATH}/${BACK_DATE}/spfile_%s.bak';
crosscheck backup;  
crosscheck archivelog all; 
sql 'alter system archive log current';  
backup archivelog all format '${BACKUP_PATH}/${BACK_DATE}/arch_%s.bak' delete all input;  
crosscheck backup;  
crosscheck archivelog all;  
delete noprompt expired backup;  
delete noprompt obsolete;  
delete noprompt backup of database completed before 'sysdate -1';  
delete noprompt archivelog all;  
delete noprompt backup of archivelog all completed before 'sysdate -1';  
release channel ch1;  
release channel ch2;  
} 


exit;

EOF

$ crontab -e
10 3 * * * /data/spi_bak/script/zback.sh



$ crontab -l


这里说下exdp(导入导出方式)备份和RMAN备份方式的区别、 exdp导入导出、 设置定时任务、把整个用户导出作为备份(因为我们这个项目就用一个用户)
这种方法有什么弊端呢、 定时任务设置每天早上8点备份、 当数据库在2号早上7点出问题了、 我们手里就只有1号早上8点的备份、从1号早上8点到2号早上7点这段时间的数据就是个很大的问题、
用RMAN呢、 如果出问题了、 就可以用归档日志、去把这段时间的数据找回来、 大概就是这样、
还有一个就是rman备份会压缩、相比较于exdp备出来的文件应该是小的、具体的压缩效果没有特别注意过、 但是能节省下服务器资源嘛、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

为什么不问问神奇的海螺呢丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值