>  기사  >  데이터 베이스  >  Oracle 데이터베이스에 새로 추가된 테이블을 쿼리하는 방법

Oracle 데이터베이스에 새로 추가된 테이블을 쿼리하는 방법

下次还敢
下次还敢원래의
2024-04-18 20:48:151139검색

요약: Oracle 데이터베이스에 새로 추가된 테이블을 쿼리하는 방법에는 세 가지가 있습니다. 데이터 사전 보기 사용: DBA_OBJECTS 보기 쿼리 및 시간 범위 필터링 지정. 플래시백 쿼리 사용: FLASHBACK_TABLE 의사 테이블을 사용하고 타임스탬프 쿼리를 지정합니다. 로그 파일 쿼리 사용: Oracle redo 로그 파일을 구문 분석하고 테이블을 생성하는 행을 필터링하고 열을 추가합니다.

Oracle 데이터베이스에 새로 추가된 테이블을 쿼리하는 방법

Oracle 데이터베이스에 새로 추가된 테이블을 쿼리하는 방법

방법 1: 데이터 사전 뷰 사용

  • 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>

방법 2 : 플래시백 쿼리 사용

    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>
🎜방법 3: 로그 파일 사용 🎜🎜🎜🎜Oracle 리두 로그 파일 쿼리(리두 로그): 🎜🎜rrreee

위 내용은 Oracle 데이터베이스에 새로 추가된 테이블을 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.