Zusammenfassung: Es gibt drei Methoden, um neu hinzugefügte Tabellen in der Oracle-Datenbank abzufragen: Verwenden Sie die Datenwörterbuchansicht, fragen Sie die DBA_OBJECTS-Ansicht ab und geben Sie die Zeitbereichsfilterung an. Flashback-Abfrage verwenden: Pseudotabelle FLASHBACK_TABLE verwenden und Zeitstempelabfrage angeben. Verwenden Sie Protokolldateiabfragen: Analysieren Sie Oracle-Redo-Protokolldateien, filtern Sie Zeilen, erstellen Sie Tabellen und fügen Sie Spalten hinzu.
So fragen Sie die neu hinzugefügte Tabelle in der Oracle-Datenbank ab
Methode 1: Datenwörterbuchansicht verwenden
DBA_OBJECTS
-Ansicht: DBA_OBJECTS
视图:<code class="sql">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;</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>
Methode 2 : Flashback-Abfrage verwenden
FLASHBACK_TABLE
verwenden: <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>🎜Methode 3: Protokolldateien verwenden🎜🎜🎜🎜Oracle-Redo-Log-Dateien (Redo-Logs) abfragen: 🎜🎜rrreee
Das obige ist der detaillierte Inhalt vonSo fragen Sie ab, welche neuen Tabellen zur Oracle-Datenbank hinzugefügt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!