OS환경 : Oracle Linux 7.5 (64bit)
DB 환경 : Oracle Database 19.3.0.0
방법 : 오라클 19c begin (핫) 백업 시 expdp 백업 가능여부
begin backup (hot 백업) 시 expdp (datapump) 로 동시에 백업이 가능한지 여부를 테스트함
샘플 데이터 삽입용 유저 생성
1 2 3 4 5 6 7 | SQL> create user expdpman identified by expdpman account unlock default tablespace users quota unlimited on users; User created. SQL> grant resource,connect to expdpman; Grant succeeded. |
샘플 데이터 생성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | SQL> conn expdpman/expdpman Connected. SQL> CREATE TABLE EXPTEST(COLA VARCHAR2(20), COLB NUMBER, COLC NUMBER, COLD VARCHAR2(30), COLE VARCHAR2(30), COLF VARCHAR2(30), COLG NUMBER, COLH VARCHAR2(30), COLI VARCHAR2(30), COLJ VARCHAR2(30)); Table created. SQL> set serveroutput on; DECLARE TYPE tbl_ins IS TABLE OF EXPTEST%ROWTYPE INDEX BY BINARY_INTEGER; w_ins tbl_ins; BEGIN FOR i IN 1..1000000 LOOP w_ins(i).COLA :=i; w_ins(i).COLB :=300000; w_ins(i).COLC :=999; w_ins(i).COLD :='DDDDDDDDDDDDDDDD'; w_ins(i).COLE :='EEEEEEEEEEEEEEEE'; w_ins(i).COLF :='FFFFFFFFFFFFFFFF'; w_ins(i).COLG :=9999999; w_ins(i).COLH :='HHHHHHHHHHHHHHHHHHHHHHHHHH'; w_ins(i).COLI :='IIIIIIIIIIIIIIIllllIIIIIIIIIII'; w_ins(i).COLJ :='AAAAAAAAAAAAAAAAAAAAAAAAAA'; END LOOP; FORALL i in 1..1000000 INSERT INTO EXPTEST VALUES w_ins(i); COMMIT; END; / PL/SQL procedure successfully completed. |
테이블 스페이스 목록 확인
1 2 3 4 5 6 7 8 9 10 11 12 | SQL> set lines 200 pages 1000 col file_name for a70 select tablespace_name, file_name , bytes/1024/1024 mb from dba_data_files; TABLESPACE_NAME FILE_NAME MB ------------------------------ ---------------------------------------------------------------------- ---------- SYSTEM /app/oracle/oradata/ORCL19/system01.dbf 700 SYSAUX /app/oracle/oradata/ORCL19/sysaux01.dbf 1060 UNDOTBS1 /app/oracle/oradata/ORCL19/undotbs01.dbf 11264 USERS /app/oracle/oradata/ORCL19/users01.dbf 177.5 NEWTS /app/oracle/oradata/ORCL19/newts01.dbf 100 |
expdp용 디렉토리 생성
1 2 3 4 5 6 7 | SQL> create directory expdpdir as '/home/oracle/' Directory created. SQL> grant read, write on directory expdpdir to public; Grant succeeded. |
begin backup 실행
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | SQL> alter tablespace system begin backup; Tablespace altered. SQL> alter tablespace sysaux begin backup; Tablespace altered. SQL> alter tablespace users begin backup; Tablespace altered. SQL> alter tablespace newts begin backup; Tablespace altered. |
cp 명령으로 hot 백업 실행
1 2 3 4 5 6 7 | $ mkdir -p /app/oracle/hot $ cd /app/oracle/oradata/ORCL19/ $ cp -av system01.dbf sysaux01.dbf users01.dbf newts01.dbf /app/oracle/hot/ ??system01.dbf?? -> ??/app/oracle/hot/system01.dbf?? ??sysaux01.dbf?? -> ??/app/oracle/hot/sysaux01.dbf?? ??users01.dbf?? -> ??/app/oracle/hot/users01.dbf?? ??newts01.dbf?? -> ??/app/oracle/hot/newts01.dbf?? |
동시에 begin backup 종료하지 않고 expdp 실행
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $ expdp system/oracle directory=expdpdir tablespaces=users Export: Release 19.0.0.0.0 - Production on Fri Nov 27 21:34:38 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Starting "SYSTEM"."SYS_EXPORT_TABLESPACE_01": system/****** directory=expdpdir tablespaces=users Processing object type TABLE_EXPORT/TABLE/TABLE_DATA Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER Processing object type TABLE_EXPORT/TABLE/TABLE . . exported "EXPDPMAN"."EXPTEST" 152.4 MB 1000000 rows Master table "SYSTEM"."SYS_EXPORT_TABLESPACE_01" successfully loaded/unloaded ****************************************************************************** Dump file set for SYSTEM.SYS_EXPORT_TABLESPACE_01 is: /home/oracle/expdat.dmp Job "SYSTEM"."SYS_EXPORT_TABLESPACE_01" successfully completed at Fri Nov 27 21:35:07 2020 elapsed 0 00:00:28 |
정상적으로 수행됨
end backup 실행
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | SQL> alter tablespace system end backup; Tablespace altered. SQL> alter tablespace sysaux end backup; Tablespace altered. SQL> alter tablespace users end backup; Tablespace altered. SQL> alter tablespace newts end backup; Tablespace altered. |
결론 : 핫 백업 시에도 expdp(데이터펌프) 백업이 동시에 받아짐
하지만 실제 운영시스템에선 과도한 아카이브로그가 발생할 수 있기때문에
두 백업의 시간대를 다르게해서 백업하는 것을 권장함
참조 :
'ORACLE > Admin' 카테고리의 다른 글
오라클 DBMS_OBFUSCATION_TOOLKIT 암호화 방법 (0) | 2021.01.07 |
---|---|
오라클 11g R2 ADG 브로커 파라미터 변경 방법 (0) | 2020.12.22 |
오라클 11g R2 Temp Tablespace 재생성 (2) | 2020.11.03 |
오라클 설치 이후 uid, gid 변경 가이드 (재설치) (0) | 2020.10.07 |
오라클 11g R2 10GB update 중 세션 kill 시 발생하는 문제 (0) | 2020.09.26 |