ホームページ > データベース > Oracle > Oracle データベースに追加された新しいテーブルをクエリする方法

Oracle データベースに追加された新しいテーブルをクエリする方法

下次还敢
リリース: 2024-04-18 20:48:15
オリジナル
1243 人が閲覧しました

概要: Oracle データベースに新しく追加されたテーブルをクエリするには、データ ディクショナリ ビューを使用する方法、DBA_OBJECTS ビューをクエリする方法、時間範囲フィルタリングを指定する方法の 3 つがあります。フラッシュバック クエリを使用する: FLASHBACK_TABLE 疑似テーブルを使用し、タイムスタンプ クエリを指定します。ログ ファイル クエリを使用する: Oracle REDO ログ ファイルを解析し、テーブルを作成して列を追加する行をフィルタリングします。

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: フラッシュバック クエリの使用

    使用
  • FLASHBACK_TABLE 疑似テーブル:
  • SELECT * FROM FLASHBACK_TABLE('SCHEMA_NAME'.'TABLE_NAME', TIMESTAMP '2023-03-01')
    ORDER BY CREATE_TIME DESC;
    ログイン後にコピー

方法 3: ログ ファイルの使用

    Oracle REDO ログ ファイルのクエリ(やり直しログ):
  • 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 データベースに追加された新しいテーブルをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート