linux 使用shell导出oracle用户表到文件服务器

linux 使用shell导出oracle用户表到文件服务器
使用shell脚本将oracle表从源服务器导出到中间文件服务器

  1. 首先以oracle用户登入到源服务器,在oracle下创建一个目录,目录名称为shell,然后创建一个shell脚本
mkdir shell
  1. 将以下命令复制到shell脚本中
    如果不知道环境变量信息可以使用env命令查看
env
[oracle@oracle shell]$ vi expyiqun.sh
#!/bin/sh
export ORACLE_BASE=/ora/oracle 
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export ORACLE_SID=orcl  #数据库实例名

#export ORACLE_SID=yiqun  #数据库实例名

#export ORACLE_SID=yiqun   #数据库实例名
#多个实例名情况下


#获取昨日日期T+1
CURDATE=$(date -d "1 days ago" '+%Y-%m-%d')

#在本系统指定一个目录
backdir=/home/oracle/lj   #和数据库同系统同用户下
#指定目录下指定dmp文件名字
backupfile=$backdir/$1_$2_$CURDATE.dmp

#删除指定日期导出文件
delete_file()
{
    premonth=$(date -d"5 days ago" '+%Y-%m-%d')
    rm -rf $backdir/$1_$2_$premonth*
}

#导出
cd $backdir
exp test1/123456@192.168.91.128/orcl #登入oracle用户名/密码@IP地址/实例名 FILE=$backupfile  #备份到目录
log=$backdir/lg_$CURDATE.log  #写日志文件 tables=T1;  #table数据库表名,如果是多个表需要用括号括起来,表名与表名之间用逗号隔开

#压缩
zip  -r $1_$2_$CURDATE.zip   $backdir/$1_$2_$CURDATE.dmp  #$1_$2_$CURDATE.dmp 文件名称和类型
#ftp 文件传输
scp  $backdir/$1_$2_$CURDATE.zip   #远程传输 root@192.168.91.130:/home/oracle/cbs #中间服务器linux用户名@ip地址:路径

delete_file $1 $2  /#两个参数,用于指定之前创建的文件名称,用于删除
  1. 保存并退出

  2. 将expyiqun.sh 赋权,权限为775并执行脚本

chmod 775 expyiqun.sh
./expyiqun.sh c g #参数名依据具体情况编写,我这是第一次导入,没有任何文件,不需要删除任何文件,就随便起了两个参数名
  1. 查看本地压缩包和是否传到远程服务器文件
    分别在本地和中间服务器系统查看
ll /home/oracle/lj #查看本地

在这里插入图片描述

远程服务器查看

登入到远程服务器查看

cd /home/oracle/cbs
ll

在这里插入图片描述

完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值