oracle备份脚本plsql,ORACLE 备份脚本(expdp方式)

d1da15010a62c74b90395c4ca66a8429.png

写一个oracle备份脚本,每天备份,然后保存7天!

采用数据泵的方式备份,首先要建立备份目录

查看默认备份目录,会显示对应的用户和其备份路径

select * from dba_directories;

对备份目录进行授权(DBDUMP 为directory名称,根据具体查询情况而定,mhsj为用户名)

grant read,write on directory DBDUMP to mhsj;备注:

如果想新创建directory,则为如下语句:

SQL>create directory DBDUMP as '/home/dumpdata/';

如果要更改dumpdir目录的路径,则为如下语句:

SQL>create or replace directoryDBDUMPas '/home/dumpfiles';

如果需要赋予用户权限

SQL>grant read,write on directory DBDUMP to mhsj;

备份脚本#!/bin/bash

#

#about backup database

#set -x

#author mhsj.net

Dsid=ORCL    #实例名

Duser=mhsj   #用户

Dpasswd=mhsj #密码

PATCH_LOG="/var/log/oracle_dump.log"

Date=`date +"%Y%m%d"`

echo -en "`date "+%F %T "` \t" > $PATCH_LOG

[ ! -a $PATCH_LOG] && touch $PATCH_LOG

chmod 777 $PATCH_LOG

check_status()

{

if [ $? -eq 0 ]

then

echo -e "$1 $2 ...   [ OK ] " |tee -a $PATCH_LOG

else

echo -e "\033[1;31;40m $1 $2...... [FAILED] \033[0m"

echo " $1 $2 ... [FAILED]" >> $PATCH_LOG

fi

}

dump_oracle()

{

echo "bakup Oracle database ...... Starting"

expdp $Duser/$Dpasswd@$Dsid directory=DBDUMP dumpfile="$Dsid-$Date.DMP" logfile="$Dsid-Date.log" >> $PATCH_LOG

check_status bakup Oracle

}

del_file()

{

find /home/dumpfiles/ -mtime +7 -type f | xargs rm -rf

#这里具体的路径根据数据泵的备份路径而定

}

dump_oracle && del_file

然后切换oracle用户

su - oracle

配置计划任务(每天晚上9点半)

crontab -e30 21 * * * /home/oracle/db_bk.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值