티스토리 뷰

Oracle

[Oracle] 오라클 점검

정짱 정뚱띵 2018.02.02 09:34
[Oracle] 점검하기

  • Library Cache Miss Ratio
Executions - The number of times a pin was requested for objects of this namespace.
Cache Misses - Any pin of an object that is not the first pin performed since the object handle was created, and which requires loading the object from disk.

Hit Ratio 1% 미만이어야 한다. 그렇지 않으면 init.ora 에서 SHARED_POOL_SIZE 가 증가한다.

SQL> SELECT sum(PINS) Executions, sum(RELOADS) cache_misses, sum(RELOADS) / sum(PINS) miss_ratio
2> FROM v$librarycache

  • Data Dictionary Miss Ratio
GETS - Data를 요구시 Dictionary Cache에서 읽은 횟수이다. GETMISSES  -  Dictionary Cache에서 데이터를 요구 했는데 찾지 못한 경우의 횟수이다.
Data Dictionary Miss Ratio < 9.8%
                                           V$rowcache.getmisses * 100  Data Dictionary Miss Ratio =        --------------------------                                            V$rowcache.gets 

SQL> SELECT trunc(sum(getmisses) / sum(gets)*100,5) || '& (less than 9.8%)' "Data Dictionary Miss Ratio "
2> FROM v$rowcache;

  • Data Dictionary Hit Ratio
SQL> SELECT (1-sum(getmisses)/sum(gets))*100 "Data Dictionary Hit Ratio" 2> FROM v$rowcache;

  • Disk Physcial I/O
V$FILESTAT의 사용‰ 각각의 file에 대해 disk I/O 회수를 확인할 수 있다. 
File# : File Number 
Phyrds : physical read의 횟수이다.
Phywrts : physical write의 횟수이다.
Phyblkrd : physical read한 block의 개수이다. 
Phyblkwrt : physical write한 block의 개수이다.
Readtim : read하는 데 소요된 시간이다.
Writetim : write하는 데 소요된 시간이다.
SQL> SELECT d.tablespace_name TABLESPACE_NAME, 
2> d.file_name, f.phyrds, f.phyblkrd, 
3> f.readtim, f.phywrts, f.phyblkwrt, 
4> f.writetim 
5> FROM v$filestat f, dba_data_files d 
6> WHERE f.file# = d.file_id 
7> order by tablespace_name, file_name;
(이게 맞나..?확실히 모르겠다.)

  • Rollback Segments Wait Ratio
Wait Ratio가 1~2% 이하 이어야 한다.  1~2%보다 크면 ROLLBACK SEGMENT의 갯수를 늘려주어야 한다. 
SQL> SELECT name,trunc(waits/gets*100, 5) as ratio 2> FROM v$rollstat, v$rollname
3> WHERE v$rollstat.usn = v$rollname.usn;

  • Tablespace - free space.sql
아래 SQL * Plus 스크립트는 할당 된 공간, 여유 공간 및 각 테이블 공간에 대한 여유 공간의 백분율을 표시한다.
SQL> SELECT
2> df.tablespace_name,
3>  df.file_name,
4> df.bytes/1024 Allocated_kb,
5>  free.free_kb,
6>  Round(free.free_kb/(df.bytes/1024)*100) Percent_Free
7> FROM
8> dba_data_files df,
9> (SELECT file_id, SUM(bytes)/1024 free_kb
10> FROM dba_free_space GROUP BY file_id) free
11> WHERE
12> df.file_id=free.file_id
13> ORDER BY
14> Percent_Free;

  • Tablespace 단편화 현상
SQL> SELECT TABLESPACE_NAME, TOTAL_EXTENTS, PERCENT_EXTENTS_COALESCED 2>FROM DBA_FREE_SPACE_COALESCED;
PERCENT_EXTENTS_COALESCED값이 100으로 되어있으면 이것은 단편화현상이 없다는 것
만약 수치가 많이 떨어져있다면 
SQL> ALTER TABLESPACE USERS COALESCE;
명령어를 여러번주면 된다.

  • Alert Log 확인하기
데이터베이스 시작과 종료한 시기,
백그라운드 프로세스 시작,
인스턴스에서 사용중인 스레드,
로그 스위치에 대한 정보,
실행된 명령문,
Alert Log 에 기록된다.
SQL> show parameter p_d;

  • 참고


댓글
공지사항
«   2018/10   »
  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
28 29 30 31      
Total
119,955
Today
45