메뉴 건너뛰기

Korea Oracle User Group

Admin

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

에밀리오 2016.07.14 17:24 조회 수 : 887 추천: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

 

 

번호 제목 글쓴이 날짜 조회 수
34 Oracle Archive log 사용량 확인(GV$ARCHIVED_LOG) [1] 에밀리오 2016.08.04 11144
33 내가 돌린 SQL ID 찾기 [1] Talros 2016.05.12 8780
32 DBMS_SCHEDULER을 통해 OS 레벨(EXTERNAL)의 shell 수행하기 명품관 2017.04.05 5757
31 오라클 패치 정보를 조회할 수 있는 뷰 DBA_REGISTRY_SQLPATCH 명품관 2017.03.02 5465
30 Schema Password 복사 하기 Talros 2016.10.05 3260
29 Fixed Table에 대한 권한은 직접적으로 부여되지 않는다. 명품관 2016.08.26 2665
28 [12cR2 이상] 오브젝트 이름 30자이상 사용 가능 우뽕 2020.01.22 2446
27 Oracle Resource Limit를 이용한 간단한 Parameter Check (GV$RESOURCE_LIMIT) 에밀리오 2016.07.15 2235
26 Partition 추가의 계절 - Range Partition 추가시 알아 두어야할 부분 [1] 명품관 2015.12.03 2208
25 Kill Session Script (GV$SESSION) 에밀리오 2016.07.12 2125
24 Alert Log를 SQL 사용하여 보기 (X$DBGALERTEXT) [1] 에밀리오 2016.01.28 2016
23 Pga 메모리 설정관련 내용 [1] 우뽕 2021.03.05 1778
22 Alert log 에서 갑자기 패치 정보가 나타나는 현상 Talros 2019.09.23 1635
21 테이블 컬럼의 Default 값에 대한 흔적은 Dictionary에 계속 남게 된다. 명품관 2016.04.05 1584
20 Block Cleanout(블럭 클린아웃) 명품관 2016.09.23 1485
19 Schema password 재 사용 불가능 하게 하기 [1] Talros 2022.01.26 1279
18 DB option Enable / Disable 정리 방법 - Mos 참고 file 우뽕 2021.01.31 1208
17 Active Session History를 이용한 TOP SQL 분석 (GV$ACTIVE_SESSION_HISTORY) 에밀리오 2016.07.12 1194
16 RECO 프로세스 트레이스 발생 하면서 ORA-02019 에러 발생시 명품관 2021.01.12 989
15 SQL Plan Management(SPM) - 1 파라미터의 기능 확인 명품관 2020.03.19 980
위로