AWR snapshot 데이터중 하나이다  

 

AWR

-  AWR snapshot은 기본적으로 1시간에 한번씩 기록된다
 - snapshot은 수동으로 찍을 수 있고 

      (EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();)
 - snapshot 주기도 변경가능다

     (EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval =<new_interval_in_minutes>); )
 - snapshot은 SYSAUX tablespace에 저장이 되고 
- 보관주기또한 변경 가능하다  

     (EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(retention => <new_retention_in_days>);)
 - DBA_HIST_ 로 시작하는 뷰들로 AWR snapshot의 데이터를 볼 수 있다 

 

 

view 결과 출력

   SNAP_ID	 DBID INSTANCE_NUMBER	 STAT_ID STAT_NAME							       VALUE   CON_DBID     CON_ID
---------- ---------- --------------- ---------- ---------------------------------------------------------------- ---------- ---------- ----------
      1984 1693790396		    1	    1010 VM_OUT_BYTES							    17268736 1693790396 	 0
      1984 1693790396		    1	    1011 FREE_MEMORY_BYTES						   376930304 1693790396 	 0
      1984 1693790396		    1	    1012 INACTIVE_MEMORY_BYTES						  2357469184 1693790396 	 0
      1984 1693790396		    1	    1013 SWAP_FREE_BYTES						  8575242240 1693790396 	 0
      1984 1693790396		    1	    2000 TCP_SEND_SIZE_MIN							4096 1693790396 	 0
      1984 1693790396		    1	    2001 TCP_SEND_SIZE_DEFAULT						       16384 1693790396 	 0
      1984 1693790396		    1	    2002 TCP_SEND_SIZE_MAX						     4194304 1693790396 	 0
      1984 1693790396		    1	    2003 TCP_RECEIVE_SIZE_MIN							4096 1693790396 	 0
      1984 1693790396		    1	    2004 TCP_RECEIVE_SIZE_DEFAULT					       87380 1693790396 	 0
      1984 1693790396		    1	    2005 TCP_RECEIVE_SIZE_MAX						     6291456 1693790396 	 0
      1984 1693790396		    1	    2006 GLOBAL_SEND_SIZE_MAX						     1048576 1693790396 	 0

   SNAP_ID	 DBID INSTANCE_NUMBER	 STAT_ID STAT_NAME							       VALUE   CON_DBID     CON_ID
---------- ---------- --------------- ---------- ---------------------------------------------------------------- ---------- ---------- ----------
      1984 1693790396		    1	    2007 GLOBAL_RECEIVE_SIZE_MAX					     4194304 1693790396 	 0
      1983 1693790396		    1	       0 NUM_CPUS								   8 1693790396 	 0
      1983 1693790396		    1	       1 IDLE_TIME							  3204360776 1693790396 	 0
      1983 1693790396		    1	       2 BUSY_TIME							     7761519 1693790396 	 0
      1983 1693790396		    1	       3 USER_TIME							     4754816 1693790396 	 0
      1983 1693790396		    1	       4 SYS_TIME							     2990271 1693790396 	 0
      1983 1693790396		    1	       5 IOWAIT_TIME							     4662686 1693790396 	 0
      1983 1693790396		    1	       6 NICE_TIME								 403 1693790396 	 0
      1983 1693790396		    1	      14 RSRC_MGR_CPU_WAIT_TIME 						   0 1693790396 	 0
      1983 1693790396		    1	      15 LOAD									   0 1693790396 	 0
      1983 1693790396		    1	      16 NUM_CPU_CORES								   8 1693790396 	 0

   SNAP_ID	 DBID INSTANCE_NUMBER	 STAT_ID STAT_NAME							       VALUE   CON_DBID     CON_ID
---------- ---------- --------------- ---------- ---------------------------------------------------------------- ---------- ---------- ----------
      1983 1693790396		    1	      17 NUM_CPU_SOCKETS							   8 1693790396 	 0
      1983 1693790396		    1	    1008 PHYSICAL_MEMORY_BYTES						  8200208384 1693790396 	 0
      1983 1693790396		    1	    1009 VM_IN_BYTES							     5718016 1693790396 	 0
      1983 1693790396		    1	    1010 VM_OUT_BYTES							    17268736 1693790396 	 0
      1983 1693790396		    1	    1011 FREE_MEMORY_BYTES						   385167360 1693790396 	 0
      1983 1693790396		    1	    1012 INACTIVE_MEMORY_BYTES						  2357760000 1693790396 	 0
      1983 1693790396		    1	    1013 SWAP_FREE_BYTES						  8575242240 1693790396 	 0
      1983 1693790396		    1	    2000 TCP_SEND_SIZE_MIN							4096 1693790396 	 0
      1983 1693790396		    1	    2001 TCP_SEND_SIZE_DEFAULT						       16384 1693790396 	 0
      1983 1693790396		    1	    2002 TCP_SEND_SIZE_MAX						     4194304 1693790396 	 0
      1983 1693790396		    1	    2003 TCP_RECEIVE_SIZE_MIN							4096 1693790396 	 0

...
4950 rows selected

 

 

 

4950 개의 결과값은 어떻게 나왔는가 

06:43:48 SUA@ORCL> select count(*) from ( select distinct stat_name from dba_hist_osstat);

  COUNT(*)
----------
	25

Elapsed: 00:00:00.03
06:44:34 SUA@ORCL> select count(*) from ( select distinct SNAP_ID from dba_hist_osstat);

  COUNT(*)
----------
       198

 

각 snap_id 마다 25개의 stat_name을 가지고 있다 

07:17:29 SUA@ORCL>  select distinct stat_name from dba_hist_osstat order by stat_name;

STAT_NAME
----------------------------------------------------------------
BUSY_TIME
FREE_MEMORY_BYTES
GLOBAL_RECEIVE_SIZE_MAX
GLOBAL_SEND_SIZE_MAX
IDLE_TIME
INACTIVE_MEMORY_BYTES
IOWAIT_TIME
LOAD
NICE_TIME
NUM_CPUS
NUM_CPU_CORES
NUM_CPU_SOCKETS
PHYSICAL_MEMORY_BYTES
RSRC_MGR_CPU_WAIT_TIME
SWAP_FREE_BYTES
SYS_TIME
TCP_RECEIVE_SIZE_DEFAULT
TCP_RECEIVE_SIZE_MAX
TCP_RECEIVE_SIZE_MIN
TCP_SEND_SIZE_DEFAULT
TCP_SEND_SIZE_MAX
TCP_SEND_SIZE_MIN
USER_TIME
VM_IN_BYTES
VM_OUT_BYTES

25 rows selected.

 

 

 

컬럼은 무엇을 의미하는가 


- SNAP_ID : Unique snapshot ID 
 - snapshot의 공유값

- DBID : Database ID for the snapshot
 - DB 생성 시 결정 
 - SELECT dbid FROM v$database; 으로 확인 가능 

- INSTANCE_NUMBER : Instance number for the snapshot
 - RAC 나 Data Guard , CDB내의 PDB 일 경우 instance 마다 고유값이 있다 
 - SELECT INSTANCE_NUMBER, INSTANCE_NAME FROM V$INSTANCE;
 - [RAC] SELECT INSTANCE_NUMBER, INSTANCE_NAME, HOST_NAME FROM GV$INSTANCE;

- STAT_ID : Statistic ID
 - 상태의 고유값

- STAT_NAME : Statistic name
 - 상태 이름 

- VALUE : Statistic value
 - 상태 값 

- CON_DBID : The database ID of the PDB for the sampled session
 - 멀티테넌트 환경에서 의미 있음 pdb의 고유값 

- CON_ID : The ID of the container that CON_DBID identifies. Possible values include:
 - 멀티테넌트 환경에서 container의 값 

 

 

25개의 STAT은 무엇을 의미하는가 

 

 cpu

SYS_TIME: 시스템 모드에서 실행된 시간.
USER_TIME: 사용자 모드에서 실행된 시간.
BUSY_TIME: 시스템이 작업 중인 시간.
 - USER_TIME + SYS_TIME
IDLE_TIME: 시스템이 유휴 상태로 있었던 시간.
IOWAIT_TIME: 시스템이 I/O 작업을 기다린 시간.
LOAD: 시스템의 현재 작업 부하.
NICE_TIME: nice 우선순위로 실행된 작업에 소비된 시간.
NUM_CPUS: 시스템에 있는 CPU의 총 개수.
NUM_CPU_CORES: 시스템에 있는 CPU 코어의 총 개수.
NUM_CPU_SOCKETS: 시스템에 있는 CPU 소켓의 총 개수.
RSRC_MGR_CPU_WAIT_TIME: 리소스 관리자에 의해 CPU 사용을 기다린 시간.


memory 

FREE_MEMORY_BYTES: 시스템에서 사용 가능한 여유 메모리의 바이트 수.
INACTIVE_MEMORY_BYTES: 사용되지 않는 메모리의 바이트 수.
PHYSICAL_MEMORY_BYTES: 시스템의 물리적 메모리의 총 바이트 수.
SWAP_FREE_BYTES: 사용 가능한 스왑 공간의 바이트 수.
VM_IN_BYTES: 가상 메모리로의 입력 바이트 수.
VM_OUT_BYTES: 가상 메모리로부터의 출력 바이트 수.


network

GLOBAL_RECEIVE_SIZE_MAX: 글로벌 수신 버퍼의 최대 크기.
GLOBAL_SEND_SIZE_MAX: 글로벌 전송 버퍼의 최대 크기.
TCP_RECEIVE_SIZE_DEFAULT: TCP 수신 버퍼의 기본 크기.
TCP_RECEIVE_SIZE_MAX: TCP 수신 버퍼의 최대 크기.
TCP_RECEIVE_SIZE_MIN: TCP 수신 버퍼의 최소 크기.
TCP_SEND_SIZE_DEFAULT: TCP 전송 버퍼의 기본 크기.
TCP_SEND_SIZE_MAX: TCP 전송 버퍼의 최대 크기.
TCP_SEND_SIZE_MIN: TCP 전송 버퍼의 최소 크기.

 

 

 

- AWR에서는 1시간에 한번씩 찍히는거라 의미없다 사실 잘안봄
- WIO : wait IO 
- OS 정보 감잡는 정도