Maison > Article > base de données > Comment interroger quelles nouvelles tables sont ajoutées dans la base de données Oracle
Résumé : Il existe trois méthodes pour interroger les tables nouvellement ajoutées dans la base de données Oracle : utilisez la vue du dictionnaire de données : interrogez la vue DBA_OBJECTS et spécifiez le filtrage par plage de temps. Utiliser la requête flashback : utilisez la pseudo-table FLASHBACK_TABLE et spécifiez la requête d'horodatage. Utiliser des requêtes de fichiers journaux : analysez les fichiers de journalisation Oracle, en filtrant les lignes qui créent des tables et ajoutent des colonnes.
Comment interroger la table nouvellement ajoutée dans la base de données Oracle
Méthode 1 : Utiliser la vue dictionnaire de données
DBA_OBJECTS
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>
Méthode : 2 : Utiliser la requête flashback
FLASHBACK_TABLE
: <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>🎜Méthode 3 : Utiliser les fichiers journaux🎜🎜🎜🎜Interroger les fichiers de journalisation Oracle (redo logs) : 🎜🎜rrreee
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!