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

如何查询 Oracle 数据库中新添加的表
方法 1:使用数据字典视图
- 使用
DBA_OBJECTS视图:
SELECT TABLE_NAME, CREATED
FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
AND CREATED >= TO_DATE('2023-03-01', 'YYYY-MM-DD') -- 指定一个日期范围
ORDER BY CREATED DESC;方法 2:使用闪回查询
这套系统是之前为一个朋友开发的一套游戏币交易系统,开发语言asp+javascript 数据库是Access。现在提供免费下载给新人学习,请不要用于商业用处。大分类为:商品管理现金转虚拟币管理 虚拟币转现金管理 历史转换记录 ID搜索虚拟币管理用户管理前台用户管理 被停权的会员 后台管理员添加 后台用户员管理 数据表备份分类管理游戏名称管理 服务器名管理数据统计查询交易类型数据信息管理修改重要公告
- 使用
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;
/









