银行通常会将核心系统的数据放到中间服务器上
采集核心系统数据时,我们只需到中间服务器获取信息即可
使用虚拟机模拟,会用两个步骤
导出
将192.168.0.33的LOAN1用户中的某个表,导出到中间文件服务器192.168.0.133中
导入
从文件服务器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