Archive Hang 발생시 해결 방법.

 

 archive mode일 때는 logfile에서 archive file에 내려써서 저장하는데, 이때 권한이 바뀌면, archive file에 저장이 안되므로 hang이 발생한다.

 

1. archive mode인지 조회한다.

 

2. /data 디렉토리의 하위디렉토리의 상세사항을 조회한다.

 

3. archive 파일의 권한을 root소유로 변경한다.

 

4.log switch를 일으키면, 바로 logfile에 저장이 되는데, archive mode에서는 이 logfile에 적혀진 것을 archive file에 따로 저장을 한다.

그래서 logswitch를 일으켜보면 hang이 걸릴지 안걸릴지 알 수 있다.

 

5. 새로운 터미널 창에서 얼럿로그를 확인한다. -> archive log file을 저장해야 하는 디렉토리에 oracle 계정이 쓸 권한이 없어서 Log switch가 발생해도 아카이빙을 못하기 때문에 발생한 에러.

 

6. 또 새로운 창에서 권한을 변경한 후 다시 확인해본다.

 

7. log switch를 다시 일으켜 보면, 원래 hang이 걸렸던 창에서 hang이 풀린다.

 

 

 

 만약에 위와 같이 해도 Hang이 사라지지 않을 경우. 

 

다른 터미널창을 하나 더 열어, 파라미터를 변경 후 archiver를 재시작한다.

 

SQL> alter system set log_archive_dest_state_1=defer;
System altered.
 
SQL> alter system set log_archive_dest_state_1=enable;
System altered.
 
SQL> alter system set log_archive_dest_state_2=defer;
System altered.
 
SQL> alter system set log_archive_dest_state_2=enable;
System altered.

SQL> alter system archive log stop;
System altered.
 
SQL> alter system archive log start;
System altered.
 
SQL> alter system switch logFile;
System altered. <- log switch 가 잘 되는 것을 확인 할 수 있습니다.

 

 

Print Friendly and PDF Posted by JJ*
: