메뉴 건너뛰기

Korea Oracle User Group

Admin

OS 터미널 접속 없이 오라클 접속을 통해 OS CPU 사용율 모니터링 하기

 

간혹 사이트 지원을 나가다 보면 OS 접속을 허용하지 않는 곳이 있다.

그럴 경우 OS 자원에 대한 사용율을 모니터링 할 필요가 있을 때 꽤나 답답한 상황에 부딫힐 수 있다.

 

이럴 경우 아래 방식으로 오라클 클라이언트 접속으로 OS CPU 사용율을 모니터링 할 수 있다.

오라클에서 제공하는 딕셔너리 정보를 사용해야하기 때문에 이 역시 사이트에서 허용하지 않는 정책이라면

이 부분도 사용할 수 없다.

허나 이런 경우라면 도데체 어떤 방식으로 지원하라고 하는건지? 

이런 부분은 협의를 해야할 것이다.

 

1. Window 환경

 

powershell 을 사용할 수 있는 환경이어야한다.

또 powershell에서 스크립트를 수행할 수 있는 보안 정책으로 되어 있어야 한다.

그리고 powershell을 관리자 권한으로 실행해야 한다.

 

먼저 첨부된 파일의 압축을 풀면 아래와 같은 파일이 나타납니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
PS C:\Users\ecros\Documents\scripts\mp_os_cpu_mon\mp_os_cpu_mon> dir
 
 
    디렉터리: C:\Users\ecros\Documents\scripts\mp_os_cpu_mon\mp_os_cpu_mon
 
 
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----     2021-01-07   오후 3:47          11417 cpu_usage.sql
-a----     2021-01-07   오후 5:19            270 mp_os_cpu.ps1
-a----     2021-01-14   오후 4:23            213 mp_os_cpu.sh
-a----     2021-01-07   오후 5:21             72 mp_os_cpu_mon.ps1
-a----     2021-01-14   오후 4:17             40 mp_os_cpu_mon.sh
cs

 

mp_os_cpu_mon.ps1 을 아래와 같이 실행하면 결과를 확인할 수 있습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
PS C:\Users\ecros\Documents\scripts\mp_os_cpu_mon\mp_os_cpu_mon> .\mp_os_cpu_mon.ps1 system oracle mprac 2
-----------------------------------------------------------------------------------
|                                20210114 17:05:59                                |
-----------------------------------------------------------------------------------
|No|       Name      |CPU[%]|Load|Vi[mb]|Vo[mb]|TotalMem[mb]|FreeMem[mb]|CPU[core]|
-----------------------------------------------------------------------------------
| 1|    MPRAC1(OPEN) |    5 |1.7 |    0 |    0 |       9675 |    416(0|       4 |
| 2|    MPRAC2(OPEN) |    5 |1.9 |    0 |    0 |       9675 |  810(-10|       4 |
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
|                                20210114 17:06:05                                |
-----------------------------------------------------------------------------------
|No|       Name      |CPU[%]|Load|Vi[mb]|Vo[mb]|TotalMem[mb]|FreeMem[mb]|CPU[core]|
-----------------------------------------------------------------------------------
| 1|    MPRAC1(OPEN) |    5 |1.8 |    0 |    0 |       9675 |    416(0|       4 |
| 2|    MPRAC2(OPEN) |    5 |  2 |    0 |    0 |       9675 |    814(3|       4 |
-----------------------------------------------------------------------------------
cs

 

아규먼트를 4개 가지며 의미는 아래와 같다.

 

mp_os_cpu_mon.ps1 DB유저 DB패스워드 TNS명칭 반복횟수

 

2. Linux 환경

위에서 압축을 푼 파일 중 mp_os_cpu.sh , mp_os_cpu_mon.sh , cpu_usage.sql 파일을 사용한다.

 

shell 스트립트에 실행가능하게 권한을 부여한다.

 

1
MPRAC2:/home/oracle/scripts/mp_os_cpu_mon> chmod +x mp_os_cpu*.sh
cs

 

아래와 같이 스크립트를 수행해 준다.

 

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
MPRAC2:/home/oracle/scripts/mp_os_cpu_mon> sh mp_os_cpu_mon.sh system oracle mprac 3
-----------------------------------------------------------------------------------
|                                20210114 17:32:29                                |
-----------------------------------------------------------------------------------
|No|       Name      |CPU[%]|Load|Vi[mb]|Vo[mb]|TotalMem[mb]|FreeMem[mb]|CPU[core]|
-----------------------------------------------------------------------------------
| 1|    MPRAC1(OPEN) |    5 |3.4 |    0 |    0 |       9675 |   313(-5|       4 |
| 2|    MPRAC2(OPEN) |    6 |  3 |    0 |    0 |       9675 |   910(-2|       4 |
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
|                                20210114 17:32:35                                |
-----------------------------------------------------------------------------------
|No|       Name      |CPU[%]|Load|Vi[mb]|Vo[mb]|TotalMem[mb]|FreeMem[mb]|CPU[core]|
-----------------------------------------------------------------------------------
| 1|    MPRAC1(OPEN) |    6 |3.2 |    0 |    0 |       9675 |   311(-1|       4 |
| 2|    MPRAC2(OPEN) |    5 |  3 |    0 |    0 |       9675 |    909(0|       4 |
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
|                                20210114 17:32:40                                |
-----------------------------------------------------------------------------------
|No|       Name      |CPU[%]|Load|Vi[mb]|Vo[mb]|TotalMem[mb]|FreeMem[mb]|CPU[core]|
-----------------------------------------------------------------------------------
| 1|    MPRAC1(OPEN) |    8 |2.9 |    0 |    0 |       9675 |    312(0|       4 |
| 2|    MPRAC2(OPEN) |    5 |2.8 |    0 |    0 |       9675 |    909(0|       4 |
-----------------------------------------------------------------------------------
cs

 

window와 마찬가지로 4개의 아규먼트를 가진다. 의미는 아래와 같다.

 

mp_os_cpu_mon.sh DB유저 DB패스워드 TNS명칭 반복횟수

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
25 Pga 메모리 설정관련 내용 [1] 우뽕 2021.03.05 280
24 DB option Enable / Disable 정리 방법 - Mos 참고 file 우뽕 2021.01.31 323
23 RECO 프로세스 트레이스 발생 하면서 ORA-02019 에러 발생시 명품관 2021.01.12 287
» OS 터미널 접속 없이 오라클 접속을 통해 OS CPU 사용율 모니터링 하기 [3] file 명품관 2020.12.22 426
21 SQL Plan Management(SPM) - 3 Manual Plan Capture 명품관 2020.06.01 131
20 SQL Plan Management(SPM) - 2 DBMS_SPM.CONFIG로 필터링 file 명품관 2020.03.26 316
19 SQL Plan Management(SPM) - 1 파라미터의 기능 확인 명품관 2020.03.19 221
18 [12cR2 이상] 오브젝트 이름 30자이상 사용 가능 우뽕 2020.01.22 119
17 Alert log 에서 갑자기 패치 정보가 나타나는 현상 Talros 2019.09.23 755
16 External Table 기능을 사용해 파일 읽기 명품관 2017.04.05 815
15 DBMS_SCHEDULER을 통해 OS 레벨(EXTERNAL)의 shell 수행하기 명품관 2017.04.05 1432
14 오라클 패치 정보를 조회할 수 있는 뷰 DBA_REGISTRY_SQLPATCH 명품관 2017.03.02 3571
13 Schema Password 복사 하기 Talros 2016.10.05 972
12 Block Cleanout(블럭 클린아웃) 명품관 2016.09.23 1008
11 Fixed Table에 대한 권한은 직접적으로 부여되지 않는다. 명품관 2016.08.26 1229
10 Oracle Archive log 사용량 확인(GV$ARCHIVED_LOG) [1] 에밀리오 2016.08.04 7796
9 Oracle Resource Limit를 이용한 간단한 Parameter Check (GV$RESOURCE_LIMIT) 에밀리오 2016.07.15 1551
8 Oracle VMSTAT을 이용한 CPU 사용량 활용법 에밀리오 2016.07.14 615
7 Kill Session Script (GV$SESSION) 에밀리오 2016.07.12 1668
6 Active Session History를 이용한 TOP SQL 분석 (GV$ACTIVE_SESSION_HISTORY) 에밀리오 2016.07.12 911
위로