Linux [异步传输]

目录

异步传输

脚本


异步传输

数据源/上游系统

  1. exp
    将数据源中的数据导出 ==> dmp 文件
  2. scp
    把dmp文件远程传输到中间服务器

中间层服务器
异步传输

命名规范
系统名_用户名_时间.dmp

贴源层/ODS

  1. scp
    把文件从中间层服务器传输过来
  2. imp
    把数据文件导入贴源层中的数据库中

脚本

导出
exp 用户名/密码@IP地址:端口号/实例名 file=路径/文件名.dmp  log=日志文件名.log tables=表1,表2;

导入
imp 用户名/密码@IP地址:端口号/实例名 file=路径/文件名.dmp  full=y

压缩
zip -r 文件名.zip  文件

解压
unzip -j 文件名.zip

远程传输命令
scp  源  目标

前一天的数据导入导出
shell脚本

数据源中导出
exp

vi exp.sh
#!/bin/bash
CURDATE=$(date -d "1 days ago" '+%Y-%m-%d') #前一天
cd /home/oracle/dump_yuan  #到dump_yuan下导出 
exp tom/123456@ip:1521/orcl file=tom_$CURDATE.dmp log=tom_$CURDATE.log tables=student #从数据库tom用户下导出
zip -r tom_$CURDATE.zip tom_$CURDATE.dmp #压缩
scp tom_$CURDATE.zip  root@ip:/home/dump #传输到Linux服务器下root账户下/home/dump目录里

chmod +x exp.sh
./exp.sh


贴源层导入
imp

#!/bin/bash
CURDATE=$(date -d "1 days ago" '+%Y-%m-%d') #前一天
scp root@IP:/home/dump/tom_$CURDATE.zip /home/oracle/dump_ods #传输到贴源层
cd /home/oracle/dump_ods #到dump_ods下
if [ -e "tom_$CURDATE.zip" ] #如果有这个
then
	sqlplus O_tom/123456@IP:1521/orcl:<<EOF
	drop table student; #就删掉
	exit
EOF
	unzip -j tom_$CURDATE.zip #解压tom_$CURDATE这个文件
	imp O_tom/123456@IP:1521/orcl file=tom_$CURDATE.dmp full=y #导入到数据库用户O_tom里
	exit
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值