首页 > 解决方案 > 在 Azure 中为 Oracle DB 捕获插入、更新和删除事件

问题描述

我们在 Azure 虚拟机中安装了一个 Oracle 数据库,该虚拟机位于其自己的私有 VNET 中。我们希望捕获 Oracle DB 记录上发生的插入、更新、删除事件,并将这些事件提供给某种队列(服务总线队列、事件网格、事件中心等),然后由 Azure 函数或Azure 逻辑应用。

在 Azure 中捕获这些事件的最佳方式是什么?

标签: oracleazureazureservicebusazure-eventgrid

解决方案


我不了解 Azure 的详细信息,但如果您需要对必须审计的内容进行更多控制,我会从 Oracle 数据库本身开始,使用内置审计功能或自定义触发器。如果您使用内置审计,则只需从审计视图中进行选择,当使用触发器时,您将在触发器中记录所有需要的审计信息,然后从自定义审计表中进行选择。

审计示例:

create audit policy my_audit_policy actions all on hr.regions; 
audit policy my_audit_policy;

触发器示例:

create trigger aud_regions_trigger
after insert or delete or update
on hr.regions
for each row
begin
   -- log data in tables
end;
/

推荐阅读