首頁 > 資料庫 > Oracle > 主體

oracle資料庫怎麼查詢哪些是新加的表

下次还敢
發布: 2024-04-18 20:48:15
原創
1180 人瀏覽過

摘要:查詢 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 >= 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資料庫怎麼查詢哪些是新加的表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板