Aix/Linux下自动备份oracle数据库

曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的。

所以,在工作中,不管是开发还是维护,备份数据库是非常有必要。

 

简单实用的晚间自动备份数据库小案例

步骤一、创建备份脚本,暂且命名为orabak.sh

#路径名,指定备份的路径
FILEPATH = /oracle/orabak

#根据指定日期格式,定义备份数据库文件名
FILENAME = `date + %Y%m%d_%H%M

#切换至指定路径,并创建文件夹
cd $FILEPATH 
mkdir $FILENAME 
chmod 775 $FILENAME

#oracle变量设置
export USER=oracle;
export ORACLE_SID=orcl;
export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1;
export PATH=$ORACLE_HOME/bin:$PATH;

#导出数据库 这里使用了exp 可以根据需要使用expdp
exp scott/tiger@orcl file="$FILENAME ".dmp log="$FILENAME".log owner=scott rows=y

#打包+加压
cd ..
tar -cf  $FILENAME.tar $FILENAME
rm -rf $FILENAME
gzip $FILENAME.tar
exit
EOF

 

步骤二、使用定时脚本crontab自动调用备份脚本

linux/aix 使用crontab -e命令,再最后一行加入改功能脚本,例如:

10 12 * * * sh  /oracle/orabak/orabak.sh

至于crontab的具体使用,可以参考本人的另一个小知识点

关于linux下crontab的使用

 

posted @ 2016-09-09 14:28  靓仔小伙计  阅读(1757)  评论(1编辑  收藏  举报