shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中

下面是“shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中”的完整攻略。

前置条件

  • 已安装Oracle数据库,并导入需要刷新的数据。
  • ftp服务器账户、密码和文件传输路径已确定。

实现步骤

1. 创建 shell 脚本

首先,需要创建一个shell脚本,来实现将Oracle服务器中数据增量刷新到ftp服务器中的功能。

#!/bin/bash

#oracle connect info
ORACLE_USER="username"
ORACLE_PASS="password"
ORACLE_SID="oracle_sid"

# ftp connect info
FTP_HOST="ftp.example.com"
FTP_USER="ftp_username"
FTP_PASS="ftp_password"
FTP_PATH="/data/"

# sql
sql="SELECT * FROM table_name WHERE update_time >= trunc(sysdate) - 1 AND update_time < trunc(sysdate)"

echo "======== `date +%F-%H:%M:%S` Starting to retrieve data from Oracle ========"
echo $sql

sqlplus -s ${ORACLE_USER}/${ORACLE_PASS}@${ORACLE_SID} <<EOF
set linesize 1024
set feedback off
set trimout on
set heading off
set underline off
set trimspool on
set pagesize 0
set termout off
set colsep ","
SET SERVEROUTPUT ON SIZE 100000
spool data.csv
$sql;
spool off
exit;
EOF

echo "======== `date +%F-%H:%M:%S` Retrieving data from Oracle completed ========"
echo "======== `date +%F-%H:%M:%S` Starting to upload data to ftp server ========"
ftp -n <<EOF
open $FTP_HOST
user $FTP_USER $FTP_PASS
cd $FTP_PATH
mput data.csv
close
bye
EOF

echo "======== `date +%F-%H:%M:%S` Upload data to ftp server completed ========"

这个脚本的作用是连接到Oracle数据库服务器中,并查询指定时间范围内的数据,然后将数据导出到一个名为“data.csv”的文件中。接着,使用ftp客户端连接到指定的ftp服务器,并将导出的数据上传到指定路径中。

2. 设置定时任务

接下来,需要使用crontab来定时运行这个脚本。

crontab -e

在打开的配置文件中添加如下一行代码,表示每天凌晨12:00分运行此脚本:

0 0 * * * /bin/bash /path/to/refresh.sh

3. 测试运行

为了验证脚本是否正常工作,可以手动运行脚本,并检查数据是否被成功上传到ftp服务器中。

/bin/bash /path/to/refresh.sh

示例说明

示例一

例如,我们需要将“customer”表中最新一天的客户信息定时上传到ftp服务器中的“/data/customer/”路径下。

SELECT * FROM customer WHERE update_time >= trunc(sysdate) - 1 AND update_time < trunc(sysdate)

这条sql命令表示从“customer”表中查询更新时间在昨天的数据,并导出至“data.csv”文件中。

示例二

如果数据文件太大,不能直接上传,可以先压缩后再上传,例如将“data.csv”文件压缩成“data.tar.gz”文件。

tar cvzf data.tar.gz data.csv

然后修改脚本中的ftp命令为:

ftp -n <<EOF
open $FTP_HOST
user $FTP_USER $FTP_PASS
cd $FTP_PATH
put data.tar.gz
close
bye
EOF

这样就能在ftp服务器上找到经过压缩的数据备份文件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • SqlServer中批量update语句

    下面是SqlServer中批量update语句的完整攻略: 什么是批量update语句 批量update语句可以一次性同时更新一个或多个表中的多行数据,该语句比单条update性能更高,可以提高数据更新的效率。 基本语法 批量update语句的基本语法如下: UPDATE {table_name} SET {column_name} = {value} [,…

    database 2023年5月21日
    00
  • 详解MySQL自增主键的实现

    下面是详解MySQL自增主键的实现的完整攻略。 什么是MySQL自增主键 MySQL自增主键是一种约束,用于确保表中每行数据的唯一标识符。 在表中添加一列自增主键后,MySQL会自动为每行数据赋予唯一的标识符,并输入数据时将自动递增此值,这样可以极大地方便数据管理和使用。 如何添加自增主键 要将自增主键添加到表中,请执行以下步骤: 1.创建表并定义需要的列名…

    database 2023年5月19日
    00
  • 详解从Ubuntu 14.04 LTS版升级到Ubuntu 16.04 LTS

    下面就是“详解从Ubuntu 14.04 LTS版升级到Ubuntu 16.04 LTS”的完整攻略: 1. 准备工作 在进行升级之前,我们需要做好一些准备工作: 1.1 备份数据 在升级之前,我们应当备份好所有的重要数据,以防止升级过程中数据损坏或丢失。 1.2 更新系统 在进行升级之前,我们应当先更新当前系统的所有软件包。打开终端,输入以下命令: sud…

    database 2023年5月22日
    00
  • MySQL ClickHouse常用表引擎超详细讲解

    下面是MySQL ClickHouse常用表引擎超详细讲解的完整攻略。 简介 MySQL和ClickHouse都是常用的数据库,但是它们使用的表引擎不同。MySQL支持多种表引擎,常用的有InnoDB、MyISAM等;而ClickHouse则使用列式存储引擎,它特别适合处理大规模数据。 本文将介绍MySQL和ClickHouse的常用表引擎,并分别给出示例说…

    database 2023年5月21日
    00
  • 如何使用Python在MySQL中使用视图?

    当使用Python与MySQL交互时,可以使用视图来简化复杂的查询。视图是一种虚拟表,它是基于一个或多个表的查询结果。以下是使用在MySQL中使用视图的整略,包括创建视图、使用视图和删除视图等步骤同时,还提供了两个示例来演示如何在Python中使用MySQL视图。 创建视图 在Python中使用MySQL视图之前,需要先在MySQL中创建视图。可以使用以下代…

    python 2023年5月12日
    00
  • SQL Server 连接到服务器 错误233的解决办法

    针对 SQL Server 连接到服务器出现 233 错误的解决办法,我来给出完整的攻略。 问题背景 在连接 SQL Server 数据库时,可能会出现 “连接到服务器失败,请检查错误233” 的错误提示。这个错误的原因有可能是 SQL Server 的配置出现问题,而且这个问题不仅限于特定版本的 SQL Server,多个不同版本的 SQL Server …

    database 2023年5月21日
    00
  • JAVA mongodb 聚合几种查询方式详解

    JAVA MongoDB 聚合几种查询方式详解 MongoDB是一个非常流行的NoSQL数据库,它支持强大的聚合查询功能,可以让我们对数据进行更加灵活的统计和分析。本文将详细讲解JAVA语言中如何使用MongoDB实现聚合查询。 什么是聚合查询 聚合查询是一种特殊的查询方式,它可以将多个文档合并成一个或多个文档,实现类似SQL中GROUP BY的功能。聚合查…

    database 2023年5月21日
    00
  • 详细部署阿里云服务器全过程(图文教程)

    下面我来详细讲解一下“详细部署阿里云服务器全过程(图文教程)”的完整攻略。 环境准备 首先需要准备好以下环境: 阿里云账号 一台空的云服务器 本地电脑安装SSH客户端 创建服务器 在阿里云控制台中,选择“云服务器ECS”,点击“创建实例”按钮。 按照提示填写实例信息,包括地域、可用区、实例类型、镜像、购买数量等。其中,选择镜像时建议选择常用的操作系统,如Ce…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部