You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Oracle PL/SQL Developer中检索已修改视图的旧版本?

在Oracle PL/SQL Developer中检索普通视图的旧版本方法
  • 借助Oracle回收站
    要是视图是先被DROP再重建的,能查回收站里的旧对象。执行这段SQL:

    SELECT object_name, original_name, type, droptime
    FROM user_recyclebin
    WHERE original_name = '你的视图名' AND type = 'VIEW';
    

    找到目标旧视图后,要么用FLASHBACK TABLE 原视图名 TO BEFORE DROP恢复,要么直接查它的定义:SELECT text FROM user_views WHERE view_name = '回收站里的对象名';

  • 通过数据库审计或闪回归档查询历史
    如果数据库开了审计功能,能从审计日志里追视图的修改记录:

    SELECT timestamp, sql_text
    FROM dba_audit_trail
    WHERE obj_name = '你的视图名' AND action_name IN ('ALTER VIEW', 'CREATE VIEW');
    

    另外,要是数据库启用了闪回数据归档,还能查指定时间点的视图定义:

    SELECT text
    FROM user_views AS OF TIMESTAMP TO_TIMESTAMP('具体修改时间', 'YYYY-MM-DD HH24:MI:SS')
    WHERE view_name = '你的视图名';
    

    注意:闪回数据归档需要提前配置,默认是不开启的。

  • 查看PL/SQL Developer自带的操作历史
    要是你是在这个工具里直接改的视图,工具本身可能存了操作记录:

    • 点菜单栏的Tools -> SQL History,在弹出窗口里搜和该视图相关的CREATE/ALTER语句。
    • 之前保存过修改视图的SQL脚本的话,也能在File -> Recent Files里找。

内容的提问来源于stack exchange,提问作者Matěj Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 01:50:34