Korean English Japanese Chinese (Simplified) Chinese (Traditional)

 

 

 

실습 0:  RMAN 파라미터를 Default상태로 바꾸고, RMAN 파라미터 리스트를 나타내여라. 그리고, 백업 리스트와 Obsolete 리스트를 삭제하여라. (5분)

rman target /

/* 각종 RMAN 파라미터를 Default 값으로 되돌린다. */
CONFIGURE RETENTION POLICY CLEAR;
CONFIGURE CONTROLFILE AUTOBACKUP CLEAR;

/* RMAN 파라미터의 전체 리스트를 확인한다. */
SHOW ALL;

/* 백업 파일과 Obsolete 파일을 삭제한다. */
DELETE BACKUP;
DELETE OBSOLETE;

 

 

 

 

실습 1-1: retention policy 파라미터를 바꿔 본다. (6분)

/* retention policy는 Redundancy based, Recovery window based 중 하나만을 선택할 수 있다. Redundancy based는 지정 파라미터 개수 이상 백업 파일이 쌓이면 백업파일을 자동 삭제한다. Recovery window based는 백업 파일이 생성된 지 지정한 파라미터 날짜가 지나면 백업파일을 자동 삭제한다. */

 

/* Redundancy based, 실습 코드는 하나의 파일은 백업본을 최대 2개까지 보관할 수 있다는 의미이다. */
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

/* Recovery Window based, 실습 코드는 하나의 파일의 백업본은 최대 10일까지 보관할 수 있다. 
이후 보관 공간이 부족해지면, RMAN은 이 백업 파일을 자동으로 삭제할 것이다. */
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 10 DAYS;


CONFIGURE RETENTION POLICY CLEAR;

 

 

 

 

실습 1-2: retention policy 파라미터를 바꾸지 않고, 데이터베이스를 백업할 때 retention 내용을 지정해본다.

/* 데이터베이스 백업본을 영구 보존하기 위해서는, Recovery Catalog 사용이 필수적이다. */

 

export ORACLE_SID=orcl2

rman target / catalog system/asdf0930k@rcdb
REGISTER DATABASE;
LIST INCARNATION;


/* 데이터베이스 백업본을 영구 보존 */
RUN {BACKUP DATABASE TAG bkp_forever KEEP FOREVER;}

/* 데이터베이스 백업본을 30일동안 보존 */
RUN {BACKUP DATABASE TAG bkp_1month KEEP UNTIL TIME 'SYSDATE+30';}

/* 데이터베이스 백업 리스트 확인 */
LIST BACKUP;

 

 

 

 

실습 2: backup destination 파라미터를 바꿔 본다. (7분)

 

%a – database activation ID으로 지정해준다.

%d – 사용 데이터베이스명으로 지정해준다.

%f – 데이터파일의 개수 번호로 지정해준다.

%N – 소속 테이블스페이스명을 지정해준다. 이 변수는 데이터파일의 image copy가 사용되었을 때만 사용할 수 있다.

%T – 그레고리안 역법에 맞추어 생성 연월일을 지정해준다.

%U – 알아서 유일성을 띄는 파일이름을 설정해준다.

 

/* 백업 타입을 backupset, 백업 디바이스를 disk, 백업 병렬도를 2로 지정한다. */
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;


/* Backup Destination 파라미터 설정하기, 실습에서는 Backup Destination의 채널을 2개 만들었는데, 데이터 파일을 백업할 때 2개 갈래로 병렬 백업하겠다는 뜻이다.
앞으로 백업 destination을 별도로 지정하지 않는 한 백업 파일은 /u01/app/oracle/oradata/에 위치할 것이다. */
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/u01/app/oracle/oradata/file_%p_%N_%d_%U.bkp';
CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/u01/app/oracle/oradata/file_%p_%N_%d_%U.bkp';


/* backup destination을 지정한 backup datafile 구문 */
BACKUP DATAFILE 1 FORMAT '/u01/app/oracle/oradata/datafile1%U.bkp';


/* Backup Destination 파라미터 지정 초기화 */
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT CLEAR;
CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT CLEAR;

 

 

 

 

실습 3: autobackup controlfile을 지정해 본다. (5분)

/* Controlfile을 autobackup하겠다는 것은 데이터베이스를 백업할 때마다 제어파일도 함께 백업하겠다는 것이다. 
또, 데이터베이스의 구조가 변할 때에도 항상 Controlfile은 autobackup될 것이다. */
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP OFF;

/* Controlfile의 backup 디렉토리를 지정한다. */
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/app/oracle/%F.bkp';


/* Controlfile autobackup 설정 초기화 */
CONFIGURE CONTROLFILE AUTOBACKUP CLEAR;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;

 

 

 

 

난이도: 

문제 1:  Controlfile Autobackup이 활성화 되어있는 상태에서, 전체 백업을 진행하고 controlfile이 autobackup되었는지 점검하라. (5분)

CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/app/oracle/oradata/%F.bkp';

BACKUP DATABASE;
$ cd /u01/app/oracle/oradata
$ ls

 

 

 

난이도: 

문제 2:  새 데이터파일을 추가하고, 테이블스페이스를 삭제한 후에, 새 redo log file을 추가하고, redo log group을 삭제하여라. 그리고 controlfile이 각 structural change마다 autobackup 되었는지 확인하라. (10분)

RETENTION POLICY TO REDUNDANCY 1에 걸려 Controlfile이 1개 이상 늘어나지 않았다. 이 값을 조정하면 데이터베이스 구조를 변경할 때마다 계속 새로 Controlfile을 백업할 수 있다.

rman target /
CONFIGURE RETENTION POLICY TO REDUNDANCY 10;


/* 새 테이블스페이스르르 추가하고, 새 데이터파일을 추가한다. */
CREATE TABLESPACE ryu DATAFILE '/u01/app/oracle/oradata/ORCL2/ryu.dbf' SIZE 100M 
AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
ALTER TABLESPACE ryu ADD DATAFILE '/u01/app/oracle/oradata/ORCL2/ryu2.dbf' SIZE 100M;

/* redo log file을 추가하고, 바로 삭제한다. */
SELECT	group#, status
FROM	v$log;

ALTER DATABASE ADD LOGFILE GROUP 4 '/u01/app/oracle/oradata/ORCL2/redo04.log' SIZE 50M;
ALTER DATABASE ADD LOGFILE MEMBER '/u01/app/oracle/oradata/ORCL2/redo04_02.log' SIZE 50M 
REUSE TO GROUP 4;
ALTER DATABASE DROP LOGFILE GROUP 4;
$ cd /u01/app/oracle/oradata
$ ls

$ rman target /
CONFIGURE RETENTION POLICY CLEAR;

 

 

 

 

 

 

실습 4: 백업 파일 encryption, compression을 진행한다. (8분)

/* RMAN으로 백업한 파일을 암호화 할 수 있다. 이 파일을 Restore 하기 전에 반드시 decryption을 진행해야 한다. */

RMAN에는 3 가지 방식의 encryption 방식이 존재한다: Transparent, Password, Dual-mode, Transparent  모드는 wallet 방식으로 수행하는 것이고, password 모드는 백업 전에 비밀번호로 encryption을 진행하고, 복구 작업 전에 decryption을 하는 것이다. Dual-mode는, Password 모드가 사용되면 Password 모드를, Password 모드가 사용되지 않으면 Transparent 모드로 encryption을 진행한다. */

 

 

1. Encryption

rman target /

/* Password 모드: encryption 지정 코드에 only 사용 */
SET ENCRYPTION ON IDENTIFIED BY 'asdf0930k' ONLY;
BACKUP DATAFILE 4;
SET DECRYPTION ON IDENTIFIED BY 'asdf0930k';
RESTORE DATAFILE 4;

/* Dual 모드: encryption 지정 코드에 only 사용 x */
SET ENCRYPTION ON IDENTIFIED BY 'asdf0930k';
BACKUP DATAFILE 4;
SET ENCRYPTION ON IDENTIFIED BY 'asdf0930k';
RESTORE DATAFILE 4;



/* Encryption 알고리즘 리스트를 확인하고, Encryption 적용 알고리즘을 선택할 수도 있다. */
SELECT	*
FROM	v$rman_encryption_algorithms;

CONFIGURE ENCRYPTION ALGORITHM 'AES192';
CONFIGURE ENCRYPTION ALGORITHM CLEAR;

 

 

2. Compression

rman target /

BACKUP AS COMPRESSED BACKUPSET DATABASE;
BACKUP AS COMPRESSED COPY DATABASE;


/* Compression 알고리즘 확인 및 변환 */
SELECT	*
FROM	v$rman_compression_algorithm;

CONFIGURE COMPRESSION ALGORITHM 'MEDIUM';
CONFIGURE COMPRESSION ALGORITHM CLEAR;

 

 

 

 

실습 5: archivelog deletion policy를 지정한다. (5분)

/* archived log file을 삭제하기 위해서, ARCHIVELOG DELETION POLICY 커맨드가 사용된다. default로 지정된 deletion policy는 NONE이다. */

 

/* redo log file이 1번 백업되면 archivedlog를 삭제한다. */
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO DEVICE TYPE DISK;

/* standby 데이터베이스에 redo log file 내용이 apply되면 archivelog를 삭제한다. */
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLED ON STANDBY;

/* standby 데이터베이스에 redo log file이 옮겨지면 archivelog를 삭제한다. */
CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED ON STANDBY;

/* 따로 archivelog를 삭제하는 policy를 지정하지 않는다. */
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE;

 

 

 

 

실습 6: backup의 maximum size를 지정한다. (3분)

/* 백업 파일의 Maxsetsize를 지정한다. maxsetsize를 넘으면, 백업을 중단하고 maxsetsize만큼의 데이터파일을 백업한다. */
CONFIGURE MAXSETSIZE TO 200M;

/* 병렬 채널당 Maxpiecesize를 지정한다. */
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 50M;

 

 

 

 

실습 7: backup파일을 duplexing한다. (5분)

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 2;

BACKUP DATAFILE 1 FORMAT '/u01/app/oracle/oradata/ORCL2/users_01_%U.bkp';
$ cd /u01/app/oracle/oradata/ORCL2
$ ls

 

 

 

 

 

실습 8: backup 시 일부 테이블스페이스를 제외하도록 설정한다. (8분)

/* USERS, SYSAUX 테이블스페이스를 백업에서 제외한다. */
CONFIGURE EXCLUDE FOR TABLESPACE USERS;
CONFIGURE EXCLUDE FOR TABLESPACE SYSAUX;

/* 백업 제외 내용을 해제한다. */
CONFIGURE EXCLUDE FOR TABELSPACE USERS CLEAR;
CONFIGURE EXCLUDE FOR TABLESPACE STSAUX CLEAR;


/* 백업 제외 내용은 상관없이, 모든 파일의 백업을 진행한다. */
BACKUP DATABASE NOEXCLUDE;
/* Readonly, offline, 그리고 접근이 불가능한 테이블스페이스를 제외한 모든 파일을 백업한다. */
BACKUP DATABASE SKIP READONLY SKIP OFFLINE SKIP INACCESSIBLE;
 

If you like this post, please give me a ❤️...!
 
✰Popular Posts✰
✰Recent Posts✰
 

❤ Seoul, Daejeon, Tokyo, Fukuoka
Site developed by Ryu Hyunwoo