oracle数据库怎么查询哪些是新加的表

摘要:查询 oracle 数据库新添加的表有三种方法:使用数据字典视图:查询 dba_objects 视图,指定时间范围筛选。使用闪回查询:使用 flashback_table 伪表,指定时间戳查询。使用日志文件查询:解析 oracle 重

摘要:查询 oracle 数据库新添加的表有三种方法:使用数据字典视图:查询 dba_objects 视图,指定时间范围筛选。使用闪回查询:使用 flashback_table 伪表,指定时间戳查询。使用日志文件查询:解析 oracle 重做日志文件,过滤创建表和添加列的行。

oracle数据库怎么查询哪些是新加的表

如何查询 Oracle 数据库中新添加的表

方法 1:使用数据字典视图

  • 使用 DBA_OBJECTS 视图:
<code class="sql">SELECT TABLE_NAME, CREATED
FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
AND CREATED &gt;= TO_DATE('2023-03-01', 'YYYY-MM-DD') -- 指定一个日期范围
ORDER BY CREATED DESC;</code>

登录后复制

方法 2:使用闪回查询

  • 使用 FLASHBACK_TABLE 伪表:
<code class="sql">SELECT * FROM FLASHBACK_TABLE('SCHEMA_NAME'.'TABLE_NAME', TIMESTAMP '2023-03-01')
ORDER BY CREATE_TIME DESC;</code>

登录后复制

方法 3:使用日志文件

  • 查询 Oracle 重做日志文件(redo logs):
<code class="sql">SET SERVEROUTPUT ON;
DECLARE
  sql_text VARCHAR2(4000);
BEGIN
  FOR logfn IN (SELECT MEMBER FROM V$LOG) LOOP
    DBMS_OUTPUT.PUT_LINE('Reading log file: ' || logfn);
    FOR line IN (SELECT LINE FROM V$LOGFILE(logfn) WHERE INST_ID = (SELECT INST_ID FROM V$INSTANCE) ORDER BY SEQ) LOOP
      IF line LIKE '%CREATE TABLE%' OR line LIKE '%ALTER TABLE ADD COLUMN%' THEN
        DBMS_OUTPUT.PUT_LINE('New table created: ' || line);
      END IF;
    END LOOP;
  END LOOP;
END;
/</code>

登录后复制

以上就是oracle数据库怎么查询哪些是新加的表的详细内容,更多请关注叮当号网其它相关文章!

文章来自互联网,只做分享使用。发布者:老板不要肥肉,转转请注明出处:https://www.dingdanghao.com/article/371798.html

(0)
上一篇 2024-04-18 21:20
下一篇 2024-04-18 21:20

相关推荐

联系我们

在线咨询: QQ交谈

邮件:442814395@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信公众号