요약: Oracle 데이터베이스에 새로 추가된 테이블을 쿼리하는 방법에는 세 가지가 있습니다. 데이터 사전 보기 사용: DBA_OBJECTS 보기 쿼리 및 시간 범위 필터링 지정. 플래시백 쿼리 사용: FLASHBACK_TABLE 의사 테이블을 사용하고 타임스탬프 쿼리를 지정합니다. 로그 파일 쿼리 사용: Oracle redo 로그 파일을 구문 분석하고 테이블을 생성하는 행을 필터링하고 열을 추가합니다.
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>
위 내용은 Oracle 데이터베이스에 새로 추가된 테이블을 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!