본문 바로가기

IT-Consultant

Oracle Redo Log 파일에 대한 Wait가 너무 많다면 메모리에 올리셈

만약 허접한 테스트 장비에서 수집기를 돌린다면 Redo 로그에 대한 Access가 엄청나게 많을 것이다.
이 경우 Redo log 파일을 메모리에 올리면된다.

리눅스의 경우 ramdisk 비스무래한 방법을 제공하기 때문에 파일을 메모리에 올리는것이 가능하다.
( mount -t tmpfs tmpfs /ramdisk : 이 정도는 다 아시죠? ㅋㅋ 이 부분은 생략합니다.)
대신에 갑자기 정전이 되는 경우에는 아래처럼 복구를 하면된다.
말 그대로 로그 파일이다. 데이터 파일이 아니기 때문에 아래처럼 복구해도 전혀 문제가 안된다.




1. DB 현상 파악
   아래처럼 redo log 파일을 읽지 못하는 에러가 발생
*
ERROR at line 1:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1:
'/home/oracle/app/oracle/oradata/orcl/redo02.log'

2. mount만 하고 open 하지 않는다.
SQL> startup mount;
ORACLE instance started.

Total System Global Area 1269366784 bytes
Fixed Size                  2144024 bytes
Variable Size             922749160 bytes
Database Buffers          335544320 bytes
Redo Buffers                8929280 bytes
Database mounted.

3. 복구 명령어 수행
SQL> recover database until cancel;
Media recovery complete.
SQL> alter database open resetlogs;

4. oracle listener 시작
lsnrctl start