오라클 OCP 오라클자격증 OCP자격증 데이터베이스 DB 데이터베이스관리자 DB관리자 오라클학원 OCP학원 오라클 OCP 오라클자격증 OCP자격증 데이터베이스 DB 데이터베이스관리자 DB관리자 오라클학원 OCP학원 오라클 OCP 오라클자격증 OCP자격증 데이터베이스 DB 데이터베이스관리자 DB관리자 오라클학원 OCP학원 오라클 OCP 오라클자격증 OCP자격증 데이터베이스 DB 데이터베이스관리자 DB관리자 오라클학원 OCP학원오라클 OCP 오라클자격증 OCP자격증 데이터베이스 DB 데이터베이스관리자 DB관리자 오라클학원 OCP학원 오라클 OCP 오라클자격증 OCP자격증 데이터베이스 DB 데이터베이스관리자 DB관리자 오라클학원 OCP학원 오라클 OCP 오라클자격증 OCP자격증 데이터베이스 DB 데이터베이스관리자 DB관리자 오라클학원 OCP학원
No. 10445
ARCHIVE LOG MODE 운영 방법
==========================
Oracle에서 Online Backup을 받거나 완벽한 Recovery 작업을 수행하기
위해서는 DB를 Archive log mode로 운영하여야 한다.
텍스트로 만들어진 파라미터 화일을 사용하는 경우 (Oracle 8i 까지)
Archive log mode로 운영하기 위해서는 다음과 같이 변경하여야 한다.
1. initSID.ora file과 configSID.ora 에 다음의 parameter가 이미 setting
되어 있는지 확인한 후에 없을 경우 initSID.ora 에 setting한다.
1) LOG_ARCHIVE_START = TRUE
* ARCH process 가 기동
* log switch 발생 시 automatic archive를 수행한다.
만약 이 parametrer가 false이면 manual archive를 실시하여야 한다.
2) LOG_ARCHIVE_DEST = /home/oracle7/dbs/archive_file/arc
* archive 장소의 디렉토리와 확장자를 포함하지 않는 파일명을 지정.
* 여기에서 archive_file까지는 directory이며 마지막에 있는 arc는
archive log file의 initial 명이다.
3) LOG_ARCHIVE_FORMAT = %s.log
* archive file의 확장자와 log sequence 번호의 형식을 지정.
* 이는 (2)에서 정의된 archive log의 initial file 명과 함께 나타난다.
[ 예 ] arc123.log, arc124.log
(123과 124는 log sequence number 이다.)
와 같은 형태의 화일이 생성된다.
2. 다음과 같이 작업하여 archive log mode로 변환한다.
$ svrmgrl
SVRMGR> connect internal
SVRMGR> startup mount - (1)
SVRMGR> alter database archivelog; - (2)
SVRMGR> archive log list - (3)
Database log mode ARCHIVELOG - (4)
Automatic archival ENABLED - (5)
Archive destination ?/dbs_ar/offline_log/offline - (6)
Oldest online log sequence 123 - (7)
Next log sequence to archive 125 - (8)
Current log sequence 125 - (9)
SVRMGR> alter database open; - (10)
(1) DB를 startup mount까지만 한다.
(2) 이 Command를 이용하여 archivelog mode로 DB를 변경한다.
(3) Archivelog mode로 변경되었는지를 확인한다.
(4) DB가 Archivelog mode임을 나타낸다.
만약 NOARCHIVELOG로 되어 있으면 변경되지 않은 것을 의미한다.
(5) initSID.ora file에서 LOG_ARCHIVE_START parameter를 TRUE로
정의하였음을 나타내며 false인 경우에는 DISABLED로 나타난다.
(6) initSID.ora file의 LOG_ARCHIVE_DEST parameter에서 정의한
archive할 장소이다.
(7) 3 개의 redo log 중 가장 오래된 redo log의 sequence가 123임을
의미한다.
(8) 다음에 archive 받을 file의 log sequence 번호를 나타낸다.
(9) 현재 사용 중인 redo log의 sequence가 125임을 의미한다.
만약 이전부터 archivelog mode로 운영 중이었다면 여기에서 archivelog
file은 log sequence 124까지 archiveing되어있다는 것을 의미한다.
(10) Archive mode로 변경 후 DB를 open한다.
바이너리로 만들어진 파라미터 화일을 사용하는 경우 (Oracle 9i 부터)
Archive log mode로 운영하기 위해서는 다음과 같이 변경하여야 한다.
1. Parameter 확인
$sqlplus /nolog
SQL>connect sys/passwd@orcl as sysdba
Connected.
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Enabled
Archive destination /u01/oracle/dbs/
Oldest online log sequence 1
Current log sequence 3
SQL> select name, value from v$parameter
where name = 'log_archive_start'
or name = 'log_archive_dest'
or name = 'log_archive_format' ;
2. 다음과 같이 작업하여 archive log mode로 변환한다.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_START = TRUE
SCOPE=SPFILE;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 89201304 bytes
Fixed Size 453272 bytes
Variable Size 67108864 bytes
Database Buffers 20971520 bytes
Redo Buffers 667648 bytes
Database mounted.
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Enabled
Archive destination /u01/oracle/dbs/archive/orcl/arc
Oldest online log sequence 1
Current log sequence 3
SQL> alter database archivelog;
Database altered.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/oracle/dbs/archive/orcl/arc
Oldest online log sequence 1
Next log sequence to archive 3
Current log sequence 3
SQL> alter database open
2 ;
Database altered.
반대로, archivelog mode에서 no archivelog mode로 전환하는 방법은 다음과
같습니다. archivelog mode에서 no archivelog mode로 전환하기 전에
데이터베이스는 반드시 immediate 또는 normal 로 셧다운 되어야만 전환이
가능 합니다.
먼저, 위에서 setting 했던 initSID.ora file 와 configSID.ora 에 있는
다음 parameter 앞에 # 을 넣고 저장합니다.
#LOG_ARCHIVE_START = TRUE
#LOG_ARCHIVE_DEST = /home/oracle7/dbs/archive_file/arc
#LOG_ARCHIVE_FORMAT = %s.log
$ svrmgrl
SVRMGR> connect internal;
SVRMGR> shutdown immediate
SVRMGR> startup mount
ORACLE instance started.
Database mounted.
SVRMGR> alter database noarchivelog;
Statement processed.
SVRMGR> alter database open;
Statement processed.
바이너리로 만들어진 파라미터 화일을 사용하는 경우 (Oracle 9i 부터)
Noarchive log mode로 운영하기 위해서는 다음과 같이 변경하여야 한다.
1. Parameter 확인
$sqlplus /nolog
SQL>connect sys/passwd@orcl as sysdba
Connected.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/oracle/dbs/archive/orcl/arc
Oldest online log sequence 1
Next log sequence to archive 3
Current log sequence 3
SQL> select name, value from v$parameter
where name = 'log_archive_start'
or name = 'log_archive_dest'
or name = 'log_archive_format' ;
2. 다음과 같이 작업하여 Noarchive log mode로 변환한다.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_START = FALSE
SCOPE=SPFILE;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 89201304 bytes
Fixed Size 453272 bytes
Variable Size 67108864 bytes
Database Buffers 20971520 bytes
Redo Buffers 667648 bytes
Database mounted.
SQL> alter database noarchivelog;
Database altered.
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Enabled
Archive destination /u01/oracle/dbs/archive/orcl/arc
Oldest online log sequence 1
Current log sequence 3
SQL> alter database open
2 ;
Database altered.
아카이브 데스티네이션 경로 변경
-- db archive mode 로 변경시키는 방법
-- archive mode : redo log file 을 백업을 받는 방식
SQL> archive log list
데이터베이스 로그 모드 아카이브 모드가 아님
자동 아카이브 사용 안함
아카이브 대상 C:\oracle\ora92\RDBMS
가장 오래된 온라인 로그 순서 48
현재 로그 순서 51
SQL> alter system set log_archive_start = true scope=spfile;
시스템이 변경되었습니다.
-- os directory 설정
-- oracle 에선 파일은 자동으로 만들어주는데 디렉토리는 무조건
-- 사용자가 수동으로 만들어줘야 한다.
SQL> alter system set log_archive_dest_1 ='location=c:\arch1';
시스템이 변경되었습니다.
SQL> alter system set log_archive_dest_2 = 'location=c:\arch2';
시스템이 변경되었습니다.
-- log_archive_dest 확인
SQL> show parameter log_archive_dest
-- archive file 형식 지정
SQL> alter system set log_archive_format ='%t_%s.arc' scope=spfile;
-- %s 는 로그 시퀀스 번호
시스템이 변경되었습니다.
SQL> shutdown immediate
SQL> startup mount
-- control file 을 읽는다.
ORACLE 인스턴스가 시작되었습니다.
Total System Global Area 101784276 bytes
Fixed Size 453332 bytes
Variable Size 75497472 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
데이터베이스가 마운트되었습니다.
-- control file 의 속성을 바꾼다.
-- archivelog mode 로 변경
SQL> alter database archivelog;
데이타베이스가 변경되었습니다.
SQL> archive log list
데이터베이스 로그 모드 아카이브 모드
자동 아카이브 사용
아카이브 대상 c:\arch2
가장 오래된 온라인 로그 순서 48
아카이브할 다음 로그 51
현재 로그 순서 51
SQL> alter database open;
데이타베이스가 변경되었습니다.
SQL> alter system switch logfile;
시스템이 변경되었습니다.
-- 그러면 c:\arch1, c:\arch2 밑에 로그파일이 생성된다.
* 교육 담당 & 관리자 : 김 윤 석
* 교육 문의 & 예약 접수 : 02) 6255-8046
* 홈페이지 http://www.itmoya.net/ocp/main_1.htm
- 오라클지정 교육원, 본원 시험실시, 40%바우쳐제공