sftp服务器同步文件到本地,服务器之间通过sftp的方式同步文件,并入库到本地数据的表中...
需求:A服务器会定时生成一个CSV文件,B服务器从A服务器下载下来,并存入到B服务器的oracle数据库的某表中。
分析:1.数据同步上传和下载可以使用ftp的方式,当然也有其他方式。
2.数据存到本地后可以使用oracle自带的sqloader来加载文件到数据库中。
也可以选择dblink,网上说效率没这个高。未亲测。
实施:
1.写一个sqlloader的控制文件,取名为res_count.ctl
OPTIONS (skip=1,rows=128)
load data
infile'/wjjk_oracle/export_files/fm_to_datang_files/res_count.txt' --本来这里是res_count.csv文件,但是不知道是不是对方提供的csv编码有问题,导进去为空,就转成了制表符的txt。网上说该有asc||码。truncate
INTO TABLE res_count
fields terminated by X'09'--X'09'表示制表符,这样也行' '
trailing nullcols ( emsname, devicename, kind, num )
2.写一个shell脚本,取名为:res_count.sh.做数据同步,并执行sqlloder的控制文件。
#!/bin/shexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1/export LANG=en_US.utf8
HOST=11.11.11.11USER=net
PASS=OSUsernet_
cd/wjjk_oracle/export_files/fm_to_datang_filesecho "Starting to sftp..."#nohup sqlplus rmssc/rms4sc @/wjjk_oracle/export_script/fm_to_datang/res_count_delete.sql
curdate="`date +%Y%m%d`"filename="$curdate"".csv"lftp-u ${USER},${PASS} sftp://${HOST} <
cd /backup/statistics
mget $filename
bye
EOFmv${filename} res_count.csvecho 'start sqlldr'
/u01/app/oracle/product/11.2.0/db_1/bin/sqlldr user/password@rms_51 control='/wjjk_oracle/export_script/fm_to_datang/res_count.ctl'mv res_count.csv ${filename}
这里大概逻辑就是设置oracle的目录,编码,设置几个变量为你要连接的服务器的账号、密码、地址。
对方规定每天会生产20180321.csv这种格式的文件。我们去取回来。最后执行sqlldr进行入库操作。
3.最后创建一个定时任务,crontab这个命令,可以网上自己查用法。
00 22 * * * /wjjk_oracle/export_script/fm_to_datang/res_count.sh >> /wjjk_oracle/export_script/fm_to_datang/res_count.log 2>&1 &
没记错的话,每天0点22就会定时执行了。
sftp服务器同步文件到本地,服务器之间通过sftp的方式同步文件,并入库到本地数据的表中...相关推荐
- mysql导入数据load data infile用法(将txt文件中的数据导入表中)
我们常常导入数据!mysql有一个高效导入方法,那就是load data infile 下面来看案例说明 基本语法: load data [low_priority] [local] infile ...
- load导入txt文件到mysql_mysql导入数据load data infile用法(将txt文件中的数据导入表中)...
我们常常导入数据!mysql有一个高效导入方法,那就是load data infile 下面来看案例说明 基本语法: load data [low_priority] [local] infile ...
- 创建商品表中插入一条数据/图书表中新增一条记录/学生表中,要求查询姓张,并且年龄在18到25岁之间的学生/查询article文章表
在以上创建的商品表中插入一条数据:名称为"学生书包".价格18.91.库存101.描述为空 在图书表中新增一条记录:Java核心技术.作者"Cay S. Horstman ...
- 远程VPS和本地电脑之间无法粘贴复制及分享文件
问题原因:大概率是因为rdpclip.exe 进程未正常运行,或桌面远程未给予足够的权限. 操作步骤: 1.在本地电脑工具栏右键打开任务管理器,查看有无rdpclip.exe进程,通常,只要存在该进程 ...
- ffice 2016 文件运行excel的数据透视表中的数据切片器的时候自动关闭
问题描述:在运行数据切片器的时候,只要一点击筛选功能,excel就会自动关闭.并重新启动. 问题分析:通过分析能够进行数据切片选择和不能进行切片的两个电脑的excel的版本,发现.两个版本信息不同. ...
- Android从本地服务器获取Mp3实现边下边播(JavaEE+Tomcat+SQLServer)
项目实例:https://download.csdn.net/download/qq_37437983/10484636 实现环境: 1)Lenovo G50-80 Ubuntu16.04笔记本 2) ...
- u3d文件上传至服务器,unity 上传图片到云服务器
unity 上传图片到云服务器 内容精选 换一换 用户可以采用加密方式创建私有镜像,确保镜像数据安全性.用户已启用数据加密服务.加密镜像不能共享给其他用户.加密镜像不能发布到应用超市.如果云服务器的系 ...
- 实验九 使用异步方式实现文件读\写
实验九 使用异步方式实现文件读\写 一.实验目的 了解Windows系统异步文件读/写的概念. 熟悉Windows系统文件读/写相关的API. 掌握采用异步方式实现文件读/写的相关参数设置. 二.实验 ...
- 计算机二级C语言打开哪个文件,全国计算机等级考试二级C语言12.2文件的打开与关闭...
12.2 文件的打开与关闭 对文件进行读.写操作时,首先要解决的问题是如何把程序中读写的文件与磁盘上的实际数据文件联系起来,接着就应该"打开"文件,在使用结束之后关闭文件. 考点2 ...
最新文章
- sketch制作Android动画,如何直接用Sketch制作动画|Sketch插件|
- cc2530学习笔记
- 话术php源码,恋爱话术宝典织梦源码
- 详解 Java NIO
- 应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的(转载)...
- 剑指offer面试题[32]:从1到n整数中1出现的次数
- 行人重识别论文阅读12-Bi-directional Exponential Angular Triplet Loss for RGB-Infrared Person ReID
- 【poj3311】Hie with the Pie
- 什么是数据结构?什么是算法?怎么学习数据结构与算法?
- mysql 用户名 长度_一个 MySQL 用户名长度的坑
- 主分区、扩展分区、逻辑分区
- php qq远程桌面共享,新手学堂:用VNC实现远程桌面共享的方法
- 仿真或极简,用户界面的美丽与哀愁
- 电影《面包店的女孩+苏姗娜的故事》观后感
- VUE-Vuetify框架
- Direct3D 12 尝鲜(二): Fence
- python分钟转化为小时_Python将分钟转为小时和分钟
- Flutter之声网Agora实现音频体验记录
- 【POJ3093】Margaritas on the River Walk【01背包变种】
- 鸿蒙电脑操作系统最新消息,今日大事件:鸿蒙操作系统6月2日见苹果 WWDC 将于 6 月 8 日举行...