2014년 8월 18일 월요일

Online Redo Log란[오라클개발자교육/오라클/ORACLE강좌/오라클교육잘하는곳/오라클교육추천/ORACLE실무교육/ORACLE/ORACLE교육/ORACLE학원/오라클실무교육]

====================== 
OnLine Redo Log(1) 
====================== 
1. Online Redo Log 계획 
- Oracle의 모든 Instance에는 Online Redo Log가 있다. 여기에는 DB에서 처리된 모든 
Commit된 기록하는 두개 이상의 Log File로 구성된다.(한쪽이 Archive되는 동안 다른 쪽을 
사용하기 위해서는 최소한 2개는 되어야 되지 않을까?) BackGround Process인 LGWR는 Transaction 
이 Commit될때 마다 SGA의 Redo Log Buffer 에 임시로 저장된 해당 Redo Log 항목을 Online Redo 
Log File에 기록한다. 
- Redo Log File은 순환씩으로 작동하며, 즉 두개의 File로 Onlibe Redo Log가 구성된다면  첫번째 
File을 채운다음 두번째 File을 채우고 두번째가 꽉차면 다시 첫번째에 채우는 방식으로 진행한다. 
파일이 채워질 때 마다 Log Sequence번호가 할당된다. 

2. Online Redo Log의 다중화 
- Online Redo Log는 다중화된 Online Redo Log File Group으로 구성되어야 한다. 또한 단일 
디스크 고장으로 LGWR 및 DB Instance가 실패하지 않도록 동일 Group의 Member를 여 
러 디스크에 나누어 저장해야 한다. 
 - Redo Log를 Archive할 경우 로그멤버를 여러 디스크에 분산시켜 LGWR와 ARCH간의 
  경합을 제거한다. 예를들어 두개의 이중 온라인 리두로그 멤버 그룹이 있다면 서로 다른 
  디스크에 각각의 맴버를 저장하고 Archive를 다섯번째 Disk로 설정한다. 이렇게 하면 경 
  합을 줄일수 있다. 또한 DataFile과 Redo Log의 경합을 줄이려면 DataFile과 Redo Log 
  File은 서로 다른 디스크에 있어야 한다. 
 - LGWR가 최소한 그룹의 한멤버를 성공적으로 기록할수 있다면 (로그스위치또는 그룹에 
  쓰기가 진행중) 그룹에서 Access할 수 있는 멤버에 대한 기록작업은 정상적으로 진행할 
  수 있다. 
- 그룹이 Archive되지않아 LGWR가 로그스위치에서 다은 그룹을 Access할 수 없는 경우 그룹을 사용할 
수 있을때까지 DB의 작업은 중단된다. 
- LGWR가 쓰려고 할 때 그룹의 모든 멤버에 대해 Access할수 없을때 오류를 돌려주며 
DB Instance는 즉시 종료된다.  이러한 경우  LGWR추적파일과 Alert File에 오류 메시지를 
기록한다. 

3. 적정수의 Online Redo Log File 
- 구성이 만족스러운지 결정하는 쉬운 방법은 LGWR 추적파일과 DataBase Alert File의 내 
용을 검사하는 것이다. Check Point가 완료되지 않았거나 그룹이 Archive 되지않아 자주  
기다려야 한다는 메시지가 자주 나오면 그룹을 추가래야 한다. 

- MaxLogFiles Parameter는 DataBase당 온라인 리두 로그 파일 그룹의 최대수를 나타낸다. 지정하 
지 않는다면 Oracle은 OS에 의존한다. 
- Log_Files Parameter는 현재 인스턴스의 지속기간 동안 리두로그 파일 그룹의 최대수를 일시적으 
로 감소 시킬수 있으나 Log_Files가 MaxLogFiles를 무효화하여 한계를 증가 시킬 수는 없다. 
- MaxLogMembers Parameter응 그룹당 최대 Menber수를 결정한다. 


4. 리두로그 그룹 생성 
- alter database add logfile (‘log1c’,’log2c’) size 500k; 

새로그멤버의 경로명을 포함하지 않으면 DB Server의 기본 Directory에 생성된다. 또 
기존 운영체제의 파일을 재사용 하려면 파일의 크기를 지정하지 않아도 된다. 

- alter database add logfile group 10 (‘log1c’,’log2c’) size 500k; 
또한 Group Option과 Group 번호를 지정할수도 있다. 그룹번호는 1과 maxlogfiles 사이 
여야 하며 그룹번호를 건너뛰면 안된다.(즉 10,20,30 등은 안됨), 그렇지 앟으면 DB의 
제어파일의 불필요한 저장 영역이 낭비된다. 

5. 리두로그 멤버 추가 
- alter database add logfile member ‘log2b’ to group 2; 파일명은 지정해야 하지만 크기는 지정안해도 된다. 기존의 멤버의 크기에 의해 결정된다. 다음과 
같은 경우도 사용 가능하다. 

Alter database add logfile MEMBER ‘log2c’ to (‘log2a’,’log2b’); 

즉 to다음에 다른 맴버를 지정할수도 있다. 

6. 리두로그 파일의 이름변경 및 위치 재지정 
a. DB Back한다. 
b. Online Redo LogFile을 새위치로 복사 
c. Alter database의 rename구를 이용하여 이름을 변경한다. 
Alter database rename file ‘/usr2/log1a’ to ‘/usr3/log1a’ 
d. DB재 Open 
e. 제어파일을 BackUp한다. 

7. 리두로그 그룹삭제 
- 그룹의 멤버수에 관계없이 인스턴스는 적어도 2개의 리두로그 파일 그룹을 필요로 
한다.활성 그룹이 아닌경우에만 리두로그 그룹을 삭제할수 있다. 
- 삭제하기전에 리두로그 그룹이 아카이브 되었는지 확인한다.(archive log명령과 list 
매개변수를 사용) 
svrmgrl>archive log list; 

- 리두로그 그룹3을 삭제하는 예제 
alter database drop logfile group 3; 

8. 리두로그 멤버의 삭제 
- 온라인 리두로그 파일을 삭제하여 다중화된 Online Redo Log가 일시적으로 비대칭이 될 
수도 있다. 예를들어 이중화된 온라인 리두로그 파일 그룹을 사용할 때 다른 모든 그룹 
이 각각 2개의 멤버를 가지고 있는 경우에도 그룹의 한멤버를 삭제할수 있다. 그러나 
모든 그룹이 최소한 드멤버를 가지도록 즉시 수정하여 온라인 리두로그에 대해 가능한 
단일 실패지점을 제거해야 한다. 
- 그룹의 멤버수에 관계없이 인스턴스는 적어도 2개의 리두로그 파일 그룹을 필요로 한다. 
- 삭제할 멤버가 그룹의 마지막 멤버라면 다른 멤버가 유효하게 될때까지 지우면 안된다. 
리두로그 파일의 상태를 보려면 v$logfile이라는 View를 살피면 된다. 

- 활성 그룹의 일부가 아닌경우에만 온라인 리두멤버를 삭제할수 있다. 활성그룹의 멤버를 
삭제하려면 먼저 Log Switch를 강제로 발생시킨다. 
- 멤버를 삭제하기전에 속한 그룹이 Archive 되었는지 확인한다.(archive log list;) 
- 예]alter database drop logfile member ‘log3c’; 




평일주간[100%환급과정]
(8/25)C#4.0,WinForm,ADO.NET
(8/25)안드로이드개발자과정
(8/25)SQL기초에서 Schema Object까지
(8/29)Spring,MyBatis,Hibernate실무과정
(8/29)자바기초JDBC,Servlet/JSP까지
(8/29)PL/SQL,ORACLE HINT,TUNING
(8/25)오라클자바채용확정교육
평일야간[개인80%환급]
(8/21)Spring, MyBatis, Hibernate
(8/21)HTML5,CSS3,Ajax,jQuery마스터
(8/21)C#,Network,ADO.NET,ASP.NET
(8/26)SQL기초에서실무까지
(8/26)안드로이드개발자과정
(8/28)자바JSP,jQuery,Spring,MyBatis
주말주간[개인80%환급]
(8/23)자바웹&스프링,마이바티스
(8/23)Spring, MyBatis, Hibernate
(8/23)SQL기초에서실무까지
(8/23)자바,네트워크,웹&스프링
(8/30)안드로이드개발자과정
(8/30)C#,ASP.NET마스터(8/30)웹퍼블리싱 마스터
주말야간[개인80%환급]
(8/23)SQL기초에서실무까지
(8/23)자바,네트워크,웹&스프링

댓글 없음:

댓글 쓰기