일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- #일본어메일 #바로써먹는일본어 #일본어회화 #비즈니스일본어 #일본어공부 #실용일본어 #이메일매너 #일본어표현
- #일본어문법 #たい문법 #n4문법 #희망표현 #일본어회화 #jlpt #일본어공부 #중급문법 #실용일본어 #욕구표현
- #jlpt #n4 #일본어 #중급문법 #일본어시험 #조건표현 #경어 #실전연습 #일본어회화 #일본어공부
- #일본어문법 #らしい문법 #n4문법 #추측표현 #일본어회화 #jlpt #일본어공부 #중급문법 #실용일본어 #문법정복
- #문법 #일본어 #일어 #일본
- #나가사키여행 #메가네바시 #일본여행 #혼자여행 #포토스팟 #일본문화 #여행후기 #나가사키맛집 #안경다리 #일본관광
- 태그: #jlpt #n3 #일본어 #중급문법 #일본어시험 #양보표현 #복합문법 #실전연습 #일본어회화 #일본어공부
- #jlpt #n1 #일본어 #최고급문법 #일본어시험 #고급일본어 #실전연습 #문법정복 #문어체 #비즈니스일본어
- #여행한자 #일본여행 #일본어한자 #jlpt #일본어공부 #여행일본어 #한자학습 #실용일본어 #관광한자 #한자암기
- #일본식당예약 #일본여행 #일본어회화 #바로써먹는일본어 #여행일본어 #실용일본어 #일본어공부 #일본맛집
- #일본요리 #요리일본어 #일본어회화 #바로써먹는일본어 #생활일본어 #실용일본어 #일본어공부 #요리교실
- 태그: #일본식당일본어 #일본어회화 #바로써먹는일본어 #여행일본어 #실용일본어 #일본어공부 #식당표현 #점원일본어 #일본맛집 #여행준비
- #산마르짜노 #신퀀타 #블랙에디션 #이탈리아와인 #풀리아 #프리미티보 #네그로아마로 #풀바디와인 #베리향 #와인추천 #프리미엄와인 #와인리뷰 #이탈리아남부 #홈와인 #와인페어링
- 태그: #미술한자 #일본어한자 #미술관일본어 #jlpt #일본어공부 #예술일본어 #한자학습 #실용일본어 #갤러리일본어 #미술감상
- 태그: #일본어문법 #結果문법 #n3문법 #인과관계표현 #일본어회화 #jlpt #일본어공부 #고급문법 #비즈니스일본어 #학술일본어
- #일본어문법 #ので문법 #n4문법 #이유표현 #정중표현 #jlpt #일본어공부 #비즈니스일본어 #실용일본어 #일본어중급
- #일본여행 #환전일본어 #일본어회화 #바로써먹는일본어 #여행일본어 #실용일본어 #일본어공부 #여행준비
- 태그: #생활용품한자 #일본어한자 #jlpt #일본어공부 #생활일본어 #한자학습 #실용일본어 #일본생활 #한자암기 #일본쇼핑
- #jlpt #n5 #일본어 #기초문법 #일본어시험 #초급일본어 #실전연습 #문법기초 #일본어회화 #일본어공부
- #jlpt #n2 #일본어 #최고급문법 #일본어시험 #양보표현 #복합문법 #실전연습 #학술일본어 #비즈니스일본어
- #일본어문법 #そうだ문법 #n4문법 #추측표현 #일본어회화 #jlpt #일본어공부 #중급문법 #실용일본어 #외견추측
- #일본어공부 #주차장일본어 #렌터카여행 #일본여행 #실용일본어 #여행일본어 #일본주차 #주차장표현 #일본어회화 #여행팁
- 태그: #반려동물한자 #펫케어일본어 #일본어한자 #jlpt #일본어공부 #반려동물일본어 #한자학습 #실용일본어 #펫샵일본어 #한자암기
- #일본어문법 #のに문법 #n3문법 #대조표현 #양보표현 #jlpt #일본어공부 #감정표현 #실용일본어 #일본어중급
- #일본어문법 #を문법 #に문법 #조사완전정복 #n5문법 #일본어기초 #jlpt #일본어공부 #기초문법 #실용일본어
- #간염 #b형 #간암 #절제 #간경화
- #일본어 #한자 #일어 #일본
- #오토코야마 #남산사케 #홋카이도사케 #니혼슈 #일본술 #사케 #준마이다이긴죠 #몽드셀렉션 #삿포로여행 #사케추천 #일본여행선물 #이마트사케 #홋카이도여행
- 태그: #일본사케 #ひやしぼり #사케리뷰 #최고금상 #프리미엄사케 #와인글래스사케 #일본술 #사케추천 #홈술 #사케페어링
- 태그: #여름한자 #계절한자 #일본어한자 #jlpt #일본어공부 #여름일본어 #한자학습 #실용일본어 #계절표현 #한자암기
- Today
- Total
일상과 여행 사이, 작은 발견들을 기록합니다
🔍 OSW(Oracle System Watcher)란? 숨겨진 성능 모니터링의 보석! 💎 본문
🔍 OSW(Oracle System Watcher)란? 숨겨진 성능 모니터링의 보석! 💎
안녕하세요! 오라클 성능 튜닝의 세계로 오신 것을 환영합니다! 👋
오라클 데이터베이스를 운영하다 보면 "어? 갑자기 왜 느려졌지?" 하는 상황을 자주 마주하죠. 그럴 때마다 "그때 시스템이 어떤 상태였는지 알 수 있다면..." 하고 아쉬워한 적 있으신가요? 😅
바로 그런 고민을 해결해주는 게 **OSW(Oracle System Watcher)**입니다! 마치 시스템의 블랙박스 같은 역할을 하는 이 놀라운 도구에 대해 재미있게 알아보겠습니다! 🚀
OSW가 뭔가요? 🤔
**Oracle System Watcher(OSW)**는 오라클에서 제공하는 무료 시스템 모니터링 도구입니다!
쉽게 말하면...
- 자동차의 블랙박스 같은 역할 📹
- 의사의 심전도 모니터 같은 역할 💓
- 보안카메라 같은 역할 📱
시스템에서 일어나는 모든 일들을 조용히 기록해두었다가, 문제가 생겼을 때 "그때 뭔 일이 있었나?" 하고 찾아볼 수 있게 해주는 똑똑한 도구예요!
OSW의 마법 같은 기능들 ✨
1. 24시간 자동 감시 👁️🗨️
- 잠들지 않는 파수꾼처럼 계속 모니터링
- CPU, 메모리, I/O, 네트워크 모든 것을 추적
- 문제 발생 순간도 놓치지 않음!
2. 시간대별 상세 분석 📈
오전 9시: CPU 사용률 30% (정상)
오전 10시: CPU 사용률 95% (문제 발생!)
오전 11시: CPU 사용률 25% (정상 복구)
3. 다양한 시스템 정보 수집 📊
- CPU: 사용률, 대기시간, 컨텍스트 스위치
- 메모리: 사용량, 페이지 스왑, 버퍼 상태
- 디스크: I/O 대기, 처리량, 응답시간
- 네트워크: 패킷 전송률, 에러율
- 프로세스: 개별 프로세스 리소스 사용량
OSW 설치하기 - 생각보다 쉬워요! 🛠️
1단계: OSW 다운로드
# Oracle MOS(My Oracle Support)에서 다운로드
# 또는 이미 설치된 Oracle Grid Infrastructure에 포함
cd $ORACLE_HOME/oswbb
2단계: 설치 및 시작 (정말 간단!)
# OSW 시작 (기본 설정: 30초 간격, 48시간 보관)
./startOSWbb.sh
# 사용자 정의 설정
./startOSWbb.sh 60 72 # 60초 간격, 72시간 보관
3단계: 확인
# OSW가 실행 중인지 확인
ps -ef | grep OSW
# 로그 파일 확인
ls -la archive/
이게 끝이에요! 😎
실무에서 OSW 활용하기 - 진짜 케이스들! 💼
케이스 1: "오전 10시마다 느려져요!" 😰
상황: 매일 오전 10시만 되면 시스템이 느려진다는 사용자 불만
OSW로 분석:
# 오전 10시 전후 CPU 상태 확인
grep "10:0" archive/*/oswcpu.dat
# 결과: 오전 10시에 백업 스크립트가 실행되면서 CPU 100% 점유!
# 해결: 백업 스케줄을 새벽 시간으로 변경
케이스 2: "갑자기 ORA-00600 에러가!" 💥
상황: 설명할 수 없는 오라클 에러 발생
OSW로 분석:
# 에러 발생 시점 메모리 상태 확인
grep "14:30" archive/*/oswmeminfo.dat
# 결과: 메모리 부족으로 시스템 스왑 발생!
# 해결: SGA 크기 조정 및 메모리 증설
케이스 3: "디스크가 느린 것 같아요" 🐌
상황: 쿼리 응답시간이 평소보다 10배 느림
OSW로 분석:
# I/O 대기시간 확인
grep "svctm\|await" archive/*/oswiostat.dat
# 결과: 특정 디스크의 응답시간이 200ms! (정상: 5ms)
# 해결: 디스크 하드웨어 점검 및 교체
OSW 고급 활용법 - 진짜 고수되기! 🎓
1. 자동 분석 스크립트 만들기
#!/bin/bash
# daily_osw_check.sh
DATE=$(date +%Y%m%d)
LOG="/var/log/osw_daily_${DATE}.log"
echo "=== OSW Daily Report $(date) ===" > $LOG
# CPU 평균 사용률
echo "Average CPU Usage:" >> $LOG
grep "$(date +%d)" archive/*/oswcpu.dat | awk '{sum+=$3; count++} END {print sum/count "%"}' >> $LOG
# 메모리 사용량
echo "Memory Usage:" >> $LOG
tail -1 archive/*/oswmeminfo.dat >> $LOG
# 디스크 I/O 현황
echo "Disk I/O Status:" >> $LOG
tail -1 archive/*/oswiostat.dat >> $LOG
# 메일 발송
mail -s "OSW Daily Report" dba@company.com < $LOG
2. 성능 임계값 알림 설정
#!/bin/bash
# osw_alert.sh
# CPU 사용률 90% 이상 시 알림
CPU_USAGE=$(tail -1 archive/*/oswcpu.dat | awk '{print $3}')
if [ $(echo "$CPU_USAGE > 90" | bc) -eq 1 ]; then
echo "ALERT: CPU usage is ${CPU_USAGE}%" | mail -s "High CPU Alert" admin@company.com
fi
# 메모리 사용률 95% 이상 시 알림
MEM_USAGE=$(tail -1 archive/*/oswmeminfo.dat | awk '{print $4/$2*100}')
if [ $(echo "$MEM_USAGE > 95" | bc) -eq 1 ]; then
echo "ALERT: Memory usage is ${MEM_USAGE}%" | mail -s "High Memory Alert" admin@company.com
fi
3. 그래프로 시각화하기
# OSW 데이터를 CSV로 변환
awk '{print $1","$2","$3}' archive/*/oswcpu.dat > cpu_data.csv
# Excel이나 Grafana로 그래프 생성
# 시간대별 CPU/메모리 사용률 트렌드 분석
OSW vs 다른 모니터링 도구들 🥊
구분 OSW top/htop sar AWR
실시간 모니터링 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐ |
이력 분석 | ⭐⭐⭐⭐⭐ | ⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
오라클 특화 | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
설치 편의성 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
비용 | 무료! 🎉 | 무료 | 무료 | 라이선스 필요 |
결론: OSW는 "무료로 쓸 수 있는 가성비 최고의 모니터링 도구"! 💝
OSW 사용 시 꿀팁들 🍯
👍 Do (이렇게 하세요!)
- 적절한 수집 간격 설정
- # 일반적인 환경: 30-60초 ./startOSWbb.sh 30 # 고부하 환경: 10-15초 ./startOSWbb.sh 15
- 충분한 보관 기간 설정
- # 최소 7일, 권장 30일 ./startOSWbb.sh 30 720 # 30초 간격, 30일 보관
- 로그 로테이션 설정
- # crontab에 추가 0 1 * * * find /oracle/oswbb/archive -mtime +30 -delete
⚠️ Don't (하지 마세요!)
- 너무 짧은 수집 간격: 5초 이하는 시스템 부하 유발
- 로그 방치: 디스크 가득 참 주의!
- 분석 없는 수집: 모으기만 하고 분석 안 하기
문제 해결 - 이런 상황에는 이렇게! 🚨
Q: "OSW가 갑자기 멈췄어요!" 😱
# 1. 프로세스 확인
ps -ef | grep OSW
# 2. 디스크 공간 확인
df -h
# 3. 권한 확인
ls -la $ORACLE_HOME/oswbb
# 4. 재시작
./stopOSWbb.sh
./startOSWbb.sh
Q: "로그 파일이 너무 커요!" 📂💥
# 압축 보관
gzip archive/*/*.dat
# 오래된 파일 삭제
find archive/ -mtime +7 -name "*.dat" -delete
# 수집 간격 조정
./stopOSWbb.sh
./startOSWbb.sh 60 # 30초 → 60초로 변경
Q: "어떤 데이터를 봐야 할지 모르겠어요!" 🤷♂️
# 기본 체크 리스트
1. oswcpu.dat → CPU 사용률 확인
2. oswmeminfo.dat → 메모리 상태 확인
3. oswiostat.dat → 디스크 I/O 확인
4. oswnetstat.dat → 네트워크 상태 확인
5. oswtop.dat → 프로세스별 리소스 사용량
실제 현업에서 OSW로 해결한 케이스들 🏆
Case Study 1: 미스터리한 성능 저하 🕵️♂️
문제: 매주 화요일마다 오후 2시에 시스템 응답속도 10배 저하 OSW 분석: oswiostat.dat에서 화요일 오후 2시에 I/O wait 급증 발견 원인: 주간 풀백업과 증분백업이 겹치는 시간 해결: 백업 스케줄 조정으로 문제 해결! 🎉
Case Study 2: 메모리 릭 발견 💧
문제: 서버 재시작 후 며칠 지나면 OOM(Out of Memory) 발생 OSW 분석: oswmeminfo.dat에서 지속적인 메모리 사용량 증가 패턴 발견 원인: 애플리케이션의 메모리 릭 해결: 개발팀과 협업하여 메모리 릭 코드 수정! 🔧
Case Study 3: 네트워크 병목 🌐
문제: 특정 시간대에 쿼리 타임아웃 다발 발생 OSW 분석: oswnetstat.dat에서 네트워크 패킷 드롭 발견 원인: 스위치 포트 duplex mismatch 해결: 네트워크 설정 수정으로 문제 해결! 📡
마무리: OSW와 함께하는 안정적인 시스템 운영! 🎯
OSW는 정말 **"모르면 손해, 알면 득"**인 도구예요!
OSW의 핵심 가치
- 예방: 문제가 발생하기 전에 패턴 파악
- 진단: 문제 발생 시 정확한 원인 분석
- 최적화: 성능 튜닝을 위한 데이터 제공
- 안정성: 24/7 무중단 모니터링
시작해보세요!
- 오늘 당장 OSW 설치하기
- 1주일 데이터 수집 후 패턴 분석
- 임계값 알림 설정하기
- 정기적인 리포트 작성하기
무료로 이런 강력한 도구를 쓸 수 있다니! 정말 오라클의 선물 같은 도구죠! 🎁
혹시 OSW 사용하면서 궁금한 점이나 재미있는 케이스가 있으시면 댓글로 공유해주세요! 함께 배우고 성장하는 DBA 커뮤니티를 만들어요! 💪
다음 포스팅에서는 OSW 데이터로 성능 튜닝하는 고급 기법에 대해 다뤄볼게요! 기대해 주세요! 🚀✨
📚 유용한 참고 자료
- Oracle MOS: Doc ID 301137.1 (OSW 공식 가이드)
- OSW 분석 도구: OSWatcher Black Box Analysis
- 커뮤니티: Oracle Community Forums
- 교육: Oracle University OSW 과정
'Oracle_Unix_Server' 카테고리의 다른 글
Solaris 11.4 NFS, 넌 누구냐? 🤔 (2) | 2025.06.04 |
---|---|
Solaris 11.4 Explorer: 시스템 진단의 슈퍼히어로 🦸♂️ (1) | 2025.06.03 |
🚀 ZFS 마스터되기! detach, offline, destroy로 디스크 길들이기 💾✨ (4) | 2025.06.02 |
ZPOOL 미러 vs 스트레이프: 디스크들의 팀워크 대결! 🚀 (7) | 2025.06.02 |
🌐 Solaris 11.4 Gateway 설정법 완벽 가이드 (0) | 2025.06.01 |