摘要:查询 Oracle 数据库新添加的表有三种方法:使用数据字典视图:查询 DBA_OBJECTS 视图,指定时间范围筛选。使用闪回查询:使用 FLASHBACK_TABLE 伪表,指定时间戳查询。使用日志文件查询:解析 Oracle 重做日志文件,过滤创建表和添加列的行。
如何查询 Oracle 数据库中新添加的表
方法 1:使用数据字典视图
使用 DBA_OBJECTS 视图:
SELECT TABLE_NAME, CREATEDFROM DBA_OBJECTSWHERE OBJECT_TYPE = 'TABLE'AND CREATED >= TO_DATE('2023-03-01', 'YYYY-MM-DD') -- 指定一个日期范围ORDER BY CREATED DESC;
登录后复制
方法 2:使用闪回查询
使用 FLASHBACK_TABLE 伪表:
SELECT * FROM FLASHBACK_TABLE('SCHEMA_NAME'.'TABLE_NAME', TIMESTAMP '2023-03-01')ORDER BY CREATE_TIME DESC;
登录后复制
方法 3:使用日志文件
查询 Oracle 重做日志文件(redo logs):
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;/
登录后复制
以上就是oracle数据库怎么查询哪些是新加的表的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2473119.html