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
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
14 | External Table 기능을 사용해 파일 읽기 | 명품관 | 2017.04.05 | 965 |
13 | DB에 생성된 ROLE의 생성 정보 확인 [2] | 명품관 | 2016.05.31 | 927 |
» | Oracle VMSTAT을 이용한 CPU 사용량 활용법 | 에밀리오 | 2016.07.14 | 907 |
11 | OS 터미널 접속 없이 오라클 접속을 통해 OS CPU 사용율 모니터링 하기 [3] | 명품관 | 2020.12.22 | 828 |
10 | ORA-3136 inbound connection time out & JDBC Io exception: Connection reset [1] | Talros | 2023.02.24 | 740 |
9 | SQL Plan Management(SPM) - 3 Manual Plan Capture | 명품관 | 2020.06.01 | 669 |
8 | Python 을 이용해 파일 업로드 해 보기 [1] | Talros | 2023.04.19 | 619 |
7 | SQL Plan Management(SPM) - 2 DBMS_SPM.CONFIG로 필터링 | 명품관 | 2020.03.26 | 605 |
6 | default 값을 포함한 컬럼 추가시 오라클 버전별 개선 사항 [1] | 명품관 | 2023.01.17 | 587 |
5 | ORA-28014: Cannot Drop Administrative Users 에러 현상 [1] | 명품관 | 2023.03.27 | 468 |
4 | mbr(multi block read) 과 sbr(single block read) 사이에 과연 어떤 방식을 선택해야 할까요? [1] | 명품관 | 2022.09.16 | 367 |
3 | 수집된 통계가 바로 반영되지 않고 원할 때 반영하도록 하는 방식 | 명품관 | 2023.04.04 | 295 |
2 | Result Cache(oracle11g NF) [6] | ocm10gr2 | 2016.03.14 | 272 |
1 | Windows 접속 에러 ORA-12638 [1] | Talros | 2024.02.14 | 123 |