아카이브 모드로 변환하기

2010.05.12 08:17

조인상 조회 수:12791

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

본문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++


오라클 시스템을 아카이브 모드로 변환하여 좀더 신뢰성있는

백업 시스템을 구축할 수 있다.


1. 아카이브 모드로 변환

# su - oracle

$ cd dbs
$ vi initORCL.ora      SID가 ORCL인 경우

log_archive_start=true 로 고친다.

$ sqlplus '/ as sysdba'


@ 중간확인
sql>select name,log_mode from v$database;
sql>archive log list;

@ 아카이브 로그 변환
sql>startup mount
sql>alter database archivelog;
sql>alter database open;

@ 아카이브 모드 확인
sql>archive log list;
sql>show parameter archive;







SPFILE(서버 파라미터 파일)을 수정하여 데이타베이스를 archivelog mode로 설정하기


Oracle9i 이상의 경우 서버 파라미터 파일을 사용 할 경우 아래와 같은 과정을 거쳐서 아카이브 로그모드로 변경해야 합니다.


1) 파라미터 설정

-- sqlplus 실행
SQLPLUS /nolog

-- SYSDBA 권한으로 접속 합니다.
SQL>CONN / AS SYSDBA

-- LOG_ARCHIVE_START 파라미터 변경
SQL>ALTER SYSTEM SET LOG_ARCHIVE_START=TRUE SCOPE=SPFILE;

-- LOG_ARCHIVE_DEST 파라미터 변경
SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST='C:\oracle\ora92\database\archive' SCOPE=SPFILE;

-- LOG_ARCHIVE_FORMAT 파라미터 변경
SQL>ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%S.ARC' SCOPE=SPFILE;


2) DB Shutdown
SQL>SHUTDOWN IMMEDIATE


3) Mount 상태로 Startup
SQL> startup mount


4) 아카이브 로그 모드 활성화
SQL>ALTER DATABASE ARCHIVELOG;


5) 데이타베이스 오픈
SQL> ALTER DATABASE OPEN;


6) 아카이브 로그 모드가 정상적으로 설정되어 있는지 확인한다.
SQL> archive log list;
데이터베이스 로그 모드          아카이브 모드
자동 아카이브        사용
아카이브 대상        C:\oracle\ora92\database\archive
가장 오래된 온라인 로그 순서    17
아카이브할 다음 로그  19
현재 로그 순서        19
 



◈ SPFILE(서버 파라미터 파일)에서 NO ARCHIVE LOG모드로 전환하기


1) 자동 아카이브 모드를 false로 변경합니다.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_START=FALSE SCOPE=SPFILE;


2)DB shutdown
SQL> SHUTDOWN IMMEDIATE


3) mount 상태로 startup
SQL> STARTUP MOUNT


4) 데이터베이스를  no archive log mode로 전환.
SQL> ALTER DATABASE NOARCHIVELOG;


5) 데이타베이스 오픈
SQL> ALTER DATABASE OPEN;


6) 아카이브 로그 모드 상태 확인
SQL> ARCHIVE LOG LIST;
데이터베이스 로그 모드          아카이브 모드가 아님
자동 아카이브        사용 안함
아카이브 대상        C:\oracle\ora92\database\archive
가장 오래된 온라인 로그 순서    17
현재 로그 순서        19

 

 

7) 로그파일 수동으로 생성

 

sql> alter system switch logfile;

system altered.

명령을 실행 후

sql>archive log list;  명령이나
sql> show parameter log_archive_dest; 명령에서 나타나는

아카이브경로에 가서 아카이브로그가 생성되었는지 확인한다.


############## 10g 이상

1. LOG_ARCHIVE_START 파라미터 없어짐
2. LOG_LOG_ARCHIVE_DEST 도 지원안됨.
LOG_ARCHIVE_DEST_1 로 사용해야 함.
3. LOG_ARCHIVE_FORMAT 도 %s, %t, %r 3가지를 모두
포함해야 함.  arch_%t_%s_%r.arc

 

 

#############  11g 에서 설정

 

1) 파라미터 변경

-- LOG_ARCHIVE_DEST_1 파라미터 변경
SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/arch' SCOPE=SPFILE;

-- LOG_ARCHIVE_FORMAT 파라미터 변경
SQL>ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='arch_%t_%s_%r.arc' SCOPE=SPFILE;


2) DB Shutdown
SQL>SHUTDOWN IMMEDIATE


3) Mount 상태로 Startup
SQL> startup mount


4) 아카이브 로그 모드 활성화
SQL>ALTER DATABASE ARCHIVELOG;

 


5) 데이타베이스 오픈
SQL> ALTER DATABASE OPEN;

 

6) 테스트

SQL> alter system switch logfile;

 

 

서버에 요청 중입니다. 잠시만 기다려 주십시오...