Flashback Query AS OF์
Oracle 9i release 2 ๋ฒ์ ์ New Feature๋ก "AS OF"์ ์ ์ด์ฉํด์ ํน์ ์์ ์ ํ ์ด๋ธ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ ์ ์๊ฒ ๋์์ต๋๋ค. ํ์ง๋ง ํน์ ์์ ์ ์ ํ์ ์์ต๋๋ค. Flashback Query๋ Undo Data์ ์ ๋ณด๋ฅผ ์ด์ฉํด์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค๋๋ค. ๊ทธ๋์ Undo Data๊ฐ ์ด์์๋ ๊ธฐ๊ฐ๋์๋ง ํ์ธํ ์ ์๋ ์ ํ์ด ์์ต๋๋ค. ๋ณดํต Transaction์ด ๋ง์น ํ undo_retention ํ๋ผ๋ฏธํฐ๊ฐ ๋งํผ Undo Data๊ฐ ๋ณด์กด๋์ง๋ง, Oracle 11g๋ถํฐ Flashback Data Archive ๊ธฐ๋ฅ์ ์ด์ฉํด์ ๋ ์ค๋ ๊ธฐ๊ฐ๋์ Undo์ ์ ๋ณด๋ฅผ ๋ณด์กดํ ์ ์๊ฒ ๋์์ต๋๋ค. Flashback Data Archive ์ค์ ์ ๋ํ ๋ด์ฉ์ ์๋ ๊ธ์ ์ฐธ์กฐํฉ๋๋ค.
[Oracle] Flashback Data Archive ๋ฐ์ดํฐ ๋ณต์ ์์
Flashback Data Archive(11g) DML ์์ ์ ํ๋ฉด์ ์ค์๋ฅผ ์ ์ง๋ฌ๋ฒ๋ฆฌ๊ณ commit๊น์ง ํด๋ฒ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ค์๋ก delete๋ฌธ์ ์กฐ๊ฑด์ ์ ํฌํจํ์ง ์์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง๋... ๊ทธ๋ฐ ๊ฒฝ์ฐ๊ฐ ๏ฟฝ๏ฟฝ
myjamong.tistory.com
Flashback Query ์ค์ต
์ค์ตํ๊ฒฝ
OS : Red Hat Enterprise Linux Server release 6.10
DB : Oracle 11.2.0.1
SID : orcl
host : 601d2fce71dc
์ค์ต์ฉ ํ ์ด๋ธ ์์ฑ
SYS@orcl> conn scott/tiger
Connected.
SCOTT@orcl> create table emp_test as select * from emp;
Table created.
SCOTT@orcl> select * from emp_test;
scott ๊ณ์ ์ emp ํ ์ด๋ธ์ CTAS๊ตฌ๋ฌธ์ผ๋ก emp_test๋ผ๋ ํ ์ด๋ธ์ ์์ฑํฉ๋๋ค.
Data Update & Commit
SCOTT@orcl> conn / as sysdba
Connected.
SYS@orcl>
select
current_scn
,to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss')
from v$database;
Flashback Query ๋ SCN๊ณผ Time์ ๊ธฐ์ค์ผ๋ก ํด๋น ์์ ์ผ๋ก ๋๋๋ฆด ์ ์์ต๋๋ค. ๋ฏธ๋ฆฌ ํ์ธํด๋๊ฒ ์ต๋๋ค.
SYS@orcl> conn scott/tiger
Connected.
SCOTT@orcl> update emp_test set sal = 1000;
14 rows updated.
SCOTT@orcl> commit;
Commit complete.
Table์ ๊ธ์ฌ๋ฅผ ๋ชจ๋ 1000์ผ๋ก ๋ณ๊ฒฝํ๊ณ Commit๊น์ง ์๋ฃํ์ต๋๋ค.
SCOTT@orcl> select * from emp_test;
๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๊ฒ์ ํ์ธํ์ต๋๋ค. ์ด์ ์์์ ์กฐํํ SCN๊ณผ Time์ ๊ธฐ์ค์ผ๋ก ํด๋น ์์ ์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ Flashback Query๋ฅผ ์ฌ์ฉํด๋ณด๊ฒ ์ต๋๋ค.
Flashback Query
SCN
SCOTT@orcl> select * from emp_test as of scn 1401101;
Timestamp
SCOTT@orcl> select * from emp_test as of timestamp to_timestamp('2020-07-21 12:56:14', 'yyyy-mm-dd hh24:mi:ss');
to_timestampํจ์๋ฅผ ์ด์ฉํด์ ํด๋น ์๊ฐ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ์ต๋๋ค.
SCOTT@orcl> select * from emp_test as of timestamp sysdate - 1/24/60*8;
sysdate ํ์ฌ์๊ฐ์์ 8๋ถ์ ์ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๋๋ก ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ์ต๋๋ค.
๋๊ฐ์ง ๋ฐฉ์์ ์ด์ฉํด์ ๋ชจ๋ ์ด์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ์์ ์ ํ์ต๋๋ค. Flashback Query๋ ์ด๋๊น์ง๋ Undo Data๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ undo_retention ํน์ Flashback Data Archive์ retention ๊ธฐ๊ฐ ๋ด์ ๋ฐ์ดํฐ๋ง ์กฐํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
๋๊ธ