mysql - 每天将oracle数据库的查询结果存入MySql数据库

标签 mysql oracle

我的应用程序有 2 个数据库:Oracle 和 MySQL。 现在我需要每隔几个小时将oracle数据库中表的查询结果存储到MySQL数据库中的表中。

Here is the image that describes the above scenario.

我检查了其他类似的问题,但它们主要是关于将整个数据库从 Oracle 迁移到 MySql,而不是“每隔几个小时后查询结果”。

实现这一目标的最佳方法是什么?

最佳答案

我会通过creating a DB link来做到这一点从 Oracle 服务器到 MySQL 服务器。这有点复杂,但是一旦您完成了这项工作,您应该能够创建一个调度程序作业来每隔几个小时运行一次查询,并通过数据库链接将结果插入到表中。

begin
dbms_scheduler.create_job (
   job_name           =>  'store_my_result',
   job_type           =>  'PLSQL_BLOCK',
   job_action         =>  'BEGIN insert into "my_table"@mysqldblink select * from TestA; END;',
   start_date         =>  '05-Dec-2018 07:00:00 am',
   repeat_interval    =>  'FREQ=HOURLY;INTERVAL=3',
   enabled            =>  true);
end;
/

显然,在使用匿名 PL/SQL block 创建作业之前,请单独测试它。

关于mysql - 每天将oracle数据库的查询结果存入MySql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53619575/

相关文章:

oracle空间趣味练习?

java - oracle.jdbc.OracleCallableStatement 强制转换异常

sql - 合并到不匹配时插入 if 条件

oracle - 为什么 oracle 连接在 mac os sierra 上打开这么慢?

mysql - 使用组内记录排名更新 MySQL 表

mysql - 字段列表中带有 session 变量的 SQL 查询的 ORDER BY 子句中的操作顺序是什么?

php - Laravel 阻止 updated_at 更新特定查询

php - SQL 中存储标签、类别和 int[] 的最佳方式

mysql - 如何在一个查询中连接两个表?

oracle - 自动将数据从 Oracle DB 加载到 Google BigQuery