V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
frank1256
V2EX  ›  程序员

oracle 有办法对记录溯源吗?

  •  
  •   frank1256 · 248 天前 · 1214 次点击
    这是一个创建于 248 天前的主题,其中的信息可能已经有所发展或是发生改变。

    rt ,有这样个需求,相对 oracle 的几张表做溯源操作。有 java jdbc 写入,有 go 写入,有触发器触发了写入。

    有工具,或者什么方案能知道记录是源头是什么,比如 ip ,区分是触发器还是 jdbc ,之类的。

    7 条回复    2024-04-18 14:57:26 +08:00
    x9113946
        1
    x9113946  
       248 天前
    了解一下 CDC
    dbg
        2
    dbg  
       248 天前   ❤️ 1
    启用 oracle 数据库的审计功能,设置审计策略( AUDIT POLICY )就可以了。包括每个操作的时间、执行用户、执行操作的具体 SQL 语句、操作是否成功等详细信息,都能记录下来的。
    不过。。。记录文件体积会比较大,注意你的磁盘空间够用不。
    dbg
        3
    dbg  
       248 天前
    在 Oracle 12c 以后,Oracle 推出了一个新的审计框架,称为统一审计( Unified Auditing ),你可以了解一下。
    dog82
        4
    dog82  
       248 天前
    oracle audit 专门做这个,十几年前学 ocp 时有一个章节说这个,但是我感觉并不实用
    luozic
        5
    luozic  
       248 天前
    @dbg 你这种可以,不过我看到还有一种是数据库不直接对外连接,直接在中间件/代理上面做审计 log
    frank1256
        6
    frank1256  
    OP
       248 天前
    @dbg 我看看
    frank1256
        7
    frank1256  
    OP
       248 天前
    @dog82 能区分 触发器,和 jdbc 吗?或者其他来源吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2629 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:15 · PVG 15:15 · LAX 23:15 · JFK 02:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.