oracle脚本导出数据文件

1.首先在服务器上创建目录,以目录/user/mt_data/为例,服务器上执行:mkdir mt_data
2.把目录对oracle用户授予执行的权限
chown -R oracle:oinstall /user/mt_data/

3.首先创建导出文件的目录,这里以目录/user/mt_data/为例,命名为"MY_DIR",oracle中执行

sql>create directory MY_DIR as '/user/mt_data/';

4.检验上述语句是否执行成功,执行

sql>select * from dba_directories;

如果执行成功则显示如下图
在这里插入图片描述5.创建脚本,执行vi test.sh
需求时每天对一个数据库中的表进行导出,这里以t_mt_yyyyMMdd表为例

#!/bin/bash
#:本脚本自动备份30天以前的mt表数据
#加载oracle的相关参数
#如果oracle参数不明确,请使用命令查看
# su - oracle
# echo $ORACLE_HOME
export ORACLE_BASE=/user/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=qxt
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
#oracle字符集
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
#获取44天以前的时间,格式:20180313
#DATE=$(date +%Y%m%d)
DATE=$(date -d "30 days ago" +%Y%m%d)
#设置备份目录,
export DIR=/user/mt_data
echo $DIR
echo $DATE
#开始备份,此处采用exp方式导出,根据实际情况可选用expdb数据方式导出
echo 'Oracle backup...'$DATE

#导出方式有exp 和 expdp两种,这里使用的是expdp,这个优点是执行快
#   qxt_user/123456789  这是数据库的用户名和密码
#   directory 文件夹,其值MY_DIR对应数据库中select * from dba_directories; 查询结果里的directory_name。
#   dumpfile 导出的dmp文件名
#   logfile 导出输出的日志文件名
#   tables 导出的数据库表
expdp 'qxt_user/123456789' directory=MY_DIR dumpfile='t_mt_'$DATE'_dp.dmp' logfile='t_mt_'$DATE'_dp.log' tables=qxt_user.t_mt_$DATE
#压缩文件
zip -rj $DIR'/t_mt_'$DATE'_dp.zip' $DIR'/t_mt_'$DATE'_dp.dmp'
#删除dmp文件
rm -f '/user/mt_data/t_mt_'$DATE'_dp.dmp'

# 验证导出的数据是否与实际数据一致
sqlplus qxt_user/123456789 <<EOF! >>$DIR'/t_mt_'$DATE'_dp.log'
select count(1) from t_mt_$DATE;
exit
EOF!

6.注意
执行expdp和impdp命令需要拥有exp_full_database和imp_full_database权限,授权语句如下:

grant exp_full_database,imp_full_database to qxt_user;

qxt_user这里表示用户

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

雄哥007

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

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

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

打赏作者

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

抵扣说明:

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

余额充值