Flashback Data Archive(11g)
DML ์์ ์ ํ๋ฉด์ ์ค์๋ฅผ ์ ์ง๋ฌ๋ฒ๋ฆฌ๊ณ commit๊น์ง ํด๋ฒ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ค์๋ก delete๋ฌธ์ ์กฐ๊ฑด์ ์ ํฌํจํ์ง ์์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง๋... ๊ทธ๋ฐ ๊ฒฝ์ฐ๊ฐ ์๊ธธ ์ ์์ต๋๋ค. Flashback ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์ด๋ฐ ์ํฉ์์ ๋ณต๊ตฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ํ์ง๋ง Undo Data๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ๋ Flashback ๊ธฐ๋ฅ์ undo_retention ํ๋ผ๋ฏธํฐ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ์ง ๋ชปํ๋ ์ํฉ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. undo_retention์ ๊ธฐ๋ณธ์ผ๋ก 900์ด๋ฏ๋ก 15๋ถ์ด ์ง๋๋ฉด undo์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค์ง ๋ชปํ์ฌ Flashback ๊ธฐ๋ฅ์ ์ฌ์ฉํด์ ๋ณต๊ตฌ๊ฐ ์๋ ์ ์์ต๋๋ค. ์ด๋ด๋๋ Flashback Data Archive๋ฅผ ์์ฑํ์ฌ Undo Data๋ฅผ ์ค๋ ๊ธฐ๊ฐ ๋ณด์กดํ์ฌ Flashback ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Flashback Data Archive ์ค์ต
์ค์ตํ๊ฒฝ
OS : Red Hat Enterprise Linux Server release 6.10
DB : Oracle 11.2.0.1
SID : orcl
host : 601d2fce71dc
Flashback Data Archive ์ ์ฉ Tablespace ์์ฑ
SYS@orcl> create tablespace flash_tbs datafile '/opt/oracle/app/oradata/orcl/flash_tbs01.dbf' size 50m;
Tablespace created.
Flashback Data Archive๋ฅผ ์ด์ฉํ์ฌ Undo Data๊ฐ ์ ์ฅ๋ Tablespace๋ฅผ ์์ฑํฉ๋๋ค.
Flashback Data Archive ๊ด๋ฆฌ ์ ์ ์์ฑ
SYS@orcl> create user fra_admin identified by oracle default tablespace flash_tbs;
User created.
Flashback Data Archive๋ฅผ ๊ด๋ฆฌํ ์ ์ ๋ฅผ ์์ฑํด์ฃผ๊ณ ์์์ ์์ฑํ tablespace๋ฅผ default๋ก ์ง์ ํด์ค๋๋ค.
SYS@orcl> grant resource, connect, unlimited tablespace to fra_admin;
Grant succeeded.
์ธ์ ์ ์๊ณผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ธ์ ํธ๋ฅผ ๋ค๋ฃจ๋๋ฐ ํ์ํ ๊ถํ๊ณผ tablespace์ ๋ํ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํด์ค๋๋ค.
SYS@orcl> grant flashback archive administer to fra_admin;
Grant succeeded.
Flashback Archive Segment๋ฅผ ์์ฑํ ์ ์๋ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
Flashback Data Archive ์์ฑ
SYS@orcl> conn fra_admin/oracle
FRA_ADMIN@orcl> create flashback archive fra1 tablespace flash_tbs retention 6 month;
Flashback archive created.
fra_admin์ผ๋ก ์ ์ ํ, Undo Data ๋ณด์กด ๊ธฐ๊ฐ์ด 6๊ฐ์์ธ Flashback Data Archive๋ฅผ ์์ฑํ์ต๋๋ค.
FRA_ADMIN@orcl> create flashback archive fra2 tablespace flash_tbs retention 2 year;
Flashback archive created.
Undo Data ๋ณด์กด ๊ธฐ๊ฐ์ด 2๋ ์ธ Flashback Data Archive๋ฅผ ์์ฑํ์ต๋๋ค.
FRA_ADMIN@orcl> conn / as sysdba
Connected.
SYS@orcl> alter flashback archive fra2 set default;
Flashback archive altered.
fra2๋ฅผ Default Flashback Data Archive๋ก ์ค์ ํ์ต๋๋ค.
FRA_ADMIN@orcl> col flashback_archive_name for a10
FRA_ADMIN@orcl>
select
flashback_archive_name
,retention_in_days
,status
from dba_flashback_archive;
์์ฑ์ด ์๋ฃ๋๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
Historical Data Access
FRA_ADMIN@orcl> grant flashback archive on fra1 to sh;
Grant succeeded.
Flashback Archive์ ์ ๊ทผํ ์ ์๋ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค. sh๊ณ์ ์์ fra1์ Undo data์ ๋ด์ฉ์ ์ ์ฅํ ์ ์๋๋ก ๊ถํ์ ๋ถ์ฌํด์คฌ์ต๋๋ค.
FRA_ADMIN@orcl> conn sh/sh
Connected.
SH@orcl> alter table sales flashback archive fra1;
Table altered.
fra1์ sales ํ ์ด๋ธ์์ ๋ฐ์ํ๋ Undo์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ๋๋ก ์ค์ ํ์ต๋๋ค.
SH@orcl> conn fra_admin/oracle
Connected.
FRA_ADMIN@orcl> select * from dba_flashback_archive_tables;
Fashback Archive์ ๋ฑ๋ก๋ ํ ์ด๋ธ์ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
Flashback Archive์ ๋ฑ๋ก๋ ํ ์ด๋ธ์ ํํด์ undo_rention ํ๋ผ๋ฏธํฐ์ ๊ฐ์ด ์๋ Flashback Archive์ retention ๊ธฐ๊ฐ๋งํผ ๋ฐ์ดํฐ๊ฐ ๋ณด์กด๋์ด Flashback ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์์น์์ผ๋ก undo_retention๊ฐ์ด ์ง๋๋ฉด ๋์ด์ Undo์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์กดํ์ง ์์ต๋๋ค. ํ์ง๋ง ์ค์ ๋ก ํ ์คํ ์์ ์ ํด๋ณด๋ฉด undo_retention ๊ธฐ๊ฐ๋งํผ ์ง๋๋ undo์ ๋ฐ์ดํฐ๊ฐ ์ฝ์ด์ง๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. 11g, 12c ๋ฒ์ ์์ ํ ์คํ ์์ ์ ํด๋ดค๋๋ฐ undo_retention ๊ธฐ๊ฐ์ด ์ง๋๋ ํด๋น ๋ฐ์ดํฐ๊ฐ ์ฝํ๋ ๊ฒ์ ํ์ธํ์ต๋๋ค. ์ด๋ OS ํ๊ฒฝ์ด๋ ๋ฒ์ ์ ๋ฐ๋ ์ผ์ข ์ Oracle Bug์ ๋น์ทํ ๊ฒ์ด๋ผ๊ณ ๋ด์ผํ ๊ฒ ๊ฐ์ต๋๋ค.
๋๊ธ