메뉴 건너뛰기

Korea Oracle User Group

Admin

Oracle VMSTAT을 이용한 CPU 사용량 활용법

에밀리오 2016.07.14 17:24 조회 수 : 891 추천:1

Oracle VMSTAT을 이용한 CPU 사용량 활용법

 

DB Version : Oracle 11.2.0.2

OS Version : AIX 6.1

 

 

 

 

(1). Table 생성

 - DB User : SYSTEM

 - Table : VMSTAT (Compress BASIC)

 - Tablespace : NEW_TABLESPACE

CREATE TABLE SYSTEM.VMSTAT
(
  HOSTNAME    VARCHAR2(30 BYTE),
  TIMESTAMP   DATE,
  KTHR_R      VARCHAR2(30 BYTE),
  KTHR_B      VARCHAR2(30 BYTE),
  MEMORY_AVM  VARCHAR2(30 BYTE),
  MEMORY_FRE  VARCHAR2(30 BYTE),
  PAGE_RE     VARCHAR2(30 BYTE),
  PAGE_PI     VARCHAR2(30 BYTE),
  PAGE_PO     VARCHAR2(30 BYTE),
  PAGE_FR     VARCHAR2(30 BYTE),
  PAGE_SR     VARCHAR2(30 BYTE),
  PAGE_CY     VARCHAR2(30 BYTE),
  FAULTS_IN   VARCHAR2(30 BYTE),
  FAULTS_SY   VARCHAR2(30 BYTE),
  FAULTS_CS   VARCHAR2(30 BYTE),
  CPU_US      VARCHAR2(30 BYTE),
  CPU_SY      VARCHAR2(30 BYTE),
  CPU_ID      VARCHAR2(30 BYTE),
  CPU_WA      VARCHAR2(30 BYTE)
)
TABLESPACE NEW_TABLESPACE
COMPRESS BASIC;

CREATE INDEX SYSTEM.VMSTAT_N1 ON SYSTEM.VMSTAT
(TIMESTAMP, HOSTNAME)
TABLESPACE NEW_TABLESPACE;

 

 

 

(2). Shell Script 내용 작성

  - Script Directory : /oracle/DBAWORK/DB_JOB/

  - Shell Script Name : insert_vm.sql

###################################################################
#  VMSTAT CPU Usage Insert Script
###################################################################

export ORACLE_SID=ORCL
export ORACLE_UNQNAME=ORCL
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.2
export PATH=$ORACLE_HOME/bin:/usr/bin:/usr/ccs/bin:/usr/ucb:$PATH
export ORACLE_OWNER=oracle
export DATE=`date +'%Y%m%d%H%M%S'`
export HOST=`hostname`
export OUTPUT=/oracle/DBAWORK/DB_JOB/insert_vm.sql

echo " insert into system.vmstat values ('${HOST}',sysdate,`vmstat 1 2 | tail -1 | awk '/ /{print $1","$2","$3","$4","$5","$6","$7","$8","$9","$10","$11","$12","$13","$14","$15","$16","$17 }' `) ; " > $OUTPUT

sqlplus / as sysdba <<EOF
@/oracle/DBAWORK/DB_JOB/insert_vm.sql
commit;
EOF

 

 

 

(3). OS에 contrab 등록

  - 30s 단위로 저장할수 있게 crontab이 등록

  - chmod 변경

## vmstat information
* * * * * /oracle/DBAWORK/DB_JOB/insert_vm.sh & sleep 30; /oracle/DBAWORK/DB_JOB/insert_vm.sh >> /dev/null

vi /oracle/DBAWORK/DB_JOB/insert_vm.sh
chmod 700 /oracle/DBAWORK/DB_JOB/insert_vm.sh

 

 

번호 제목 글쓴이 날짜 조회 수
15 수집된 통계가 바로 반영되지 않고 원할 때 반영하도록 하는 방식 명품관 2023.04.04 268
14 ORA-28014: Cannot Drop Administrative Users 에러 현상 [1] 명품관 2023.03.27 412
13 ORA-3136 inbound connection time out & JDBC Io exception: Connection reset [1] Talros 2023.02.24 685
12 mbr(multi block read) 과 sbr(single block read) 사이에 과연 어떤 방식을 선택해야 할까요? [1] 명품관 2022.09.16 340
11 Schema password 재 사용 불가능 하게 하기 [1] Talros 2022.01.26 1287
10 RECO 프로세스 트레이스 발생 하면서 ORA-02019 에러 발생시 명품관 2021.01.12 997
9 OS 터미널 접속 없이 오라클 접속을 통해 OS CPU 사용율 모니터링 하기 [3] file 명품관 2020.12.22 813
8 SQL Plan Management(SPM) - 3 Manual Plan Capture 명품관 2020.06.01 650
7 SQL Plan Management(SPM) - 2 DBMS_SPM.CONFIG로 필터링 file 명품관 2020.03.26 589
6 SQL Plan Management(SPM) - 1 파라미터의 기능 확인 명품관 2020.03.19 986
5 Oracle Resource Limit를 이용한 간단한 Parameter Check (GV$RESOURCE_LIMIT) 에밀리오 2016.07.15 2236
» Oracle VMSTAT을 이용한 CPU 사용량 활용법 에밀리오 2016.07.14 891
3 Kill Session Script (GV$SESSION) 에밀리오 2016.07.12 2126
2 Active Session History를 이용한 TOP SQL 분석 (GV$ACTIVE_SESSION_HISTORY) 에밀리오 2016.07.12 1195
1 Alert Log를 SQL 사용하여 보기 (X$DBGALERTEXT) [1] 에밀리오 2016.01.28 2020
위로