2015-01-12 4 views
0

이것이 문제입니다. 오라클 테이블이 있습니다. 정상적인 테이블은 300 행의 데이터라고합시다.오라클 SQL 테이블 히스토리

적어도 100 일 전에 데이터가 어떻게 보 였는지, 누가 변경하고 타임 스탬프를 사용했는지 파악해야합니다. 나는 일정 백업을 가지고 있지만 누군가가 데이터를 변경하고 백업을 제거했다고 생각하므로 시스템 레코드를 통해이 변경 사항을 찾으려고합니다.

나는 이것을 Google에서 수행했는데, 지금 얻은 결과로는 내가 필요한 것을 얻지 못했습니다. dba_hist_sqltext SELECT * FROM

  • - 그것은 나를 제공은 현재 세션에만
  • SELECT SCN_TO_TIMESTAMP (ORA_ROWSCN)에 대한 결과 - 지정된 번호가 유효한 시스템 변경 번호가 아닙니다

오라클 SQL 정보 - 자바 (TM) 플랫폼 1.7.0_51 Oracle IDE 4.0.0.13.80 버전 관리 지원 4.0.0.13.80

다른 생각이 있으십니까? 은 사전에 감사

답변

2
당신은 플래시백 사용할 수 있습니다

: 그와 Using Oracle Flashback Technology

을,이처럼 AS OF TIMESTAMP 절을 사용하여 조회 할 수 있습니다

SELECT * FROM yourtable 
    AS OF TIMESTAMP TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS'); 

이 비록 활성화되고이 될 수있다 특정 (구성 가능한) 크기 제한이므로 100 일 전에도 해당 레코드를 계속 쿼리 할 수 ​​있다고 보장 할 수 없습니다. 바쁜 데이터베이스에서 기록은 몇 분만에 되돌아 갈 수 있습니다.

+0

친구를 고맙다, 해결책을 찾는 것에 대해 어느 방향으로 생각했는지 보여 줬어! 빠른 답변을 위해 다시 한 번 감사드립니다! – Veljko89