mysql - 如何使用Shell脚本将日常数据从Oracle表迁移到MySQL表?

标签 mysql oracle shell migration sqlplus

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

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

所以操作就像,

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

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

我正在 LAMPP 环境上工作。

这是我的问题,

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

谢谢, 拉贾。

最佳答案

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

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

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

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

关于mysql - 如何使用Shell脚本将日常数据从Oracle表迁移到MySQL表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27011818/

相关文章:

shell - 带有 shell : oncat listed movies 的 ffmpeg

mysql - shell 脚本打印给定日期的所有半小时 block 的列表

linux - 从 nohup + sudo 获取 pid 和返回状态

php - 从数据库中获取以日期时间格式插入的数据,但只想按日期获取

带有 INNER JOIN 的 MySQL SQL 语句

mysql - 使用 group_by 选择最后一列记录

基于Oracle的SQL查询

mysql - 自动更新 MySql 字段

sql - 如何在oracle中的多选中避免相同的子查询?

Oracle Forms 在 When-Validate-Record 触发器中清除记录