问题标签 [oracle-streams]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
324 浏览

database - 如何以不同的 Schema 名称实现 Oracle Streams?

我想以不同的模式名称实现 oracle 流..例如 schema1.jobs 到 schema2.jobs 因为大多数人在相同的模式中给出示例..就像 scott.emp 到 scott.emp :(

有人有什么建议和线索吗?

太感谢了 :)

0 投票
1 回答
812 浏览

oracle - Oracle 流 - 当重做文件永远消失时等待重做

我已经配置了流,但它在一段时间后停止工作。为了重新同步,我停止了所有捕获/应用进程并将表从源导出到目标。

再次启动后,它仍然说等待相同的重做文件。

是否可以从当前文件“重新启动”流?

0 投票
2 回答
4036 浏览

oracle - 如何集成 Oracle 和 Kafka

我一直在尝试找到在单个 Oracle 11g R2 实例中捕获更改通知并将这些事件传递到 Apache Kafka 队列的最有效/最有效的方法,但是我无法找到任何简单的示例或教程.

我在 Oracle 方面看到了一些可能性(Streams、Change Data Capture、triggers (yuck) 等),但我仍然不确定哪个是最好的追求。

这是一个在 GitHub 上使用 MySQL 和 Kafka 的项目,名为mypipe,我只是没有看到任何与 Oracle 类似的东西。我不确定是否最好专注于为此编写一个 Oracle 包,或者类似于 mypipe 项目等的层等等。

任何建议、建议或示例将不胜感激。谢谢你。

0 投票
1 回答
112 浏览

database - 用于存储历史数据的复制数据库

数据库中只有部分数据正在由应用程序处理,其余数据对于报告目的是必需的,但这会导致应用程序性能不佳。我想在不修改数据库模式的情况下存档历史数据。

是否有可能复制数据库,从主实例中删除旧数据并定期将新更改同步到复制数据库中?这样,主要的“事务”数据库将是轻量级的,并且复制的数据库将包含用于报告目的的完整的当前和历史数据集。

您能否推荐一些工具或提供一些提示以在 Oracle 上实现这一目标?

编辑:我想知道我是否可以使用流并以某种方式使 DML 处理程序忽略行上的 DELETE 操作(docs.oracle.com/cd/B28359_01/server.111/b28321/...),以便在数据复制期间历史行将是尽管已从事务数据库中删除,但仍保留。

0 投票
0 回答
107 浏览

oracle11g - Oracle 数据库对某些 MQ 客户端的更改

嗨,Oracle DB 伙计们,有没有办法将数据库中的 DML 更改传播到某个 MQ 服务器(在我的例子中是 Kafka)。我已经阅读了以下内容,但找不到任何具体的实现

oracle 流:- 用于数据库到数据库的复制

oracle strams AQ:- 用于与 MQ 客户端集成

GoldenGate:由于成本,我们无法使用

0 投票
1 回答
45 浏览

oracle - Oracle CQL - 在窗口完成后计算元组的数量

我正在使用JDeveloper.

我有一个包含 20 个元组的数据流,格式如下:

我想计算每个窗口中元组的数量(稍后我将添加一个条件来仅计算不包含空值的元组)。所需的输出是:

我试过:从 Stream [rows 10] 中选择 count(*)。但是,我得到:

我也试过:Select count(*) from Stream [rows 10 slide 10 ]。但是我得到:

我的问题是如何指定一个查询,仅当所有 N 个元组都到达时,才返回大小为 N 的窗口中的元组总数(条件成立)?

谢谢你。

0 投票
1 回答
563 浏览

oracle-coherence - 从 Oracle 流分析连接到一致性

我正在尝试实现以下场景。

  1. 数据应该从 DB 推送到 Oracle coherence。
  2. Oracle Stream Analytics 应该可以访问这种一致性以应用一些规则。

我可以通过执行coherence.cmd文件从命令提示符连接到连贯性。当我执行这个文件时,它正在连接到现有的连贯性。

但是,当我尝试在 oracle 流分析中创建 Coherence Cache 流时,我收到警告,并且操作超时。

2016-08-18 10:17:27.693/1423.868 Oracle Coherence GE 12.1.3.0.0 (thread=Cluster, member=n/a): This Member(Id=0, Timestamp=2016-08-18 10:16: 5 7.08, Address=192.168.1.150:55721, MachineId=4789, Location=site:,machine:,process:9376, Role=BeaWlevsServer) 一直在尝试使用 WKA 列表加入集群 [/192.168.1.150:55720] 30秒没有成功;这可能表示 WKA 配置错误,或者可能只是集群繁忙或活动故障转移的结果。

2016-08-18 10:17:27.693/1423.868 Oracle Coherence GE 12.1.3.0.0(线程=集群,成员=n/a):延迟新集群的形成;等待 f 或知名节点响应

谁能告诉我这里有什么问题?

0 投票
1 回答
47 浏览

oracle-fusion-middleware - Oracle 流服务器状态

我正在研究 Oracle Streams Analytics (OSA) 的高可用性。

是否可以从 OSA 应用程序中访问服务器状态,检查服务器是主服务器还是辅助服务器?

我查看了很多 Oracle 文档,但没有找到对故障转移通知的参考

0 投票
1 回答
57 浏览

jms - 无法在 Oracle 流分析中创建 JMS 流

我正在试用 Oracle Stream Analytics 12.2.1,并希望创建一个流以从我设置的独立服务器域中的 ActiveMQ 代理接收 JMS 消息。我在 Windows Server 2012 R2 上使用 Java 8 进行了最小设置(仅安装了 fmw_12.2.1.1.0_osa.jar 文件并运行配置向导以使事情顺利进行)。

我能够启动独立域并登录到它。在目录屏幕中,我单击“创建新项目”菜单按钮并选择创建一个新流。Create Stream 向导我设置了一个名称并将流类型设置为 JMS。

创建流向导的第二个屏幕是我卡住的地方。JMS 上的 Oracle 文档充其量是参差不齐,但我发现有几个地方暗示我应该能够在此屏幕上键入 URL 以连接到我的 JMS 代理,但是“连接”选项是一个空下拉列表当我单击它时显示“未找到匹配项”。

在此处输入图像描述

我尝试从“创建新项目”菜单按钮创建一个新连接,但 JMS 不是创建连接类型的选项,所以我也被困在那里。

有谁知道我可能会错过什么?

0 投票
0 回答
478 浏览

oracle - 将 DML 和 DDL 更改记录到指定表、模式或整个 oracle 数据库的正确方法

我正在寻找一种解决方案来动态记录对指定 Oracle 模式或表所做的 DML 和 DDL 更改,这意味着可以在应用程序运行时更改受监控的模式和表。

总之,我要实现一个Oracle数据库探测,而不是用于同步数据库。

更新

例如,我将监视器设置test为 database的表db。我想检索对 所做的所有更改test,例如删除/添加/修改列或插入/更新/删除记录等,我需要分析所有更改并将其发送到区块链,例如table test added a column field1,这就是我想要获取所有对受监控的表执行 SQL。

我已阅读有关数据保护和流的 Oracle 文档。

数据保护文档说:

SQL 应用(仅限逻辑备用数据库)

从从主数据库接收到的重做重构 SQL 语句,并针对逻辑备用数据库执行 SQL 语句。

逻辑备用数据库可以在读/写模式下打开,但由逻辑备用数据库维护的目标表以只读模式打开以进行报告(前提是适当地设置了数据库保护)。SQL Apply 使您能够使用逻辑备用数据库来报告活动,即使在应用 SQL 语句时也是如此。

文档说:

Oracle Streams 提供了两种隐式捕获数据库更改的方法:捕获进程和同步捕获。捕获过程可以捕获对表、模式或整个数据库所做的 DML 更改以及 DDL 更改。同步捕获可以捕获对表所做的 DML 更改。规则确定捕获过程或同步捕获捕获哪些更改。

而在此之前,我已经尝试通过使用oracle LogMinner 分析redo log 来获取SQL 更改,并最终做到了。

Oracle流似乎是实现我的目的最合适的方式,但它实现的步骤过于复杂和手动。事实上,阿里巴巴有一个开源的 MySQL 项目,名为canal,canal 伪装成从机,让 MySQL 转储 binlog 并推送到 canal 服务,然后 canal 从 binlog 重构原始 SQL。

我认为 Oracle 备用数据库就像 MySQL 从站一样,因此可以以类似的方式实现探测。所以我想使用数据保护方式,但我不想自己分析重做日志,因为它需要root权限才能关闭数据库并启用某些功能,但是在生产中我只有一个只读用户。我想使用逻辑备用数据库,但问题是我没有看到如何获得Reconstitutes SQL statements上述内容。

那么,有没有高手可以给点建议呢?

总之非常感谢。