Database Migration Service๋ Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํฌํจ๋ Oracle LogMiner API๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด๊ด์ฒ๋ฆฌ๋ ์ฌ์คํ ๋ก๊ทธ ํ์ผ์ ์ฟผ๋ฆฌํฉ๋๋ค. ์ฌ์คํ ๋ก๊ทธ ํ์ผ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ๋ ๊ธฐ๋ก ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. Database Migration Service๊ฐ ์ด๋ฌํ ๋ก๊ทธ ํ์ผ๋ก ์์ ํ๋ ๋ฐฉ์์ ๋ํ ์์ธํ ๋ด์ฉ์ Oracle ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ฐ์ดํฐ ํ๋ฆ ์ ๋ณด๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์์ค Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ฑ
Database Migration Service๋ฅผ ์ฌ์ฉํ์ฌ ์์ค Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ฉด ๋จผ์ ๋ค์์ ์ํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์์
INSERT
,UPDATE
,DELETE
,RENAME
์์ ๊ณผ ๊ฐ์ ๋ณ๊ฒฝ์ฌํญ์ ์ถ์ ํ๋๋ก ๋ณด๊ด์ฒ๋ฆฌ ๋ก๊น ์ ์ค์ ํฉ๋๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๊ณ ์คํค๋ง ๋ฐ ์ฝ๋ ๊ฐ์ฒด์ ์ก์ธ์คํ๋ ๋ฐ ์ฌ์ฉํ ์ฌ์ฉ์ ๊ณ์ ์ ์ ์ ํ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก Database Migration Service๋
DBA_VIEWS
๋ฅผ ํตํด ๋ชจ๋ ๊ฐ์ฒด ์ ์์ ์ก์ธ์คํ๋ ค๊ณ ์๋ํฉ๋๋ค.DBA_VIEWS
์ ๋ํ ์ก์ธ์ค ๊ถํ์SELECT ANY DICTIONARY
๊ถํ์ผ๋ก ๋ถ์ฌ๋ฉ๋๋ค. ๋ง์ด๊ทธ๋ ์ด์ ์ฌ์ฉ์ ๊ณ์ ์์ DBA ๋ทฐ์ ์ก์ธ์คํ ์ ์๋ ๊ฒฝ์ฐ Database Migration Service๋ALL_VIEWS
์ผ๋ก ๋์ฒด๋ฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์๊ตฌ์ฌํญ์ ๊ฐ์ฅ ์ ํฉํ ๋ณด์ ๋ชจ๋ธ์ ์ ์ํ ๋ ์ต๋ํ์ ์ ์ฐ์ฑ์ ํ๋ณดํ ์ ์์ต๋๋ค.Database Migration Service๊ฐ ๊ฐ์ฒด ์ ์์ ํน์ ํ์ ์งํฉ์๋ง ์ก์ธ์คํ๋๋ก ํ๋ ค๋ฉด ์ด์ ์ฌ์ฉ์์๊ฒ
SELECT ANY DICTIONARY
๋์ ๋ ์ธ๋ถ์ ์ธ ๊ถํ ๊ตฌ์ฑ์ด ์๋ ์ญํ ์ ๋ถ์ฌํ์ธ์.๋ณด๊ด์ฒ๋ฆฌํ ๋ฐ์ดํฐ, ๋ฐ์ดํฐ ๋ณด๊ด ๊ธฐ๊ฐ, ๋ณด๊ด ๊ธฐ๊ฐ์ด ๋ค ๋ ๋ฐ์ดํฐ์ ๋ณด๊ด ๋๋ ์ญ์ ์ฌ๋ถ ๋ฑ์ ๊ฒฐ์ ํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ ๋ณด๊ด ์ ์ฑ ์ ์ ์ํฉ๋๋ค.
Database Migration Service๋ ๋ค์ ์ ํ์ Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์๋ํฉ๋๋ค.
Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ํ Amazon RDS ๊ตฌ์ฑ
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ
ARCHIVELOG
๋ชจ๋๋ก ์คํ๋๋์ง ํ์ธํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ธ์.SELECT LOG_MODE FROM V$DATABASE;
๊ฒฐ๊ณผ๊ฐ
ARCHIVELOG
์ด๋ฉด c๋จ๊ณ๋ก ์ด๋ํฉ๋๋ค.๊ฒฐ๊ณผ๊ฐ
NOARCHIVELOG
์ด๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํดARCHIVELOG
๋ชจ๋๋ฅผ ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค.๋ณด๊ด์ฒ๋ฆฌ๋ ๋ก๊ทธ ํ์ผ์ ๋์คํฌ ๊ณต๊ฐ์ ์๋นํ๋ฏ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด
DB_RECOVERY_FILE_DEST_SIZE
๋งค๊ฐ๋ณ์๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณต๊ตฌ ํ์ผ์ ์ฌ์ฉํ ์ด ๊ณต๊ฐ์ ๋ํด ์๊ฒฉํ ์ ํ (๋ฐ์ดํธ)์ ์ง์ ํ ์ ์์ต๋๋ค. ์ด ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํ๋ฉด ์ ๋ณด ๊ฐ์ฉ์ฑ๊ณผ ๋์คํฌ ๊ณต๊ฐ์ ๊ท ํ์ ์ผ๋ก ์กฐ์ ํ ์ ์์ต๋๋ค.๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ๋ฐ์ดํฐ ๋ณด๊ด ๊ธฐ๊ฐ์ ์ ์ํฉ๋๋ค.
exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',96);
๋ฐฑ์ ๋ฐ ๋ณด๊ด์ฒ๋ฆฌ ๋ก๊ทธ๋ ์ต์ 4์ผ ๋์ ๋ณด๊ดํด์ผ ํ๋ฉฐ, 7์ผ์ด ๊ถ์ฅ๋ฉ๋๋ค.
Oracle ๋ก๊ทธ ํ์ผ ๋ณด๊ด ์ ์ฑ ์ ๊ตฌ์ฑํฉ๋๋ค. ์ต๋ ๋ก๊ทธ ํ์ผ ํฌ๊ธฐ๋ 512MB ์ดํ๋ก ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ก๊ทธ ์ํ ๊ด๋ฆฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ก๊ทธ ํ์ผ ์์ ์ ์ฐธ๊ณ ํ์ธ์.
์ถ๊ฐ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋จผ์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ถ๊ฐ ๋ก๊น ์ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD');
๊ทธ๋ฐ ํ ํน์ ํ ์ด๋ธ ๋๋ ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ๋ก๊น ์ ์ค์ ํ ์ง ์ฌ๋ถ๋ฅผ ์ ํํฉ๋๋ค.
ํน์ ํ ์ด๋ธ์ ๋ํด์๋ง ๋ณ๊ฒฝ์ฌํญ์ ๋ก๊น ํ๋ ค๋ฉด ๋ณต์ ํ๋ ค๋ ๊ฐ ํ ์ด๋ธ์ ๋ํด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
ALTER TABLE SCHEMA.TABLE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- SCHEMA: ํ ์ด๋ธ์ด ํฌํจ๋ ์คํค๋ง์ ์ด๋ฆ์ ๋๋ค.
- TABLE: ๋ณ๊ฒฝ์ฌํญ์ ๋ก๊น ํ๋ ค๋ ํ ์ด๋ธ์ ์ด๋ฆ์ ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ถ๋ถ ๋๋ ๋ชจ๋ ํ ์ด๋ธ์ ๋ณต์ ํ๋ ค๋ฉด ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ๋ก๊น ์ ์ค์ ํฉ๋๋ค.
SQL ํ๋กฌํํธ์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ์ถ๊ฐ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','ALL');
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๋ ๋ฐ ์ฌ์ฉํ ์ฌ์ฉ์ ๊ณ์ ์ ํ์ํ ์ ์ ํ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ธ์.
GRANT CONNECT TO USER_NAME; GRANT CREATE SESSION TO USER_NAME; exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE','USER_NAME','SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ARCHIVED_LOG','USER_NAME','SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_LOGS','USER_NAME','SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_CONTENTS','USER_NAME','SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOGMNR','USER_NAME','EXECUTE'); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOGMNR_D','USER_NAME','EXECUTE'); GRANT SELECT ANY TRANSACTION TO USER_NAME; GRANT SELECT ANY TABLE TO USER_NAME; GRANT SELECT ANY DICTIONARY TO USER_NAME; GRANT SELECT ON DBA_EXTENTS TO USER_NAME;
์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ Oracle 12c ์ด์์ธ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ์ถ๊ฐ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
GRANT LOGMINING TO USER_NAME;
์์ฒด ํธ์คํ Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ฑ
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ
ARCHIVELOG
๋ชจ๋๋ก ์คํ๋๋์ง ํ์ธํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ธ์.SELECT LOG_MODE FROM V$DATABASE;
๊ฒฐ๊ณผ๊ฐ
ARCHIVELOG
์ด๋ฉด 2๋จ๊ณ๋ก ์ด๋ํฉ๋๋ค.๊ฒฐ๊ณผ๊ฐ
NOARCHIVELOG
์ด๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํดARCHIVELOG
๋ชจ๋๋ฅผ ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค.SYSDBA
๋ก ๋ก๊ทธ์ธ๋ ์ํ๋ก ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;
๋ณด๊ด์ฒ๋ฆฌ๋ ๋ก๊ทธ ํ์ผ์ ๋์คํฌ ๊ณต๊ฐ์ ์๋นํ๋ฏ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด
DB_RECOVERY_FILE_DEST_SIZE
๋งค๊ฐ๋ณ์๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณต๊ตฌ ํ์ผ์ ์ฌ์ฉํ ์ด ๊ณต๊ฐ์ ๋ํด ์๊ฒฉํ ์ ํ (๋ฐ์ดํธ)์ ์ง์ ํ ์ ์์ต๋๋ค. ์ด ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํ๋ฉด ์ ๋ณด ๊ฐ์ฉ์ฑ๊ณผ ๋์คํฌ ๊ณต๊ฐ์ ๊ท ํ์ ์ผ๋ก ์กฐ์ ํ ์ ์์ต๋๋ค.
๋ค์ Oracle Recovery Manager (RMAN) ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋ฐ์ดํฐ ๋ณด๊ด ์ ์ฑ ์ ์ ์ํฉ๋๋ค.
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 4 DAYS;
๋ฐฑ์ ๋ฐ ๋ณด๊ด์ฒ๋ฆฌ ๋ก๊ทธ๋ ์ต์ 4์ผ ๋์ ๋ณด๊ดํด์ผ ํ๋ฉฐ, 7์ผ์ด ๊ถ์ฅ๋ฉ๋๋ค.
Oracle ๋ก๊ทธ ํ์ผ ์ํ ์ ์ฑ ์ ๊ตฌ์ฑํ๊ธฐ ์ํด ์ฌ์ฉ ์ค์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๊ตฌ์ SQL ํ๋กฌํํธ๋ก ๋์๊ฐ๋๋ค. ์ต๋ ๋ก๊ทธ ํ์ผ ํฌ๊ธฐ๋ 512MB ์ดํ๋ก ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ถ๊ฐ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋จผ์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ถ๊ฐ ๋ก๊น ์ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
๊ทธ๋ฐ ํ ํน์ ํ ์ด๋ธ ๋๋ ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ๋ก๊น ์ ์ค์ ํ ์ง ์ฌ๋ถ๋ฅผ ์ ํํฉ๋๋ค.
ํน์ ํ ์ด๋ธ์ ๋ํด์๋ง ๋ณ๊ฒฝ์ฌํญ์ ๋ก๊น ํ๋ ค๋ฉด ๋ณต์ ํ๋ ค๋ ๊ฐ ํ ์ด๋ธ์ ๋ํด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
ALTER TABLE SCHEMA.TABLE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- SCHEMA: ํ ์ด๋ธ์ด ํฌํจ๋ ์คํค๋ง์ ์ด๋ฆ์ ๋๋ค.
- TABLE: ๋ณ๊ฒฝ์ฌํญ์ ๋ก๊น ํ๋ ค๋ ํ ์ด๋ธ์ ์ด๋ฆ์ ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ถ๋ถ ๋๋ ๋ชจ๋ ํ ์ด๋ธ์ ๋ณต์ ํ๋ ค๋ฉด ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ๋ก๊น ์ ์ค์ ํฉ๋๋ค.
๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ์ถ๊ฐ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (all) COLUMNS;
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๋ ๋ฐ ์ฌ์ฉํ ์ฌ์ฉ์ ๊ณ์ ์ ํ์ํ ์ ์ ํ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ธ์.
GRANT CONNECT TO USER_NAME; GRANT CREATE SESSION TO USER_NAME; GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME; GRANT SELECT ON SYS.V_$ARCHIVED_LOG TO USER_NAME; GRANT SELECT ON SYS.V_$LOGMNR_CONTENTS TO USER_NAME; GRANT SELECT ON SYS.V_$LOGMNR_LOGS TO USER_NAME; GRANT EXECUTE ON DBMS_LOGMNR TO USER_NAME; GRANT EXECUTE ON DBMS_LOGMNR_D TO USER_NAME; GRANT SELECT ANY TRANSACTION TO USER_NAME; GRANT SELECT ANY TABLE TO USER_NAME; GRANT SELECT ANY DICTIONARY TO USER_NAME; GRANT EXECUTE_CATALOG_ROLE TO USER_NAME; GRANT SELECT ON DBA_EXTENTS TO USER_NAME;
์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ Oracle 12c ์ด์์ธ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ์ถ๊ฐ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
GRANT LOGMINING TO USER_NAME;
์์ฒด ํธ์คํ Oracle ํ๋ฌ๊ทธ์ธ ๊ฐ๋ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ฑ
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์ ์๋น์ค๋ ๋จ์ผ ์ปจํ ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค (CDB)์ ํ๋ ์ด์์ ํ๋ฌ๊ทธ์ธ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฒ ์ด์ค (PDB)๊ฐ ํฌํจ๋ Oracle ๋ฉํฐ ํ ๋ํธ ์ํคํ ์ฒ๋ฅผ ์ง์ํฉ๋๋ค. ๊ฐ PDB(pluggable database)๋ ๊ณ ์ ํ ID์ ์ด๋ฆ์ด ์๋ ๋ ๋ฆฝ ์คํํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ฉฐ ๋ ๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌ๋ ์ ์์ต๋๋ค.
์์ฒด ํธ์คํ Oracle ํ๋ฌ๊ทธ์ธ ๊ฐ๋ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ Database Migration Service์ ํจ๊ป ์ฌ์ฉํ ์ ์๋๋ก ๊ตฌ์ฑํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ
ARCHIVELOG
๋ชจ๋๋ก ์คํ๋๋์ง ํ์ธํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉดCDB$ROOT
์ปจํ ์ด๋์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.SELECT LOG_MODE FROM V$DATABASE;
๊ฒฐ๊ณผ๊ฐ
ARCHIVELOG
์ด๋ฉด 2๋จ๊ณ๋ก ์ด๋ํฉ๋๋ค.๊ฒฐ๊ณผ๊ฐ
NOARCHIVELOG
์ด๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํดARCHIVELOG
๋ชจ๋๋ฅผ ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค.SYSDBA
๋ก ๋ก๊ทธ์ธ๋ ์ํ๋ก ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;
๋ณด๊ด์ฒ๋ฆฌ๋ ๋ก๊ทธ ํ์ผ์ ๋์คํฌ ๊ณต๊ฐ์ ์๋นํ๋ฏ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด
DB_RECOVERY_FILE_DEST_SIZE
๋งค๊ฐ๋ณ์๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณต๊ตฌ ํ์ผ์ ์ฌ์ฉํ ์ด ๊ณต๊ฐ์ ๋ํด ์๊ฒฉํ ์ ํ (๋ฐ์ดํธ)์ ์ง์ ํ ์ ์์ต๋๋ค. ์ด ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํ๋ฉด ์ ๋ณด ๊ฐ์ฉ์ฑ๊ณผ ๋์คํฌ ๊ณต๊ฐ์ ๊ท ํ์ ์ผ๋ก ์กฐ์ ํ ์ ์์ต๋๋ค.
CDB$ROOT
์ปจํ ์ด๋์์ ๋ค์ Oracle Recovery Manager(RMAN) ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋ฐ์ดํฐ ๋ณด๊ด ์ ์ฑ ์ ์ ์ํฉ๋๋ค.CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 4 DAYS;
๋ฐฑ์ ๋ฐ ๋ณด๊ด์ฒ๋ฆฌ ๋ก๊ทธ๋ ์ต์ 4์ผ ๋์ ๋ณด๊ดํด์ผ ํ๋ฉฐ, 7์ผ์ด ๊ถ์ฅ๋ฉ๋๋ค.
Oracle ๋ก๊ทธ ํ์ผ ์ํ ์ ์ฑ ์ ๊ตฌ์ฑํ๊ธฐ ์ํด ์ฌ์ฉ ์ค์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๊ตฌ์ SQL ํ๋กฌํํธ๋ก ๋์๊ฐ๋๋ค. ์ต๋ ๋ก๊ทธ ํ์ผ ํฌ๊ธฐ๋ 512MB ์ดํ๋ก ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ถ๊ฐ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋จผ์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์
CDB$ROOT
์์ค์์ ์ถ๊ฐ ๋ก๊น ์ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
๊ทธ๋ฐ ํ ํน์ ํ ์ด๋ธ ๋๋ ์ ์ฒด ํ๋ฌ๊ทธ์ธ ๊ฐ๋ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ๋ก๊น ์ ์ค์ ํ ์ง ์ฌ๋ถ๋ฅผ ์ ํํฉ๋๋ค.
ํน์ ํ ์ด๋ธ์ ๋ํ ๋ณ๊ฒฝ์ฌํญ๋ง ๋ก๊น ํ๋ ค๋ฉด PDB(pluggable database) ์ปจํ ์ด๋์ ์ฐ๊ฒฐํ๊ณ ๋ณต์ ํ๋ ค๋ ํ ์ด๋ธ๋ง๋ค ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
ALTER TABLE SCHEMA.TABLE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- SCHEMA: ํ ์ด๋ธ์ด ํฌํจ๋ ์คํค๋ง์ ์ด๋ฆ์ ๋๋ค.
- TABLE: ๋ณ๊ฒฝ์ฌํญ์ ๋ก๊น ํ๋ ค๋ ํ ์ด๋ธ์ ์ด๋ฆ์ ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ถ๋ถ ๋๋ ๋ชจ๋ ํ ์ด๋ธ์ ๋ณต์ ํ๋ ค๋ฉด ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ๋ก๊น ์ ์ค์ ํฉ๋๋ค.
๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ์ถ๊ฐ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (all) COLUMNS;
์ผ๋ฐ ์ฌ์ฉ์๋ฅผ ๋ง๋ญ๋๋ค.
CDB$ROOT
์ปจํ ์ด๋์ PDB(pluggable database)์์๋ ์ผ๋ฐ ์ฌ์ฉ์์ ID๊ฐ ๊ฐ์ต๋๋ค. ์ผ๋ฐ ์ฌ์ฉ์๋ ๋ฃจํธ์ ๊ถํ์ด ์๋ ํ๋ฌ๊ทธ์ธ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๊ณ ๋ด๋ถ์์ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์ผ๋ฐ ์ฌ์ฉ์ ์ด๋ฆ์C##
๋๋c##
์ผ๋ก ์์ํด์ผ ํฉ๋๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ์ฌ์ฉํ ์ผ๋ฐ ์ฌ์ฉ์์๊ฒ ์ ์ ํ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
CDB$ROOT
์ปจํ ์ด๋์ PDB(pluggable database) ์์ค์์๋ ์๋ก ๋ค๋ฅธ ๊ถํ์ด ํ์ํฉ๋๋ค.CDB$ROOT
์ปจํ ์ด๋์ ์ฐ๊ฒฐํ๊ณ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.GRANT CREATE SESSION TO USER_NAME; GRANT SET CONTAINER TO USER_NAME; GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME; GRANT SELECT ON SYS.V_$LOGMNR_CONTENTS TO USER_NAME; GRANT EXECUTE ON DBMS_LOGMNR TO USER_NAME; GRANT EXECUTE ON DBMS_LOGMNR_D TO USER_NAME; GRANT LOGMINING TO USER_NAME; GRANT EXECUTE_CATALOG_ROLE TO USER_NAME;
PDB(pluggable database)์ ์ฐ๊ฒฐํ๊ณ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
GRANT CREATE SESSION TO USER_NAME; GRANT SET CONTAINER TO USER_NAME; GRANT SELECT ANY TABLE TO USER_NAME; GRANT SELECT ANY DICTIONARY TO USER_NAME; GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME; GRANT SELECT ON SYS.V_$ARCHIVED_LOG TO USER_NAME; GRANT SELECT ON DBA_SUPPLEMENTAL_LOGGING TO USER_NAME; GRANT SELECT ON DBA_EXTENTS TO USER_NAME;