RMAN 설정 및 백업

9월 15th, 2017 by atlantis

\dbhome_1\BIN>rman target system/xxxx

 

RMAN> show all;   — 현재 설정값 조회/설정  

# 백업파일 저장 위치 및 파일명 포맷  기본값 설정
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT ‘D:/orabackup/orcl_%U_%T’;
# 전체 데이터 백업 최적화
RMAN> CONFIGURE BACKUP OPTIMIZATION ON; 
#아카이브로그 백업후 로그파일 삭제
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO ‘SBT_TAPE’;
# 백업 보관 일수
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 10 DAYS;

 

Oracle-RMAN-1

 

RMAN> report schema;  — DB 테이블스페이스/파일 목록 조회

db_unique_name TESTDB을(를) 가진 데이터베이스에 대한 데이터베이스 스키마 보고서입니다.

영구 데이터 파일 목록
===========================
파일 크기(MB) 테이블스페이스 RB 세그먼트 데이터 파일 이름
—- ——– ——————– ——- ————————
1 700 SYSTEM *** D:\APP\ADMINISTRATOR\ORADATA\TESTDB\SYSTEM01.DBF
2 780 SYSAUX *** D:\APP\ADMINISTRATOR\ORADATA\TESTDB\SYSAUX01.DBF
3 85 UNDOTBS1 *** D:\APP\ADMINISTRATOR\ORADATA\TESTDB\UNDOTBS01.DBF
4 5 USERS *** D:\APP\ADMINISTRATOR\ORADATA\TESTDB\USERS01.DBF

임시 파일 목록
=======================
파일 크기(MB) 테이블스페이스 최대 크기(MB) 임시 파일 이름
—- ——– ——————– ———– ——————–
1 197 TEMP 32767 D:\APP\ADMINISTRATOR\ORADATA\TESTDB\TEMP01.DBF

 

RMAN> backup database; — 모든 Data 백업 (저장 경로는 전역값 참조)
RMAN> backup as compressed backupset  format ‘D:/orabackup/orcl_data_%U_%T’ database; (압축,특정경로 지정시)
RMAN> backup tablespace users format ‘D:/orabackup/orcl_data_users_%U_%T’; (특정 테이블스페이스만)

RMAN> backup archivelog all;
RMAN> backup as compressed backupset format ‘D:/orabackup/orcl_arc_%U_%T’ archivelog all;

RMAN> copy datafile ‘D:/oradata/testdb/USERS01.DBF’ to ‘D:/orabackup/USERS01.DBF’; (이미지 복사)

차등/증분

backup을(를) 17/09/15에서 시작 중
채널을 할당했습니다: ORA_DISK_1
ORA_DISK_1 채널: SID=1 장치 유형=DISK
ORA_DISK_1 채널: 전체 데이터 파일 백업 집합을 시작하는 중입니다.
ORA_DISK_1 채널: 백업 집합에서 데이터 파일을 지정하는 중입니다.
입력 데이터 파일 파일 번호=00002 이름=D:\APP\ADMINISTRATOR\ORADATA\TESTDB\SYSAUX01.DBF
입력 데이터 파일 파일 번호=00001 이름=D:\APP\ADMINISTRATOR\ORADATA\TESTDB\SYSTEM01.DBF
입력 데이터 파일 파일 번호=00003 이름=D:\APP\ADMINISTRATOR\ORADATA\TESTDB\UNDOTBS01.DBF
입력 데이터 파일 파일 번호=00004 이름=D:\APP\ADMINISTRATOR\ORADATA\TESTDB\USERS01.DBF
채널 ORA_DISK_1: 조각 1을(를) 17/09/15에서 시작 중
채널 ORA_DISK_1: 조각 1을(를) 17/09/15에서 완료
조각 핸들=D:\ORABACKUP\ORCL_01SEH05C_1_1_20170915 태그=TAG20170915T112948 주석=NONE
채널 ORA_DISK_1: 백업 집합 완료. 경과된 시간: 00:00:25
ORA_DISK_1 채널: 전체 데이터 파일 백업 집합을 시작하는 중입니다.
ORA_DISK_1 채널: 백업 집합에서 데이터 파일을 지정하는 중입니다.
백업 집합에 현재 제어 파일을 포함하는 중입니다.
백업 집합에 현재 SPFILE을 포함하는 중입니다.
채널 ORA_DISK_1: 조각 1을(를) 17/09/15에서 시작 중
채널 ORA_DISK_1: 조각 1을(를) 17/09/15에서 완료
조각 핸들=D:\ORABACKUP\ORCL_02SEH065_1_1_20170915 태그=TAG20170915T112948 주석=NONE
채널 ORA_DISK_1: 백업 집합 완료. 경과된 시간: 00:00:01
backup을(를) 17/09/15에서 완료

 

RMAN> list backupset; — 백업셋 조회 (백업정보는 기본으로 컨트롤파일에 저장)

백업 집합 목록
===================

BS 키 유형 LV 크기 장치 유형 경과된 시간 완료 시간
——- —- — ———- ———– ———— ———
1 Full 1.21G DISK 00:00:19 17/09/15
BP 키: 1 상태: AVAILABLE 압축됨: NO 태그: TAG20170915T112948
조각 이름: D:\ORABACKUP\ORCL_01SEH05C_1_1_20170915
백업 집합 1의 데이터 파일 목록
파일 LV 유형 Ckp SCN Ckp 시간 이름
—- — —- ———- ——– —-
1 Full 3705783 17/09/15 D:\APP\ADMINISTRATOR\ORADATA\TESTDB\SYSTEM01.DBF
2 Full 3705783 17/09/15 D:\APP\ADMINISTRATOR\ORADATA\TESTDB\SYSAUX01.DBF
3 Full 3705783 17/09/15 D:\APP\ADMINISTRATOR\ORADATA\TESTDB\UNDOTBS01.DBF
4 Full 3705783 17/09/15 D:\APP\ADMINISTRATOR\ORADATA\TESTDB\USERS01.DBF

BS 키 유형 LV 크기 장치 유형 경과된 시간 완료 시간
——- —- — ———- ———– ———— ———
2 Full 9.36M DISK 00:00:02 17/09/15
BP 키: 2 상태: AVAILABLE 압축됨: NO 태그: TAG20170915T112948
조각 이름: D:\ORABACKUP\ORCL_02SEH065_1_1_20170915
포함된 SPFILE: 수정 시간: 17/09/14
SPFILE db_unique_name: TESTDB
포함된 제어 파일: Ckp SCN: 3705791 Ckp 시간: 17/09/15

 

# SQL Developer DBA 를 이용하면 GUI 를 이용하여 명령어를 손쉽게 생성 가능

Oracle-RMAN-3

Oracle-RMAN-2

* 리스너 등 그외 서버 설정 파일등은 별도 백업을 진행해야 한다 

 

Oracle spfile 복구

9월 14th, 2017 by atlantis

파라미터 설정을 잘못한 경우 오류가 발생하여, DB 시작이 안되는 경우에 활용

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORA-16032: parameter xxxxx destination string cannot be translated
ORA-09291: sksachk: invalid device specified for archive destination
OSD-04018: ?????? ???????? ???? ?????? ???????? ?? ????????.
O/S-Error: (OS 123) ???? ????, ???????? ???? ???? ???? ?????? ?????? ??????????????.

 

SQL> conn system/xxxx as sysdba

[pfile 지정하여 마운트 – 기본 설치값 또는 백업용 지정]
SQL> startup mount pfile=D:\app\Administrator\product\11.2.0\dbhome_1\database\INITTESTDB.ORA
ORACLE 인스턴스가 시작되었습니다.  

[오류가 있는 spfile 을 참조하여 pfile 생성 – 생성된 pfile 에서 오류 부분 수정]
SQL> create pfile from spfile;
파일이 생성되었습니다. (경로는,  설치 기본 경로를 참조 “dbhome_1\database\”)

[수정된 pfile 을 참조하여 다시 spfile 생성]
SQL> create spfile from pfile; 
파일이 생성되었습니다.

[백업 보관용으로 pfile 생성]
SQL> create pfile from spfile;

SQL> shutdown immediate
SQL> startup

 

Oracle-spfile-1

 

Oracle Archive Log Mode 설정

9월 14th, 2017 by atlantis

# SQL Plus

[DB 확인]
SQL> select name from v$database;
NAME
———
TESTDB

[Archive Log 설정 확인]
SQL> archive log list;
ORA-01031: 권한이 불충분합니다
SQL> conn system/passwd as sysdba
연결되었습니다.
SQL> archive log list;
데이터베이스 로그 모드 아카이브 모드가 아님
자동 아카이브 사용 안함으로 설정됨
아카이브 대상 USE_DB_RECOVERY_FILE_DEST
가장 오래된 온라인 로그 순서 135
현재 로그 순서 137

[Archive Log 속성  적용 – 특정 경로, 파일명 필요시]
SQL> alter system set log_archive_dest_1=’location=D:\app\Administrator\oradata\testdb\archive1′ scope=spfile;
SQL> alter system set log_archive_dest_2=’location=D:\app\Administrator\oradata\testdb\archive2′ scope=spfile;
SQL> alter system set log_archive_format=”%s_%t_%r.arc” scope=spfile;

[DB 종료]
SQL> shutdown immediate;

[DB Mount]
SQL> startup mount;

[Archive Log 설정  확인]
SQL> archive log list;
데이터베이스 로그 모드 아카이브 모드가 아님
자동 아카이브 사용 안함으로 설정됨
아카이브 대상 D:\app\Administrator\oradata\testdb\archive2
가장 오래된 온라인 로그 순서 135
현재 로그 순서 137

[DB Archive Log Mode 설정]
SQL> alter database archivelog;

데이타베이스가 변경되었습니다.

[Archive Log 설정  확인]
SQL> archive log list;
데이터베이스 로그 모드 아카이브 모드
자동 아카이브 사용으로 설정됨
아카이브 대상 D:\app\Administrator\oradata\testdb\archive2
가장 오래된 온라인 로그 순서 135
아카이브할 다음 로그 137
현재 로그 순서 137

[DB 활성]
SQL> alter database open;
데이타베이스가 변경되었습니다.

[Archive Log 파일 변경 테스트]
SQL> alter system switch logfile;
시스템이 변경되었습니다.

 

Oracle-ArchiveLog-1