메뉴 건너뛰기

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명칭 반복횟수

 

 

 

 

위로