RAC 환경에서의 복구
작성자 관리자 작성시간 2007-07-04 15:49:29
 

Q: 우선 두 대다 아카이브 모드로 운영중이고요 둘 중 하나의 서버가 장애로 인하여

down됐습니다.  하지만 down되었는지의 여부를 확인하지 않고(물론, 이러면 안되지만)

하루가 지났다고 하면 단순히 down된 instance를 startup시키면 그 동안의 변경된 사항이

recovery되는건가요?



그리고 instance가 두 개이므로 각각의 instance에 아카이프 파일이 쌓이는 걸로 알고있습니다.

물론 그렇게 해도 최종적인 디비의 모습은 down되지 않은 instance에 쌓이겠죠

그러면 복구된 instance에서 재해시 log switch되지 못한 사항에 대해서는 recovery시에

어떤식으로 작업이 이루어지게 되나요?

============================================================

A: RAC로 구성된 각 인스턴스는 자신의 아카이브 로그 화일은 각각의 Local Disk에 기록합니다.

그러나, 갑자기 한쪽 인스턴스에서 장애가 발생하여 아카이브 로그를 기록하지 못할 상황이 발생한다면 정상인(survival) 인스턴스의 Local Disk에 상대편의 아카이브 로그 화일을 기록하여 트랜잭션의 손실이 없도록 처리됩니다.

기본적으로 RAC는 Online redo log file을 각각의 인스턴스에 대해 할당되어 있지만 공유 디스크에 생성하기 때문에 장애가 발생시 다른 인스턴스의 Online redo log도 읽을 수 있기때문입니다.

따라서, 한쪽 인스턴스에서 장애가 발생해서 하루동안 그냥 둔다고 하더라도 기본적인 서비스에는 문제가 없습니다. 또한, 트랜잭션의 손실도 발생하지 않습니다.
다만, 분산되었던 부하가 한쪽으로 몰리면서 시스템의 부하는 증가할 가능성이 높겠지요.

하루후에 다운되었던 인스턴스를 그냥 startup 시켜도 문제는 없습니다. 심각한 장애가 발생된 상황이 아니라면 정상적으로 기동될겁니다.

마지막으로 RAC DB가 crash되어 복구해야될 사항이라면 어느쪽이던 한쪽 인스턴스에서 작업을 수행하시면 됩니다. 만약, 1번 인스턴스에서 복구작업을 수행 하신다고 가정하면, 복구도중 필요시 마다 1번 내지는 2번 인스턴스(2개의 인스턴스로 구성된 RAC라는 가정) 의 아카이브 화일을 요청합니다.

1번 인스턴스의 아카이브 화일은 Local Disk에 있기 때문에 자동 적용될것이고 2번 인스턴스의 아카이브 로그를 요구하면 2번 인스턴스에서 아카이브 로그 화일을 1번 인스턴스의 archive log destination에 복사해 주시면 됩니다.
도움이 되시길...


RAC커뮤니티:  ( http://www.dbguide.net/@ORAC )


목록 | 입력 | 수정 | 답변 | 삭제