새싹 DBA/Oracle

[ORACLE] ASM 아카이브로그 삭제

LIMMI 2024. 8. 30. 17:54

1. nmon을 먼저 확인하자. 

nmon은 모니터링 툴로 서버의 cpu, memory를 볼 수 있다. 

cpu, memory 사용량이 얼마 되지 않는데 db 접속이 안된다면 99.9 % 확률로 아카이브 로그에 문제가 있는거다.

(쉘에서 df -h 명령어로 사용량을 볼 수 있지만 ASM 환경은 조회되지 않는다.)

 

2. alert.log 확인

alert.log 확인 방법은 두가지가 있는데, 

  1) 직접 파일이 있는곳으로 찾아 들어가서 보는거 (보통 설치시 엔지니어분이 alias = alert (알러트로그 경로) 로 등록해심)

  2) ADRCI 접속 후 조회  > adrci >help(명령어보기) >show alert

 

3. (백업 받고) 아카이브로그 지우기 

ASM 환경에서 아카이브 로그를 지우는 것 역시 두가지 방법이 있는데

  1) RMAN 으로 지우기 ( RMAN 은 복구, 백업을 위한 프로그램으로 연습해보는 것이 좋다.)

        장점 : 절차적이고 안정적이다. 

        단점 : sqlplus 와 같은 프로그램이므로 명령어 등을 잘 알아야하고 학습해야한다.

  2) ASMCMD 에서 지우기 

        > ASMCMD > rm 파일명

        장점 : 빠르고, 직관적이다.

        단점 : 절차적이지 않다.. 주먹구구식? 정확히 언제적 아카이브로그인지 모르고 그냥 마구잡이로 백업 & 복구 & 삭제 할수도 있다. 

 

4. sqlplus 접속 후 (db 죽었을때)

SQL> startup mount ( mount 는 컨트롤 파일까지 읽는 단계) ; 

SQL> archive log list;  -- 아카이브 로그 상태 확인 ( no archive mode / archive mode )

SQL> alter database noarchivelog ;

변경 후 다시 조회

SQL> archive log list;

변경 값 확인 후 db open

SQL> alter database open;

SQL> select instance_name, status from v$instance ; 

SQL> desc v$database ( 여기서도 확인할수 있음 ) 

SQL> select LOG_MODE, open_mode from v$database ; 

 

5. ASM 사이즈 조회

grid > asmcmd

grid > lsdg