FlashBackt.ppt

Similar documents
Microsoft Word - 기술노트[19회] Flashback.doc

Microsoft Word - Goodus_기술노트[19회]_Flashback

Microsoft PowerPoint - Tech-iSeminar_Flashback.ppt

歯sql_tuning2

윈백및업그레이드 Tibero Flashback 가이드

목 차

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

13주-14주proc.PDF

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

10.ppt

Oracle Database 10g: Self-Managing Database DB TSC

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Microsoft Word - 기술노트[23회] Logminer.doc

세미나(장애와복구-수강생용).ppt

Microsoft PowerPoint - Tech-iSeminar_Logminer.ppt

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

untitled

Jerry Held


단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

MS-SQL SERVER 대비 기능

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

DBMS & SQL Server Installation Database Laboratory

Tablespace On-Offline 테이블스페이스 온라인/오프라인

TITLE

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

SQL Tuning Business Development DB

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

untitled

ETL_project_best_practice1.ppt

PRO1_09E [읽기 전용]

MySQL-.. 1

PowerPoint Presentation

Jerry Held

Microsoft Word - SQL튜닝_실습교재_.doc

Microsoft PowerPoint - 10Àå.ppt

ALTIBASE HDB Patch Notes

PowerPoint Presentation

DocsPin_Korean.pages

RDB개요.ppt

PowerPoint 프레젠테이션

슬라이드 1

Microsoft PowerPoint - Oracle Data Access Pattern.ppt

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER

The Self-Managing Database : Automatic Health Monitoring and Alerting

슬라이드 1

NoSQL

PowerPoint Presentation

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 (

歯PLSQL10.PDF

제목을 입력하세요.

Remote UI Guide

Simplify your Job Automatic Storage Management DB TSC

Microsoft PowerPoint - Oracle Data Join Method.pptx [읽기 전용]

예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US

MySQL-Ch10

thesis

ePapyrus PDF Document

ORACLE EXADATA HCC 압축방식이해하기 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 시간이지나면서데이터는급속하게증가하고있다. 데이터가증가함에따라 DBMS 에서관리되어지는정보도급속하게증가하고있다. 이로인해저장공간의부족으로하드웨어비용의증가와데이터처리성능에많은문제점들

객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY;

Microsoft Word - 05_SUBPROGRAM.doc

Microsoft Word - 기술노트[23회]_Logminer_1.1

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2

最即時的Sybase ASE Server資料庫診斷工具

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

USER GUIDE

Tina Admin

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Partition Table

62

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

윈도우시스템프로그래밍

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

Microsoft PowerPoint - Tech-iSeminar_Managing_Tablespace.ppt

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

untitled

슬라이드 1

문서 템플릿

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

5장 SQL 언어 Part II

R50_51_kor_ch1

PowerPoint 프레젠테이션

<4D F736F F D205BB4EBBBF3C1A4BAB8B1E2BCFA5DB1E2BCFAB9AEBCAD2D524D414EBBE7BFEBBFB9C1A65F39695F313067>

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

Microsoft Word - 07_TRIGGER.doc

Microsoft Word MetOne237Bmanual

Commit_Wait / Commit_Logging 두파라미터를통해 Log File Sync 대기시간을감소시킬수있다는것은놀라움과의아함을동시에느낄수있다. 단지파라미터의수정을통해당연히대기해야하는시간을감축한다는것은분명성능을개선해야하는입장에서는놀라운일이될것이다. 반면, 그에따

Microsoft PowerPoint - The overview of MView.ppt

Tibero

Microsoft Word - PLSQL.doc

PowerPoint 프레젠테이션

Intra_DW_Ch4.PDF

PostgreSQL 2 Uniersity of California at Berkeley ( ) 에서개발된관계형데이터베이스서버인 Ingres 가시초 ( 후에 Computer Associates 에인수됨 ) 1

Transcription:

1. Flashback 목적 Flashback 이란? 사용자실수에의한손상된데이터를 Database 의크기와상관없이복구를할수있는기능이다. 이 Flashback 기능은일반적인복구에서우려되는데이터베이스의크기를걱정하지않아도된다. 보통의사용자실수는커다란시스템장애가수반되며, 이를복구하기위해서는많은자원과시간이필요하다. 하지만 9i 에서지원되느 flashback query 와 10g 에서지원하는다양한 flashback 을통하여손쉽게사용자실수를손쉽게복구한다. u 9i : Flashback query u 10g : Flashback Database u u u u Flashback Drop Flashback Version Query Flashback Transaction Query Flashback Table Flashback Database 를사용하지않는것은,Flashback area 가필요하며또한, DB level 의 Flashback 은사용 Case 가거의없음.

2. Flashback Drop u Drop 된 Table을복구한다. u Drop table이완전 drop되지않고, window의휴지통과같은 recyclebin에보관된다. u 이 drop된 table은완전삭제를위해서는 purge 작업이필요하며, space가부족한경우에는자동 reuse된다. u Drop되어 recyclebin에있는 bin$xxxxxx table에대한직접조회도가능함. 관련 view -dba_recyclebin, user_recyclebin 관련 parameter _recyclebin = FALSE : recyclebin 기능을사용하지않는경우 False로지정 제약사항 : table 이 system tablespace 에있는 object 는복구불가. locally managed tablespace 에위치해있는 table 만복구가능.

2. Flashback Drop( 계속 ) Samples Recycle Bin 보기 SQL> select owner, original_name, operation, type, droptime, can_undrop from dba_recyclebin; OWNER ORIGINAL_NAME OPERATION TYPE DROPTIME CAN --------- --------------- --------- ------- ------------------- --- SCOTT BONUS DROP TABLE 2006-02-14:20:22:46 YES Drop 된 table 복구하기 SQL> flashback table scott.bonus to before drop; SQL> Drop 된 table 복구하기 ( 동일이름의 table 이이미있는경우 ) SQL> flashback table scott.bonus to before drop rename to dropped_bonus; SQL> Drop된 table 완전삭제하기 SQL> drop table scott.bonus purge; -- drop 시바로 purge하는경우 SQL> purge recyclebin; or purge dba_recyclebin; or purge table scott.bonus

3. Flashback Versions Query u 과거의어떤시점의정보를시간과 SCN(System Change Number) 를이용하여 Query 하는기능. u 9i 부터지원된 Flashback Query 가있으며, 10g 에서는그기능이확장되어 Versions between 을이용해서일정이점이아닌시간간격의데이터를조회할수있는기능. u Flashback versions query 에의해추출된 row 들은 transaction 에의해변화된 row 들의 history 를보여줌. 이기능은 data 가어떻게바뀌었는지 auditing 기능을가능하게하며 commit 된데이터만추출함. u Flashback versions query 를통해서알수있는 transaction id 를통하여더추가적인정보를 Flashback Transaction Query 를통해얻을수있다. u DDL 이수행되어 table 의구조가바뀌면사용불가. u Flashback versions query 는 undo 를이용하여과거데이터를읽어오는것은 undo_retention 값과 undo size 에의해자동으로관리됨. 만약 undo_retention 이아주크다고하더라도, undo size 가작아서 undo 를보관하지않고재사용하게되면 flashback versions query 가수행되지않을수있음. u Versions between 은시간과 SCN 으로지정할수있음 u 이기능을지원하기위해 scn_to_timestamp 와 timestamp_to_scn function 이지원된다. 과거의시점에대한 SCN 알기. select timestamp_to_scn(to_timestamp('20060213 171201', 'yyyymmdd hh24miss')) t from dual; =>8268801520810 과거의 SCN 을이용하여 Time 알기 select scn_to_timestamp(8268801520810) from dual; => 2006/02/13 17:12:01.000000000 u Versions Query 의 Pseudo columsn(select 절에사용할수있음 ) Versions_startscn, Versions_starttime Versions_endscn Versions_endtime Versions_xid Versions_operation u 주의 : undo retention 보다이전의 version 을 query 하면 ora-30052 : invalid lower limit snapshot expression 발생함.

3. Flashback Versions Query( 계속 ) 2006 2/14 일 22 시 ~ 22 시 40 분까지시간에서 deptno 가 40 인 data 가어떻게변한내역조회 SELECT dept.*, versions_operation as operation, versions_starttime as start_time, versions_endtime as end_time FROM dept VERSIONS BETWEEN TIMESTAMP TO_TIMESTAMP('2006-02-14 220101', 'YYYY-MM-DD hh24miss') AND TO_TIMESTAMP('2006-02-14 223000', 'YYYY-MM-DD hh24miss') WHERE deptno=40; DEPTNO DNAME LOC O START_TIME END_TIME ---------- -------------- ------------- - ---------------------- ---------------------- 40 Busan BOSTON U 14-FEB-06 10.32.03 PM 40 Seoul BOSTON U 14-FEB-06 10.27.32 PM 14-FEB-06 10.32.03 PM 40 OPERATIONS BOSTON 14-FEB-06 10.27.32 PM 조회결과로 DNAME 이 10 시에서 10 시 40 분사이에변한내역을알수있다. SCN 을이용한 Versions Between 예제 : 전체 SCN 범위로 empno=7934 인 salcolumn 의변경내역을조회 SCOTT> select sal from emp where empno = 7934; SAL ---------- 1300 SCOTT> update emp set sal = 10 where empno = 7934; SCOTT> commit; SCOTT> update emp set sal = 9999 where empno = 7934; SCOTT> commit; SCOTT> SELECT versions_xid AS XID, versions_startscn AS START_SCN, versions_endscn AS END_SCN, versions_operation AS OPERATION, sal from emp VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE where empno=7934; XID START_SCN END_SCN O SAL ---------------- -------------------- ------------------- - ---------- 00020012000051CF 8268803125843 U 9999 0008000A000019E8 8268803125831 8268803125843 U 10 8268803125831 1300 조회결과로 1300 -> 10 -> 9999 로변경된내역을볼수있다.

3. Flashback Query u Flashback versions query 는과거의일정시간구간에서조회하는것에비해 Flashback query 는, 과거의일정한시간에서 query 를하는것. u Database 는현재의시간이지만, 수행하는 SQL 은혼자과거의정보를보게됨. Flashback Query 예제. -- 1 시간전 Data 를구하기 Select * from emp as of timestamp ( systimestamp interval 1 hour); -- 1 분전 Data 를구하기 Select * from emp as of timestamp ( systimestamp interval 1 hour); -- 1 시간전 Data 와현재 Data 의차이를알고싶을때. -- 즉, 1 시간전과같지않은데이터를모두찾는다. select * from dept as of timestamp ( systimestamp - interval '1' hour) minus select * from dept / -- 급하게복구를해야할때. -- 약 1시간전에많은건수를삭제한경우. SCOTT> create table dept_back as select * from dept as of timestamp ( systimestamp - interval '1' hour); Table created. SCOTT> select * from dept_back; DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 hongkong NGM SCOTT> select * from dept; DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 Busan NGM

4. Flashback transaction query u Flashback transaction query 는 Transaction level 에서 Data 의변경사항을추적하기위한기능 u Transaction 의분석과진단을하는기능임. u 변경사항뿐만아니라, Undo SQL 을생성할수있으며, 이 SQL 을이용하여 Transaction level 의작업을 rollback 할수있음 uundo data 를 index access 방식으로조회하므로 lonminor 주의 : xid column 에조건을줄때반드시 hextoraw function 을사용해야만 fixed view 의 index 를사용함. u Flashback versions query 와마찬가지로 undo data 를이용함. u Flashback Transaction query 를사용하기위해서는 Database level 에 logging 이 enable 되어야한다. Alter database add supplemental log data; 확인방법 : select supplemental_log_data_min from v$database ( YES 가정상 ) u 필요권한 : grant select any transaction to XXX; u 기본적으로 flashback_transaction_query 라는 view table 을이용하여 query 한다. u flashback_transaction_query columns. XID RAW(8) Transaction identifier START_SCN NUMBER Transaction start system change number (SCN) START_TIMESTAMP DATE Transaction start timestamp COMMIT_SCN NUMBER Transaction commit system change number (null for active transactions) COMMIT_TIMESTAMP DATE Transaction commit timestamp (null for active transactions) LOGON_USER VARCHAR2(30) Logon user for the transaction UNDO_CHANGE# NUMBER Undo system change number (1 or higher) OPERATION VARCHAR2(32) Forward-going DML operation performed by the transaction: D - Delete I - Insert U - Update B UNKNOWN TABLE_NAME VARCHAR2(256) Name of the table to which the DML applies TABLE_OWNER VARCHAR2(32) Owner of the table to which the DML applies ROW_ID VARCHAR2(19) Rowid of the row that was modified by the DML UNDO_SQL VARCHAR2(4000) SQL to undo the DML indicated by OPERATION

4. Flashback transaction query( 계속 ) Emp 와 Dept 를각각수정한후, 이에대한 transaction query 를하는예제. update emp set sal = 9999, job='2030' where empno=7934; update dept set dname = 'hongkong' where deptno = 40; commit; -- flashback versions query 를이용하여 xid 를찾는다. select versions_starttime, versions_endtime, versions_xid, versions_operation, empno, sal from scott.emp versions between timestamp minvalue and maxvalue where empno = 7934 order by VERSIONS_STARTTIME; VERSIONS_STARTTIME VERSIONS_ENDTIME VERSIONS_XID V EMPNO SAL ------------------------- ------------------------- ---------------- - ---------- ---------- 16-FEB-06 09.04.58 PM 00020000000056D6 U 7934 2000 16-FEB-06 09.04.58 PM 7934 9999 SELECT xid, operation,logon_user, undo_sql FROM flashback_transaction_query WHERE xid = HEXTORAW('00020000000056D6'); -- hextoraw를사용하지않으면, undo tablespace의크기에따라 10분이상걸림. XID OPERATION LOGON_USER UNDO_SQL ---------------- ---------- ------------ --------------------------------------------------------------------------- 00020000000056D6 UPDATE SCOTT update "SCOTT"."DEPT" set "DNAME" = 'Busan' where ROWID = 'AAAMfTAAEAAAAAQAAD'; 00020000000056D6 UPDATE SCOTT update "SCOTT"."EMP" set "JOB" = 'CLERK', "SAL" = '2000' where ROWID ='AAAMfVAAEAAAAAgAAN'; 00020000000056D6 BEGIN SCOTT 해당 Transaction 을 rollback 하기위해서는아래와같이 undo_sql 을수행한다. SCOTT> update "SCOTT"."DEPT" set "DNAME" = 'Busan' where ROWID = 'AAAMfTAAEAAAAAQAAD'; 1 row updated. SCOTT> update "SCOTT"."EMP" set "JOB" = 'CLERK', "SAL" = '2000' where ROWID = 'AAAMfVAAEAAAAAgAAN'; 1 row updated. SCOTT> commit;

4. Flashback transaction query( 계속 ) - 시간주는 sample. SELECT sal FROM emp VERSIONS BETWEEN TIMESTAMP SYSTIMESTAMP - INTERVAL '10' MINUTE AND 10 분전 ~ 1 분전까지의변경사항보기. SYSTIMESTAMP - INTERVAL '1' MINUTE WHERE last_name = 'Chung';

5. Flashback Table u Flashback Table 은잘못된데이터처리를한경우, 작업전의시점으로빠르게돌려주기위한기능. (SCN or 시간 ) u Backup 의 restore 없이 Table 을지정한시점까지되돌려줌. u Table 의데이터만을과거시점의데이터로돌려주며, Table 과관련한모든 object( index, constrains, trigger) 등으현재시점으로유지됨 u Table 이 Flashback 하는동안에는 exclusive lock 을잡게됨. u Flashback 한후, 다시현재시점의 Data 로돌아올수있음. 그러나현재의 SCN 을알고있어야함. SELECT current_scn FROM v$database; -- 현재 SCN 알기 u 다음의 Object 들에는 Flashback table 안됨. Cluster, Mview, AQ tables, static data dictionary, system tables, remote tables u Undo Data 를이용함. u undo retention 이전의데이터는복구안됨. u flashback versions query 로부터원하는 SCN 을찾아서 flashback table 을할수있음. (VERSIONS_STARTSCN, VERSIONS_ENDSCN) u 필요권한 : flashback object, flashback any table, 해당 table 에대한 select, insert, update, delete, alter table 권한. u flashback table 을하기위해서는 row movement 를 enable 해주어야함. Alter table XXXX enable row movement; utable 에 DDL 의변경작업이있었다면, flashback 불가 (moving, truncate, add, modify, drop,merging, split, coalescing)

5. Flashback Table( 계속 ) FlashBackTable 예제 : SCN 을이용한과거시점으로 Flashback 하기. SCOTT> set timing on SCOTT> set time on 22:44:37 SCOTT> select count(*) from emp_test; COUNT(*) ---------- 2293760 SYS> select current_scn from v$database; -- 정상시점의 SCN Test 를위해. CURRENT_SCN ----------------------- 8268813295183 Elapsed: 00:00:00.16 22:44:42 SCOTT> delete from emp_test where rownum < 1000001; -- 잘못된 transaction 을수행함. 1000000 rows deleted. Elapsed: 00:00:16.95 22:46:29 SCOTT> commit; Commit complete. Elapsed: 00:00:00.01 22:46:33 SYS> select current_scnfrom v$database; -- 현재의 SCN 을알아둔다, 타임머신타고과거로갔다가다시오려면.. 현재를알아야함. CURRENT_SCN ----------------------- 8268813326481 22:46:44 SCOTT> alter table emp_test enable row movement; -- flashback table 을하기위해 enable 시킴. Table altered. Elapsed: 00:00:00.02 22:47:28 SCOTT> flashback table emp_test to scn 8268813295183; Flashback complete. Elapsed: 00:00:13.12 flashback 하는데약 13 초걸림. 22:48:34 SCOTT> select count(*) from emp_test; Flashback 후, delete 전의데이터가됨. COUNT(*) ---------- 2293760 Elapsed: 00:00:01.18 22:49:18 SCOTT> 이시점에서복구하는작업을수행하면됨. 22:49:18 SCOTT> flashback table emp_test to scn 8268813326481; 다시원상태로보내기. Flashback complete. Elapsed: 00:00:27.48 22:50:20 SCOTT> select count(*) from emp_test; COUNT(*) ---------- 1293760 Elapsed: 00:00:02.15

6. Flashback Use Case 장애의경우에따라 Use Case 를사용하여신속히복구한다. 장애 Case Table이 Drop된경우 Table에데이터를잘못변경하고 commit한경우 Case 상세 많은데이터변경시 적은데이터변경시 복구방법 Recyclebin을조회하여 drop한 table의복구가능성을확인한다. Flashback Drop을이용하여복구한다. 변경시점으로 Table을 flashback하는방법. Table에대해 Version query를이용하여해당data의변경 tx를찾는방법. Program 이잘못수행되어여러개의 table 에변경되었을경우. 데이터에대한변경이력추적시 Commit 이한번일경우 Commit 이여러번인경우 하나의 Table 에서, 변경된 Data 에대한 Versions query 를하여 Transaction 을찾은수, Transaction 에대한 undo 를뽑아복구. Flashback query 를통해여러 Table 을 Select 하여 backup 본구성. Flashback Versions Query 를이용하여변경이력추적.