【问题标题】:How to migrate daily data from Oracle table to MySQL table using Shell script?如何使用 Shell 脚本将日常数据从 Oracle 表迁移到 MySQL 表?
【发布时间】:2015-01-16 16:11:20
【问题描述】:

我需要向 MySQL 表中插入数据。数据通常通过一个 SQL 文件来自 Oracle 数据库,该文件有一些查询以从 Oracle 数据库表中获取数据。

所以我需要每天使用 Shell 脚本自动执行此过程。因此它将运行 SQL 文件 (Oracle) 并获取数据。数据必须移动到特定的 MySQL 表中。

这样的操作,

  1. 正在连接到 Oracle 服务器。
  2. 在该服务器中执行 SQL。
  3. 将收集的数据移动到 MySQL 表中。

我想每天以 cron 的形式运行该操作。

我正在开发 LAMPP 环境。

这是我的问题,

  1. 是否有任何标准工具可以做到这一点?
  2. 我们可以使用 shell 脚本来实现吗?如果是这样,请建议我的步骤。
  3. 或者,如果您建议我自己优化的方式,那就太好了。

谢谢, 拉贾。

【问题讨论】:

    标签: mysql oracle shell migration sqlplus


    【解决方案1】:

    您可以使用 cron 作业来实现此目的,

    1. 编写一个从 Oracle DB 导出数据的 sql 文件,即包含带有适当 where 子句的导出表命令的 sql 文件
    2. 编写一个 sql 文件,将数据导入 Mysql DB,即 Mysql 中类似的导入文件命令
    3. 编写一个shell文件来运行这两个sql文件并验证Mysql表中的数据

    安排一个 cron 作业在每天的特定时间运行这个 shell 脚本。

    请检查 Oracle 和 Mysql 上的导入/导出文件格式,它们可能不同,因为一种是免费软件,另一种是商业软件。如果存在差异,那么您将需要修改一些数据/文件,否则就足够了。

    【讨论】:

    • 感谢您的回答。那么我们需要像 XML、JSON 或 CSV 这样的中间文件吗?所以我们可以将获取的数据(来自 Oracle)保存在该文件中。此后,我们可以使用它来输入 mysql。我说的对吗?
    • Export 和 Import 是几乎每个数据库中都存在的实用程序,它们允许以 csv 或自定义分隔符格式存储您导出的数据。这些文件同样可以通过导入功能导入。您只需找到 oracle 和 mysql 支持的文件格式(csv、tab 分隔、xml 等)(我认为两者都支持 csv)并以该格式导出数据并导入它。
    猜你喜欢
    • 1970-01-01
    • 2014-05-02
    • 1970-01-01
    • 2019-09-17
    • 2021-08-26
    • 1970-01-01
    • 2019-08-01
    • 2011-10-22
    • 1970-01-01
    相关资源
    最近更新 更多