首页 > 其他 > 详细

异步传输

时间:2020-03-17 00:29:33      阅读:91      评论:0      收藏:0      [点我收藏+]

异步传输

银行通常会将核心系统的数据放到中间服务器上
采集核心系统数据时,我们只需到中间服务器获取信息即可

使用虚拟机模拟,会用两个步骤

  1. 导出

    将192.168.0.33的LOAN1用户中的某个表,导出到中间文件服务器192.168.0.133中

  2. 导入

    从文件服务器192.168.0.133上将文件导入到192.168.0.33的LOAN2BK中

导出

[oracle@localhost ~]$ cat exp.sh 
#!/bin/bash

# 获取昨日日期
CURDATE=$(date -d "1 days ago" '+%Y-%m-%d')
# 指定一个目录
backdir=/home/oracle/exp
# 指定目录下指定dmp文件
backfile=$backdir/$1_$2_$CURDATE.dmp

# 导出
cd $backdir
exp LOAN1/"123456"@192.168.0.33:1521/orcl file=$backfile log=$backdir/1g_$CURDATE.log tables=F_LN_LNP_CTRT_CBAPP;

# 压缩
zip -r $1_$2_$CURDATE.zip $backdir/$1_$2_$CURDATE.dmp

#ftp 文件传输
scp  $backdir/$1_$2_$CURDATE.zip root@192.168.0.133:/root
[oracle@localhost ~]$ ls exp/
1g_2020-03-15.log  CBD_SLZ_2020-03-15.dmp  CBD_SLZ_2020-03-15.zip  

登录133文件服务器查看

[root@localhost ~]# ls
anaconda-ks.cfg  CBD_SLZ_2020-03-15.zip

导入

新建导入用户LOAN2BK

SQL> CREATE USER LOAN2BK IDENTIFIED BY 123456;
User created.

SQL> GRANT DBA TO LOAN2BK;
Grant succeeded.
[oracle@localhost ~]$ cat imp.sh 
#!/bin/bash

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

# 目录
zjfwq=/root
fwq=/home/oracle/dw

# 文件名称
filename=$1_$2_$CURDATE.zip
backfile=$fwq/$filename

# 从中间服务器导入到导入层服务器上
scp root@192.168.0.133:$zjfwq/$filename $fwq

cd $fwq

if [ -e "$filename" ]; then
  # 解压到本地
  unzip -j $filename
  imp LOAN2BK/"123456"@192.168.0.33:1521/orcl file=$fwq/$1_$2_$CURDATE.dmp log=$fwq/imp_$CURDATE.log full=y
  exit 0
fi
[oracle@localhost ~]$ chmod 755 imp.sh 
[oracle@localhost ~]$ ./imp.sh CBD SLZ
[oracle@localhost ~]$ ls dw
CBD_SLZ_2020-03-15.dmp  CBD_SLZ_2020-03-15.zip  imp_2020-03-15.log

登录LOAN2BK用户查看是否成功

SQL> SELECT TABLE_NAME FROM USER_TABLES;

TABLE_NAME
------------------------------
F_LN_LNP_CTRT_CBAPP

异步传输

原文:https://www.cnblogs.com/inmeditation/p/12507367.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!