튜닝및모니터링 Monitor Shell(tm) 사용자안내서 2016. 01. 04
Monitor Shell(tm) 사용자안내서 0. 안내서에대하여 본문서에서는엔지니어용 Monitor Tool 인 Monitor Shell 에대한각메뉴설명을기술합니다. 개요 Monitor Shell( 이하 tm) 은티베로엔지니어가기술지원시 DB 의여러정보를확인하기위한 Tool 입니다. 고객용 Tool 은아니지만운영중에 DB 의정보를확인하는데보조적인역할을할수있는내용에대해서술합니다. 안내서의전제조건 본안내서는 tm 에서제공하는 DB 의여러정보에대한이해와사용을위한안내서입니다. 따라서본안내서를이해하기위해서는다음과같은사항에대한지식이필요합니다. 데이터베이스의이해 RDBMS 의이해 운영체제및시스템환경의이해 UNIX 계열 (Linux 포함 ) 의기본지식 안내서의제한조건 본안내서는 tm 에서제공하는모든정보를포함하지않고, Monitoring 하는데보조적으로쓰일만한정보에대해서만기술하고있습니다. tm의설치여부는 OS의 Shell종류에따라.profile 또는.bash_profile 에 alias tm='cd ~/tbinary/monitor;monitor;cd ' 위와같은내용이있는지, 위에서서술한경로에실제 File들이있는지를통해확인이가능합니다. tm 1.4.3 버전을기준으로작성하였으며, 버전벌로기능및출력결과가상이할수있습니다. 2
0.1 tm 실행 : tm +<enter> or sh ~/tbinary/monitor/monitor <enter> 0.1.1 Login 화면 ============================= Tibero RDBMS Monitor Ver4.3 ============================= ================================================== (Disclaimer) These scripts come without warranty of any kind. Use them at your own risk. ================================================== Enter SYS Password : tm 실행시화면입니다. tm 의원활한사용을위해 sys 계정의비밀번호를필요로합니다. 0.1.2 Login 화면 ============================= Tibero RDBMS Monitor Ver4.3 ============================= Tibero Version : 5SP1 (SQL_ID_FORMAT: column sql_id format 999999999999999) 1.GENERAL 2.SHARED MEMORY + 11 Instance/Database Info 21 Database Buffer Hit Ratio 12 Parameter Info 22 Shared Cache Hit Ratio 13 Tibero Memory Info 23 Spinlock(Latch) Hit Ratio 14 Backup Status 3.SESSION 4.WAIT EVENT/LOCK + 31 Current Session Info 41 Current Lock Info 32 Current Running Session Info 42 Hierarchical Lock Info 33 Current Running Session Wait Info 43 Hierarchical Lock Info(TAC) 34 Running Session SQL Info 44 System Event 3
35 Current Transaction 45 Session Event 36 Open Cursor 46 Session Wait 37 Current Session(TAC) 47 Sysstat 38 Current Running Session(TAC) 48 Jcntstat 39 Current Running Session Wait(TAC) 49 Redo Nowait Info 5.SPACE 6.I/O + 51 Database File Info 61 File I/O Info 52 Tablespace Usage 62 Session I/O Info 53 Undo Segment Usage 63 Archivelog Count 54 Temp Segment Usage 7.OBJECT 8.SQL + 71 Schema Object Count 81 SQL Plan(Input SQL_ID) 72 Object Invalid Count 82 Top SQL 73 Object Invalid Object 83 Check Static Query Pattern 74 Segment Size(Top 50) 9.APM (Use Carefully) 0.OTHER + 91 Create APM Snapshot M Auto Refresh Monitoring 92 Create APM Snapshot For TAC S Save To File 93 Show APM Snapshot I Setting SQL_ID Format 94 Create APM Report X EXIT Choose the Number or Command : tm 의기본화면입니다. 원하는메뉴를선택하여 2 자리숫자또는영문자를입력하시면, 해당기능을수행합니다. 사용예 : 현재 DB 에접속된모든세션을확인할때는 31 + <enter> 4
1. GENERAL DB 의기본정보및기동시의설정값, Begin backup 여부를확인하는메뉴입니다. 1.1 Instance / Database Info DB 의기본정보를조회하는메뉴입니다. ============================ Tibero Instance Infomation ============================ Instance Name Database Name Version Status NLS Character Log Mode DB Create Time DB Uptime DBNDIV DBNDIV 5 SP1 112449 FS02 READ WRITE MSWIN949/UTF16 ARCHIVELOG 2015/11/21 08:55:03 0d 0h 2m Instance Name : 기동되어있는 Instance 의이름입니다. tibero 기동시설정된 TB_SID 값과동일합니다. Database Name : 기동되어있는 Database 의이름입니다. 최초설치후 Databaes 를생성할때설정한이름입니다. Version : 설치된 Tibero 의버전정보를의미합니다. Status : Booting Mode를출력합니다. 총 5개의 Status 값이있으며해당내용은아래와같습니다. Tibero Single, TSC의 Primary, TAC: NOMOUNT, MOUNT, READ WRITE(=NORMAL) 세가지모드로 BOOT TSC Standby : Recovery(Data 만동기화 ), READ ONLY(Data 동기화 + Select 만가능 ) 두가지중한모드로 Boot NLS Character : 데이터베이스에자료가저장될때사용되는 Encoding 으로 Create Database 구문에서결정됩니다. NLS_CHARACTERSET char, varchar 등의 Encoding NLS_NCHAR_CHARACTERSET nchar, nvarchar 의 Encoding Log Mode : Redo Log의 Archive 여부에대해출력합니다. (Archivelog, / NoArchivelog) DB Create Time : Database 생성일 DB Uptime : Tibero 가기동된시간 1.2 Parameter Info $TB_SID.tip 파일및시스템내부에서설정된파라미터값을확인하는메뉴입니다. ====================== Parameter Infomation ====================== 5
Parameter Name Value CWS_RSBTBL_SIZE 80 DB_CACHE_SIZE 357892096 DD_CACHE_MAX 53687091 EX_MEMORY_AUTO_MANAGEMENT YES EX_MEMORY_HARD_LIMIT 1 LIBRARY_CACHE_MAX 53687091 LIBRARY_DD_CACHE_MAX 107374182 LISTENER_PORT 8629 MAX_SESSION_COUNT 20 MEMORY_TARGET 1073741824 OPTIMIZER_MODE ALL_ROWS SEM_SET_COUNT 39 TOTAL_SHM_SIZE 536870912 UNDO_RETENTION 900 _CCC_RECL_MAX_DB_CACHE_SIZE 357913941 _DBWR_AFFINITY_SHIFT 5 _DB_BLOCK_HASH_BUCKETS 87399 _DIST_AGGR_HASH_BUCKET_SIZE 16 _FAST_BLOCK_CLEANOUT_MAX 220 _HASH_JOIN_BUCKET_SIZE_V 16 _RCACHE_BUCKET_COUNT 256 _WLOCK_BUCKETSET_CNT 64 _WLOCK_POOL_INIT_SIZE 400 _WTHR_PER_PROC 10 아래 5개파라미터를제외한 $TB_SID.tip 에설정되지않은파라미터들은 Memory 와 Session 값에따라시스템내부적으로변경하는파라미터들입니다. 'OPTIMIZER_MODE' 'EX_MEMORY_AUTO_MANAGEMENT' 'EX_MEMORY_HARD_LIMIT' '_WTHR_PER_PROC' 'UNDO_RETENTION' 티베로의파라미터설명은 Tibero 참조안내서 (Tibero_5SP1_Reference_Guide_v2.1.5.pdf) 에서확인가능합니다. 6
1.3 Tibero Memory Info 기동중인 Tibero 의 Memory 설정및사용정보를확인하는메뉴입니다. ===================== TSM(SGA) Infomation ===================== NAME Size SHARED MEMORY 512(MB) SHARED POOL MEMORY 113(MB) Database Buffers 341(MB) Redo Buffers 10(MB) DB_BLOCK_SIZE 8(KB) =============================== Tibero Used Memory Infomation =============================== NAME Size(MB) MEMORY_TARGET 1024 SGA(Used) 419.1 PGA(Allocated) 164.14 PGA(Used) 6.43 SHARED MEMORY : $TB_SID.tip 에설정된 TOTAL_SHM_SIZE 값입니다.(=Oracle 의 SGA와동일 ) SHARED POOL MEMORY : SHARED MEMORY 에설정된 Memory 중 SHARED POOL (SQL Cache+ Data Dictionary Cache) 에사용되는 Memory 크기입니다. Database Buffers : 실제 Data를저장하는 Memory 의크기입니다.(=Oracle 의 DB Buffer Cache 와 ). Buffer 에필요한 Data가없거나변경된 Data를저장할때 Datafile 에 I/O가발생합니다. Redo Buffers : Online RedoLog 에기록할내용을담고있는 Memory 영역의크기입니다. DB_BLOCK_SIZE : I/O의최소단위인 DB의 Block 의크기입니다. MEMORY_TARGET : DB에서사용하는전체 Memory(SGA+PGA) 크기입니다. SGA(Used) : SHARED MEMORY 중사용중인 Memory 의크기입니다. PGA(Allocated): 각세션이사용하는영역인PGA 영역중에현재할당된크기. 입니다. PGA(Used) : 현재사용된 PGA크기입니다. 7
1.4 Backup Status TableSpace 의 Online Backup 과관련된정보를확인하는메뉴입니다. =============== Backup Status =============== Tablespace Name Datafile Status Backup Time SYSTEM /tibero/tibero5/database/dbndiv/system001.dtf NOT ACTIVE 2015/11/21 08:59:28 UNDO /tibero/tibero5/database/dbndiv/undo001.dtf NOT ACTIVE 2015/11/21 08:59:28 USR /tibero/tibero5/database/dbndiv/usr001.dtf NOT ACTIVE 2015/11/21 08:59:28 _APM_TS /tibero/tibero5/database/dbndiv/apm_ts.dtf NOT ACTIVE 2015/11/21 08:59:28 Tablespace Name : 테이블스페이스의이름입니다. Datafile : 실질적으로 Data를저장하고있는 File의경로및파일이름입니다. Status : 해당테이블스페이스의 Begin Backup 여부를출력합니다. NOT ACTIVE 해당 Tablespace 가사용가능한일반상태 ACTIVE Begin backup 이된상태로, 온라인백업이가능한상태. Backup Time : 최근에 hotbackup 을수행한날짜 ( 가장마지막으로해당 Tablespace 에 Begin Backup 을수행한날짜 ). 8
2. SHARED MEMORY DB 성능과밀접한 Memory Hit 율조회하는메뉴입니다. 2.1 Database Buffer Hit Ratio DB 기동후의작업들에대해 Database Buffers(=Buffer Cache) 에대한 Hit 율을조회하는메뉴입니다. Memory 에서바로읽을수록올라가고, Datafile 에서읽어올수록떨어지며, Buffer Hit 가낮을경우 Disk I/O 로인한성능저하를유발할수있습니다. 개선책 : Memory 추가할당, Full Table Scan 을피하는방식으로 SQL 튜닝. Time Physical read Logical read Hit Status 2015/12/15 00:24:59 2896 164794 98.24 Good Time : 해당메뉴를조회한시각입니다. Physical read : 데이터 Block 을 Datafile 에서읽어온횟수를출력합니다. Logical read : 데이터 Block 을 Memory 에서만읽은횟수. 를출력합니다. Hit : 계산공식은 1 (Physical read / Logical read) * 100 Status : Hit > 90 then 'Good', 70 <= Hit <= 90 then 'Average', Hit < 70 'Not Good 2.2 Shared Cache Hit Ratio DB 기동후 Shared Cache(=Shared Pool) 에대한 Hit 율확인하는메뉴입니다. Time Name Hit(%) Status 2015/12/15 00:37:34 SQL(Library) Cache 59.41 Not Good 2015/12/15 00:37:34 Dictionary Cache 97.29 Good Time Name Used(MB) Total(MB) Memory Usage(%) 2015/12/15 00:37:34 Shared Cache Free Space 56 113 49.45 Time Soft Parse(%) 2015/12/15 00:37:34 37.18 SQL(Library) Cache : SQL 을수행할때 Soft Parsing 이차지하는비율을의미합니다. 9
DB가기동된지얼마안됐을때는큰의미를갖지못하며, 일정시간운영후의값이중요합니다. SQL Cache Hit가낮은경우 SQL을수행할때빈번하게 Hard Parsing 이발생함을의미합니다., System Resource(CPU 및 Shared Pool) 낭비와성능에악영향을미치게됩니다. 개선책 : 1. 자주사용되는 SQL들을점검하여 SQL작성시띄어쓰기, 대소문자등을통일하고, Literal Query들을 Bind 처리하는방식으로수정이필요. 2. CURSOR_SHARING=FORCE 파라미터적용 3. Memory 추가할당 Dictionary Cache : 입력되는 SQL에대한 Object 정보를 Cache 영역에서찾을비율 잦은 DDL의수행이나, 할당된 Memory 에담지못할만큼많은양의 Object 정보가필요할때 Hit율저하가나타나며, 90이상유지할것을권장권장합니다. 개선책 : Memory 추가할당 Shared Cache Free Space : Shared Cache 의여유공간으로일반적으로 10% 이상유지할것을권장합니다. 단독으로 10% 이하가되도문제는없으나, 위의 SQL Cache, Dictionary Cache Hit 가낮은 (70 이하 ) 값이있을경우 Tibero 에할당된 Memory 가부족한지점검이필요합니다. Soft Parse(%) : 사용자가실행한 SQL 에대해 Soft Parsing 이발생한비율로시스템내부적으로발생하는 SQL 은제외되 므로 SQL(Library) Cache Hit 와는차이가발생할수있습니다. 2.3 Spinlock(Latch) Hit Ratio DB 기동후 Spinlock(Latch) 에대한 Hit 율확인하는메뉴입니다. NAME Gets Misses miss(%) Sleeps slps/miss(%) wait_time(s) Nowait Request Nowait Miss(%) SPIN_SHP_ALLOC 2 2 100 2 100 0 3892.05 SPIN_SPIN_WAITER_LIST 7 1 14.29 1 100 0 0 1 SPIN_PARAM 645 0 0 0 1 0 0 1 SPIN_LOG 62 0 0 0 1 0 0 1 SPIN_FIXED_SYS_MEM_INFO 61 0 0 0 1 0 0 1 SPIN_BITQ 768 0 0 0 1 0 0 1 SPIN_ALLOC 5,383 0 0 0 1 0 0 1 SPIN_REDO_ALLOC 2,900 0 0 0 1 0 0 1 ~~ 후략 ~~ 10
각 Field 별설명 NAME : spinlock 이름을의미합니다. Gets : spinlock 요청횟수를출력합니다. Misses : spinlock 대기횟수를출력합니다. miss(%): spinlock 요청대비대기비율을출력합니다. Sleeps slps/miss(%) : 슬립후 spinlock 획득비율을출력합니다. wait_time(s) : spinlock 대기시간을출력합니다. Nowait Request : nowait 모드 spinlock 요청횟수를출력합니다. Nowait Miss(%) : nowait 모드 spinlock 실패비율을출력합니다. 주요 SPIN LOCK 설명 SPIN_REDO_WRITING : Log writer 는 Redo 로그가 Flush된이후 Waiter 리스트를검사하여 기다리고있는세션을깨우 는작업을수행하며이때두작업사이의동기화를위해사용하는 Spin Lock입니다. 만약 Redo 로그가 Write 되기를기 다려야하는경우자신을 Log writer 의 Waiter 리스트에추가합니다. SPIN_ROOT_ALLOC : 하나의프로세스내 System allocator 들중에최상위 Root allocator 를보호하기위해사용합니다. SPIN_REDO_COPY : Redo alloc lock은한 Instance 에하나밖에없는비싼 Lock이기때문에 Redo record 를 Redo 버퍼에 저장하는동안 Redo alloc spinlock 을잡고있으면성능에심각한악영향을줄수있습니다. 따라서여러 개의 Redo copy lock을두고 Alloc lock은핵심적인계산을수행할때만사용하고, 실제 Redo 로그를 Redo 버퍼에복사하는작업 을수행하는동안에는 Redo copy lock 중하나를사용합니다. SPIN_USGMT_CACHE : Undo segment 정보를메모리에 Cache로유지하는데필요한 Spinlock 입니다. usgmt add/drop 등 을동기화하는데사용합니다. SPIN_BUF_FREE_WAIT : 버퍼 Cache 에서 Free block 을찾지못한경우 Free block 이생길때까지기다려야합니다. 이때 기다리는세션은자신의정보를 Free block wait 리스트에추가하여 DB writer 가 Dirty block 을써서 Free block 이생긴경 우자신을깨워주게됩니다. 이때 Free block wait 리스트를읽거나수정할때정합성을유지하기위해사용하는 Spinlock 으로해당 Spinlock 의소요시간이높게나온경우 Cache 에 Free block 이충분히빠르게공급되고있지않음을 의미합니다. SPIN_WLOCK : WLock(Wait Lock) 을관리하기위해사용합니다. WLock은 Shared(S), Exclusive(X) 등의다양한공유모드 를지원하기때문에각각의 WLock 항목은 owner, waiter, converter 등의사용자리스트정보등을관리합니다. 이때여 러세션에서동시에 WLock 을 Acquire 하거나 Release 하려는동작을동기화하여처리하기위해사용합니다. SPIN_AUTO_COALESCE : Index 에 Key 삭제로인하여빈 Block 이생기는경우 Autocoalesce 의대상으로선정되는데, Autocoalesce 의대상으로선정된 Index segment ID를저장하기위한구조체를보호하기위해사용합니다. SPIN_MBR_POOL : Working 프로세스의워킹스레드에서 Aio 정보를담고있는 Handle 을 Control 스레드와공유하기위 해해당 Handle 의 Pool 에등록하고, Control 스레드는해당 Pool 에서 Aio handle 정보를얻어 Aio를위한완료처리를 수행합니다. 이때해당 Pool 에 Aio handle 을넣거나빼거나하는작업과 Pool 을 Scan하는작업사이의동기화를위해 사용합니다. 11
3. SESSION DB 에접속중인세션에대한정보들을확인하는메뉴입니다. 3.1 Current Session Info DB 에접속중인모든세션을조회합니다. Sid,Serial Username Status IPaddr Logon_Time Program SQL_ID Client_Pid Wthr_Pid Wthr_Id 19,8 SYS ACTIVE 127.0.0.1 2015/12/15 03:27:01 tbsql 40 13078 13041 1 20,61916 SYS ACTIVE 192.168.194.1 2015/12/15 18:50:31 tbadmin 128 1 13041 2 21,65540 TIBERO SESS_RECOV 127.0.0.1 2015/12/15 19:44:33 tbsql 15944 13041 3 ERING 22,65465 SYS ACTIVE 127.0.0.1 2015/12/15 19:43:26 tbsql 15963 13041 4 23,65617 SYS RUNNING 127.0.0.1 2015/12/15 19:45:42 tbsql 41 16126 13041 5 29,65612 SYS RUNNING 2015/12/15 19:45:37 UPDATE SESS LTIME 0 13042 1 9,5 SYS ACTIVE 2015/12/15 03:26:59 APM SESSION 0 13040 1 [Run: 2] [Tot: 7] Sid,Serial : Session Id에대한값을의미합니다.. 해당값으로 Kill Session 이나 dump 명령을수행할때사용합니다. Username : 접속된사용자이름을출력합니다 Status : ACTIVE 연결은되어있으나해당메뉴조회시점에아무런동작이없는 Session 입니다 RUNNING 해당메뉴조회시 SQL을수행중인 Session 입니다. TX_RECOVERING : Transaction 도중 DB가비정상종료가되었을때, 기동시에기존 Transaction 에대한정리를진행중인상태입니다. SESS_RECOVERING: Transaction 도중사용자에의한취소 (ex: ctrl +c또는 alter system kill session) 시해당 Transaction 에대한정리를진행중인상태입니다. ASSIGNED Wthr에 Session 이직접연결되기직전 ( 연결후에는 Active 또는 Running) 과종료시연결이끊어진직후상태로 Session 연결을위해 Wthr가할당은되었으나 wthrclient 간연결은안된상태를의미합니다. IPaddr : 접속한 Client 의 IP정보를출력합니다. Logon_Time : 해당 Session 이 DB에연결된시각을출력합니다. 12
Program : Client Program 의종류를출력합니다. SQL_ID : 해당 Session 이마지막으로수행한 ( 또는수행중인 ) SQL에대한 ID를출력합니다.. v$sqlarea 뷰에서해당 SQL을확인하거나 Monitor Shell의 81 SQL Plan(Input SQL_ID) 메뉴에서플랜확인시사용합니다. Client_Pid : Client PID 를출력합니다. Wthr_Pid : 해당 Session 이속해있는 Working Process 의 ID로 OS명령어 ps로나오는 PID와동일합니다. Wthr_Id : 해당 Session 이속해있는 Working Process 안에서실질적으로연결된 thread 의 ID를의미합니다. 3.2 Current Running Session Info 3.1Current Session Info 과동일한구성을갖고있으나현재 Transaction 을수행중 (status 가 RUNNING) 인세션정보를조 회하는메뉴입니다. 3.3 Current Running Session Wait Info 현재동작중인 Session 의대기이벤트에대해확인하는메뉴입니다. Sid,Serial Username Staus Program PGA(MB) SQL_ID SQL Wlock_Wait Wait_Event Object_Name Wait_Time(s) 21,66727 SYS RUNNING tbsql 2 151 SELECT. 0 Sid,Serial,Username,Staus,Program 은위 3.1, 3.2 메뉴와동일합니다.. PGA(MB) : 해당세션이사용중인 PGA크기를출력합니다. SQL_ID : 해당세션이현재수행중인 SQL의 ID를출력합니다. Wlock_Wait : 해당세션에대한 WLOCK 의종류를출력합니다. Wait_Event : 해당세션에대한대기이벤트의종류를출력합니다. Object_Name: 대기이벤트와관련된 Object 의이름을출력합니다. Wait_Time : 대기이벤트로인해현재까지기다린시간을출력합니다. 주요대기이벤트설명 WE_SEQ_WRITEBACK : agent 가 seq를 writeback 할때의이벤트입니다. WE_SEQ_FREESLOT : seq_buffer_ 의 free slot이없을때발생하는이벤트입니다. WE_SEQ_NEXTVAL : agent 가 new value 를 cache 에올릴때까지의이벤트입니다. WE_BUF_WAIT : buf pin을위해 wait하는이벤트입니다. WE_BUF_WRITE : buf write 까지기다리는이벤트입니다. WE_BUF_FREE : free buf가생기길기다리는이벤트입니다. WE_MBR_WAIT : mbr 이끝날때까지기다리는이벤트입니다. WE_SEQ_FLUSH : seq alba가 cache flush를마치기를기다리는이벤트입니다. WE_WTHR_READY : wthr ready 까지기다리는이벤트입니다. 13
WE_LGWR_ARCHIVE : lgwr proc의 archive finish wait 중인이벤트입니다. WE_LGWR_LNW : lgwr proc의 log network write wait 중인이벤트입니다. WE_LOG_FLUSH : log flush wait 중인이벤트입니다. WE_LOG_FLUSH_SPACE : 공간이부족해서 log flush wait 중인이벤트입니다. WE_LOG_FLUSH_REQ : log flush request 를위한대기이벤트입니다. WE_CKPT_WAIT : ckpt wait 중인이벤트입니다 WE_PROC_DOWN : shutdown finish 중인대기이벤트입니다. WE_WTHR_START : wthr가시작하라는 msg가올때까지대기하는이벤트입니다 WE_WTHR_MSG : wthr가 client 의 msg를기다리는이벤트입니다. 3.4 Running Session SQL Info 현재수행중인 SQL 에대핸정보를확인하는메뉴입니다 SID USERNAME PIECE Type SQL 19 TIBERO 0 WTHR insert into test select level from dual connect by level < 10000 19 TIBERO 1 WTHR 000000 SID : session ID를출력합니다. USERNAME : SQL수행중인 User의이름을출력합니다. PIECE : 출력하는 SQL의순서를의미합니다. Type : 해당 Session 의 Process Type. 사용자가 SQL을수행중인경우는 WTHR Process 의종류는아래와같습니다. WTHR: Working thread CTHR: Control thread LGWR: Log writing process CKPT: Checkpoint process LARC: Log archive AGENT: Sequence process MTHR: Monitoring process DBWR: Datablock writing process LNW: Log network writing process SQL : 현재수행중인 SQL 을출력합니다. 14
3.5 Current Transaction 현재활성화된 Transaction 을조회하는메뉴입니다. SID User OBJ Status Usn Used_blk Time [SQL_ID]Text 19 TIBERO TIBERO.TEST ACTIVE 2 6 0:01:05 [1032] insert into test select level from dual connect by level < 10000 SID : Session ID를출력합니다. User: 사용자이름을출력합니다. OBJ : Transaction 대상이되는 Object 를 소유주. 이름 형태로출력합니다 Status : 세션의상태를의미합니다. ACTIVE DB작업은완료했으나 Commit/Rollback 을기다리는상태 RUNNING DB작업을수행중인상태 Uns : 해당 Transaction 에대해할당된 Undo Segment 번호를출력합니다. Used_blk : 해당 Transaction 에서사용중인 Undo block 의갯수를출력합니다. Time : 메뉴조회시점까지의 Transaction 수행시간을출력합니다. [SQL_ID]Text : SQL에대한 ID와 SQL문에대해출력합니다 3.6 Open Cursor Session 별로 Open 시킨 Cursor 의갯수를확인하는메뉴 SID COUNT 20 1 SID : Session 의 ID 값을출력합니다. COUNT : 해당 Session 에서사용중인 Cursor 갯수를의미하며, SQL수행시기본적으로 1개의 Cursor 를사용합니다 3.7 Current Session(TAC) 3.1 항목의 TAC 버전입니다. 각 Node 별구분을위해 Inst_ID(Node 별 ID) 가추가되었습니다. 3.8 Current Running Session(TAC) 3.2 항목의 TAC 버전입니다. 각 Node 별구분을위해 Inst_ID(Node 별 ID) 가추가되었습니다. 3.9 Current Running Session Wait(TAC) 3.3 항목의 TAC 버전입니다. 각 Node 별구분을위해 Inst_ID(Node 별 ID) 가추가되었습니다. 15
4. WAIT EVENT/LOCK 대기이벤트와 Transaction 의 Lock 정보를조회하는메뉴입니다. 4.1 Current Lock Info 현재 Transactin 에대한 Lock 정보를조회하는메뉴입니다. 4.1.1 Blocking/Waiting Lock blocking 세션및 waiting 세션의 lock 정보를출력합니다. Blocking User Waiting User Blocking Sid Waiting Sid Lock Type Holding mode Request mode SQL_ID TIBERO TIBERO 20 19 WLOCK_TX [5]Exclusive(X) [6]PIN 144 Blocking User : lock을잡고있는세션의 user이름을출력합니다. Waiting User : lock을대기하고있는세션의 user이름을출력합니다. Blocking Sid : lock을잡고있는 session ID를출력합니다. Waiting Sid : lock을대기하고있는 session ID를출력합니다. Lock Type : lock의종류를출력합니다. WLOCK_TX 트랜젝션 lock, WLOCK_DD_OBJ object lock Holding mode : holding 세션의 lock mode를출력합니다. 0: None 1: RowShared(RS) 2: RowExclusive(RX) 3: Shared(S) 4: SharedRowExclusive(SRX) 5: Exclusive(X) 6: Pin (Special mode for TXwait) Request mode : waiting 세션의 lock mode를출력합니다. ( 종류는 Holding Mode와동일 ) SQL_ID : lock을잡고있는세션의 SQL의 ID를출력합니다. 16
4.1.2 DML Lock Information DML lock 정보를출력합니다. Sid Status User Object Lock_time Lock mode SQL_ID 20 ACTIVE TIBERO TIBERO.TEST 0:00:31 [2]RowX(RX) 144 19 RUNNING TIBERO TIBERO.TEST 0:00:16 [2]RowX(RX) 146 Sid : lock을요청한세션 id Status : 세션 status 정보 User : dml이수행한 user Object : dml이수행한 object Lock_time : lock 대기시간 Lock mode : lock mode를출력합니다. 0: None 1: RowShared(RS) 2: RowExclusive(RX) 3: Shared(S) 4: SharedRowExclusive(SRX) 5: Exclusive(X) 6: Pin (Special mode for TXwait) SQL_ID : lock을잡고있는세션의 SQL의 ID를출력합니다. 4.1.3 Object Lock Information DML lock 정보를출력합니다. Sid Owner Object Type LOCK_TYPE 19 TIBERO TEST TABLE WLOCK_DD_OBJ 19 TIBERO TEST TABLE WLOCK_DD_OBJ Sid : lock을요청한세션 id를출력합니다. Owner : lock이잡혀있는 Object 의소유주이름을출력합니다. Object : lock이잡힌 object 이름을출력합니다. Type : object 종류를출력합니다. LOCK_TYPE : lock 의종류를출력합니다. 17
4.2 Hierarchical Lock Info lock 을계층구조로조회해서 blocking 과 waiting session 을확인하는메뉴입니다. SidPath TYPE ID1 ID2 LMODE REQUESTED 20/19 WLOCK_TX 655406 16 0 6 SidPath : blocking session id waiting session id를출력합니다. TYPE : lock type을출력합니다. ID1 : lock 리소스식별자 (lock type의의존 ) 를출력합니다. ID2 : lock 리소스식별자 (lock type의의존 ) 를출력합니다. LMODE : holding 세션의 lock mode를출력합니다. 0: None 1: RowShared(RS) 2: RowExclusive(RX) 3: Shared(S) 4: SharedRowExclusive(SRX) 5: Exclusive(X) 6: Pin (Special mode for TXwait)) REQUESTED: waiting 세션의 lock mode를출력합니다. 출력하능한항목은위 LMODE 와동일합니다. 4.3 Hierarchical Lock Info(TAC) 4.2 항목의 TAC 용메뉴입니다. SidPath 에 Instance 번호가추가되어있습니다. 4.4 System Event system 대기이벤트정보를확인하는메뉴로, DB 기동시점부터의가중치를출력합니다. NAME TIME_WAITED TOTAL_WAITS TOTAL_TIMEOUTS AVERAGE_WAIT MAX_WAIT WE_WTHR_RECV 681104 200 0 3405.52 263781 WE_JC_LARC_WRITE 101858 6 0 16976.3333 30626 WE_JC_DBWR_WRITE_OS 53740 2394 0 22.4477861 3306 WE_JC_BUF_DISK_READ 48213 17456 0 2.76197296 3353 NAME : 대기이벤트이름을출력합니다. 18
TIME_WAITED : 대기이벤트대기시간 (msec) 을출력합니다. TOTAL_WAITS : 대기이벤트대기횟수를출력합니다. TOTAL_TIMEOUTS : 대기이벤트타임아웃횟수를출력합니다. AVERAGE_WAIT : 대기이벤트평균대기시간을출력합니다. MAX_WAIT : 대기이벤트최대대기시간을출력합니다. 주요대기이벤트는 3.3의내용을참고하시면됩니다. 4.5 Session Event 지정된 session 의수행된이벤트정보를조회하는메뉴입니다.. TID DESC TOTAL_WAITS TOTAL_TIMEOUTS TIME_WAITED AVERAGE_WAIT MAX_WAIT 19 wthr receive client msg 16 0 403003.754 25187.734 263781.975 19 multi block disk read time 678 0 4686.731 6.912 59.887 19 block disk read time 7927 0 2930.26.369 65.234 19 get multi block read count time 268 0 356.067 1.328 27.917 19 multi block read check on cache time 698 0 56.726.081.478 19 spinlock total wait 269 0 4.258.015.378 19 spinlock: cache buffers chains 244 0 3.525.014.107 19 spinlock: cache buffers lru chain 1 0.008.008.008 TID : 세션 id를출력합니다. DESC : 이벤트설명을출력합니다. TOTAL_WAITS : 대기이벤트대기횟수를출력합니다. TOTAL_TIMEOUTS : 대기이벤트타임아웃횟수를출력합니다. TIME_WAITED : 대기이벤트대기시간 (msec) 을출력합니다. AVERAGE_WAIT AVERAGE_WAIT : 대기이벤트평균대기시간을출력합니다. MAX_WAIT : 대기이벤트최대대기시간을출력합니다. 19
4.6 Session Wait 세션별현재시점의대기이벤트정보를조회하는메뉴입니다. SID PID User Event Time Waited(ms) Timeout(ms) Program IP 9 0 SYS WE_NOEVENT 300 1000 APM SESSION 19 7108 TIBERO WE_WLOCK_TX 633700 0 tbsql 127.0.0.1 SID : 세션 id를출력합니다. PID : 프로세스 id를출력합니다. User : DB에접속한계정의이름을출력합니다. Event : 대기이벤트이름을출력합니다. Time Waited(ms) : 대기이벤트대기시간을출력합니다. Timeout(ms) : 대기이벤트 Timeout 값을출력합니다. Program : 접속한클라이언트프로그램의이름을출력합니다. IP : 클라이언트 IP 정보를출력합니다. LMODE : holding 세션의 lock mode를출력합니다. 4.7 Sysstat system 수행통계로인스트스기동시점부터의가중치를조회하는메뉴입니다. STAT# NAME CLASS VALUE 1632 transactions total time 5 719276606 596 redo log size 1 556309133 1687 req service time 5 105217245 1692 SQL processing time 3 105075909 ~~ 후략 ~~ STAT# : stat id를출력합니다. NAME : stat 이름을출력합니다. CLASS : stat 클래스를출력합니다 VALUE : stat 값을출력합니다. 20
주요 Stat 설명 consistent block gets Consistent 상태에서 Block read를수행한값입니다. Consistent block 을버퍼 Cache 에서찾아 Pin하는것을말하며, select 문에서읽은블록의대부분이이에해당합니다. consistent multi gets 여러 Block 에대한 Consistent block gets을한꺼번에수행하는것을나타냅니다. block disk read DB block 을단한건 Read 한수치를의미하며, 디스크로부터버퍼로 Block 1개를읽어들입니다. current block gets 최신버전의 Block 을버퍼 Cache 에서찾아 Pin하는것과관련된수치를출력합니다. Current 상태에있는 Block 의데이터를읽은수치이며, 버퍼 Cache 에원하는 Block 이없을경우디스크 IO가발생할수있습니다. dbwr write OS : OS 시스템콜레벨에서디스크에기록된 Block 의개수와기록하는데걸린시간을출력합니다. block consistent changes Block( 버퍼 ) 이수정된횟수에관한통계를의미합니다. lgwr wait for copy LogWriter 가 Log Buffer 의내용을 RedoLog 파일에기록할때, Log Buffer 로기록중인세션이있으면대기가발생하는데, 이때대기한횟수와대기시간을의미합니다. free blocks scan Session 이가용버퍼를찾기위해 LRU 검색을수행한횟수와검색한총버퍼수를의미합니다. redo entries Session 이 LogBuffer 에기록한 Redo 레코드의개수 (Redo entries) 와 Redo 로그 Size를의미합니다. redo log space requests 세션이로그버퍼에할당받을공간확보를요청한횟수를의미합니다. 4.8 Jcntstat debugging 용메뉴입니다. 4.9 Redo Nowait Info 리두엔트리기록을위한리두 space 요청정보를조회하는메뉴입니다. Redo entries Redo space requests Redo NoWait % 20 2862362 100 Redo entries : 세션이로그버퍼에기록한 Redo 레코드의개수를출력합니다. Redo space requests : 세션이로그버퍼에할당받을공간확보를요청한횟수를출력합니다. Redo NoWait % : Redo 를 Nowait 모드로획득한비율입니다. 계산식 : (ROUND(100*(1rlsr/rent),2)) 21
5. SPACE TableSpace, Datafile 들의크기및사용량을확인하는메뉴입니다. 5.1 Database File Info DataBase 에서사용하는파일들의경로및크기를확인하는메뉴입니다.. Control Files /tibero/c1.ctl Group# Member Type Size(MB) 0 /tibero/tibero5/database/dbndiv/redo001.redo ONLINE 100 1 /tibero/tibero5/database/dbndiv/redo011.redo ONLINE 100 2 /tibero/tibero5/database/dbndiv/redo021.redo ONLINE 100 Tablespace Name File Name Size(MB) MaxSize(MB) SYSTEM /tibero/tibero5/database/dbndiv/system001.dtf 100 3,072 TEMP /tibero/tibero5/database/dbndiv/temp001.dtf 1,024 0 UNDO /tibero/tibero5/database/dbndiv/undo001.dtf 164 3,072 USR /tibero/tibero5/database/dbndiv/usr001.dtf 388 3,072 _APM_TS /tibero/tibero5/database/dbndiv/apm_ts.dtf 20 32,768 Control Files : controlfile 의경로를출력합니다. Group# : Redolog 가속한그룹을출력합니다. Member : Redolog 의경로를출력합니다. Type : 해당 RedoLog 의 Online 여부를출력합니다. Tablespace Name : Tablespace 의이름을출력합니다. File Name : 실제 DataFile 의경로를출력합니다. Size(MB) : 현재파일크기를출력합니다.. MaxSize(MB) : AUTOEXTEND 설정을사용하여 Tablespace 생성하거나 Datafile 추가된경우에조회되는값입니다. AUTOEXTEND 가발생할경우 MaxSize(MB) 까지만 Datafile 의크기가확장될수있습니다. 22
5.2 Tablespace Usage 각 Tablespace 의크기, 사용량을확인하는메뉴입니다. Tablespace Name Bytes(MB) Used(MB) Percent(%) Free(MB) Free(%) MaxBytes(MB) USR 388 380 97.91 8 2.09 3,072 UNDO 164 152 92.68 12 7.32 3,072 _APM_TS 20 15 74.38 5 25.63 32,768 SYSTEM 100 50 50.25 50 49.75 3,072 Tablespace Name Size(MB) MaxSize(MB) TEMP 1,024.06.00 Tablespace Name : Tablespace 의이름을출력합니다. Bytes(MB) : 해당 Tablespace 에속해있는 Datafile 들의크기를출력합니다. Used(MB) : 실질적인 Data가 Datafile 내에서차지하고있는크기를출력합니다. Percent(%) : Datafile 의사용률을출력합니다. Free(MB) : 현재 Datafile 크기내에서의여유공간의크기를출력합니다.. Free(%) : 현재 Datafile 크기내에서의여유공간비율을출력합니다. AUTO EXTEND 가설정되지않은경우 10% 이상확보할것을권장합니다. Undo의경우는내부적으로재사용하므로, 여유공간에맞춰추가하는것이아닌, Transaction 도중 CANT_EXTEND 오류가발생경우추가할것을권장합니다. MaxBytes(MB) : AUTO EXTEND 에따라 Data파일들이확장할수있는크기제한을의미합니다. 23
5.3 Undo Segment Usage Undo TableSpace 의사용량을확인하는메뉴입니다. 5.3.1 Current Undo Information SEGMENT_ID TABLESPACE_NAME STATUS EXTENTS RSSIZE(MB) CUREXT CURSIZE(MB) SHRINKS WRAPS EXTENDS XACTS 0 SYSTEM ONLINE 2 8 0 4 0 0 0 0 1 UNDO OFFLINE 2 8 0 4 0 0 0 0 3 UNDO OFFLINE_PENDING 2 8 0 4 0 0 0 0 4 UNDO OFFLINE 2 8 8 4 0 0 0 0 5 UNDO OFFLINE_PENDING 2 8 0 4 0 0 0 0 SEGMENT_ID : UNDO사용시내부적으로부여하는 SEGMENT 의 ID를출력합니다. TABLESPACE_NAME : UNDO작업과관련해서사용되는 Tablespace 이름을출력합니다. SYS계정혹은 SYSTEM 내부적으로수행되는작업은 SYSTEM TABLESPACE 를사용하고, 일반사용자의작업에는 UNDO TABLESPACE 를사용합니다. STATUS : 시스템내부적으로 UNDO Segment 를관리하는과정에서해당 Segment 의상태를출력합니다. ONLINE 해당 Segment 가활성화되어있는상태로해당 Segment 를 Transaction 에사용할수있음을의미합니다. Undo Undo Segment 가 ONLINE 또는 OFFLINE_PENDING 인경우해당 Undo Tablespace 를 Drop할수없습니다. OFFLINE 해당 Segment 를사용할수없는상태를의미합니다. A라는 Undo Tablespace 를사용하다 B라는 Undo Tablespace 를추가후시스템에서사용할 Undo TableSpace 를 B로변경할경우 A에서생성된 Segment 들이 OFFLINE 처리됩니다. OFFLINE_PENDING A > B 로 Undo Tablespace 를변경할당시 transaction 에사용중이던 Segment 들은해당 Transaction 이끝날때 (commit/rollback) 까지 OFFLINE_PENDING 상태를유지하게됩니다. EXTENTS : 해당 Segment 에할당된 Extent( 연속된 Block 의모음 ) 갯수를출력합니다.. RSSIZE(MB) : Segment 의크기를출력합니다. CUREXT : 현재 Transaction 에서사용하고있는 Extent 의 ID를출력합니다. CURSIZE(MB) : 현재 Transaction 에서사용중인 Segment 의크기를출력합니다. SHRINKS : SHRINKS 된횟수를출력합니다. WRAPS : 재사용된횟수를출력합니다. EXTENDS : 확장된횟수를출력합니다. XACTS : 해당 Segment 를사용하고있는 Transaction 의갯수를출력합니다. 24
5.3.2 Undo seg Activity Undoseg Activity COUNT Online Undosegs Cnt 11 Active Undosegs Cnt 0 undo segment seqno reset 0 undo segment seqno overflow 0 Online Undosegs Cnt : Online 상태인 Segment 갯수를출력합니다. Active Undosegs Cnt : 현재사용중인 Segment 갯수를출력합니다. undo segment seqno reset : 내부적으로관리하는 Undo Segment 의 Sequence 의 reset 회수를출력합니다. undo segment seqno overflow : 내부적으로관리하는 Undo Segment 의 Sequence 의 overflow 회수를출력합니다. 5.3.3 UNDO BLOCK PER SEC UNDO_BLOCK_PER_SEC 12.604 초당 UNDO BLOCK 사용량을출력합니다. 5.3.4 Necessary UNDO SIZE Undo TableSpace 의현재크기와필요사용량추정한값을확인하는메뉴입니다. TABLESPACE_NAME Current UNDO SIZE(MB) UNDO RETENTION Necessary UNDO SIZE(MB) UNDO 164 900 88.62 TABLESPACE_NAME : Undo Tablespace 만조회합니다 Current UNDO SIZE(MB) : 현재 UNDO Tablespace 의 Datafile 크기를출력합니다. UNDO RETENTION : Transaction 이완료된후에 Undo에서해당내용을보관하고있는시간을출력합니다.( 단위 : 초 ) Necessary UNDO SIZE(MB) : 기존 Transaction 에서의사용량을기준으로추정한최소한의 UndoTablespace 의크기를출력합니다. Transaction 의양이나수행되는빈도에따라달라질수있습니다. 25
5.3.5 Undo Usage Type 현재수행중인 Transaction 에서사용중인 undo 를조회하는메뉴입니다. SID SERIAL# SEGMENT_ID SQL Type SQL_ID TABLESPACE_NAME USED_BLK CUREXT CURSIZE XACTS 20 3186 3 INSERT 77 UNDO 1 0 511 1 SID: Session 의 ID값을출력합니다. SERIAL# : Session 의 SERIAL 값을출력합니다. 위의 SID값과함께 Session 에대한유일한정보를의미합니다.. SEGMENT_ID : Undo의 Segment ID를의미합니다. SQL Type ; SQL의종류를의미합니다. SQL ID : 해당 Session 이수행중인 SQL에대한 ID입니다. TABLESPACE_NAME : 사용중인 Undo TableSpace 의이름을출력합니다. USED_BLK : 사용중인 BLOCK 의갯수를출력합니다. CUREXT : 현재사용중인 Extent 의번호를출력합니다. CURSIZE : 사용중인크기를출력합니다. XACTS : 해당 Segment 를사용하고있는 Transaction 의갯수를출력합니다. 5.4 Temp Segment Usage Temp Tablespace 의사용량을조회하는메뉴입니다. 5.4.1 Temp Segment Usage Temp Tablespace 를사용하고있는 Session 정보를출력합니다. SID USERNAME SQL_ID SEGTYPE TEMP(MB) SQL_TEXT 20 TIBERO 161 SORT 17.56 select * from (select * from (select * from (select * from ( sel SID : SESSION ID를출력합니다. USERNAME : 접속중인사용자이름을출력합니다. SQL_ID : 해당 Session 이수행중인 SQL에대한 ID를출력합니다. SEGTYPE : Temp Segment 의사용목적을출력합니다. SORT, HASH, ANALYTIC, INDEX, DATA, LOBDATA TEMP(MB) : 해당 Transaction 에서사용하고있는 Temp Segment 의크기를출력합니다. SQL_TEXT : 해당 Transaction 의 SQL내용이며자세한내용은 v$sqltext 뷰에서 SQL_ID 값으로확인가능합니다. 26
5.4.2 Temp Total Usage Temp Tablespace 의사용량을출력합니다.. Temp Name Total(MB) Used(MB) Free(MB) Free(%) Max(MB) TEMP 1024.06 17.56 1006.5 98.3 0 Temp Name : Temp TableSpace 의이름을출력합니다. Total(MB) : Temp TableSpace 의전체크기를출력합니다. Used(MB) : 현재사용중인 Segment 의크기를출력합니다. Free(MB) : TempTablespace 의여유공간의크기를출력합니다. Free(%) : TempTablespace 의여유공간의비율을출력합니다. Max(MB) : AutoExtend 가설정되어있을경우확장할수있는제한크기를출력합니다.(0은 AutoExtend OFF) 27
6.I/O Disk I/O 와관련된메뉴입니다.. 6.1 File I/O Info 각 Datafile 에대해 FIle I/O(Disk 의 Write/Read) 정보를확인하는메뉴입니다. 여러 Disk 중특정 Disk 에 I/O 집중이발생할경우, 해당 Tablespace 를여러 Disk 에분산시키는것이성능에유리합니다. TABLESPACE_NAME FILE_NAME PHYRDS PHYWRTS Read(%) Write(%) Total_IO(%) AvgTime(s) SYSTEM /tibero/tibero5/database/dbndiv/system001.dtf 493 8 10.5.2 5.9.004 UNDO /tibero/tibero5/database/dbndiv/undo001.dtf 17 442.4 11.5 5.4.036 UNDO1 /tibero/tibero5/database/dbndiv/undo0001.dtf 2 0.0.0.0.018 USR /tibero/tibero5/database/dbndiv/usr001.dtf 3,501 3,041 74.7 79.2 76.7.015 _APM_TS /tibero/tibero5/database/dbndiv/apm_ts.dtf 672 349 14.3 9.1 12.0.008TEMP /tibero/tibero5/database/dbndiv/temp001.dtf 1,024 0 UNDO /tibero/tibero5/database/dbndiv/undo001.dtf 164 3,072 USR /tibero/tibero5/database/dbndiv/usr001.dtf 388 3,072 _APM_TS /tibero/tibero5/database/dbndiv/apm_ts.dtf 20 32,768 TABLESPACE_NAME : Tablespace 의이름을출력합니다. FILE_NAME : Datafile 의경로및 File 이름을출력합니다. PHYRDS : 물리적인 Disk 읽기회수를출력합니다. PHYWRTS : 물리적인 Disk쓰기회수를출력합니다. Read(%) : 전체물리적인 Disk읽기중해당 Datafile 이차지하는비율을출력합니다. Write(%) : 전체물리적인 Disk쓰기중해당 Datafile 이차지하는비율을출력합니다. Total_IO(%) : 전체물리적인 Disk 읽기 / 쓰기중해당 Datafile 이차지하는비율을출력합니다. AvgTime(s) : 평균 I/O 응답시간을출력합니다. 0.01 미만 : 빠름, 0.05 미만 : 양호, 0.1 미만 : 느림, 0.1 이상 : I/O점검필요 6.2 Session I/O Info Session 별로 I/O 회수를확인하는메뉴입니다. Sid User Program BLOCK_GETS CONSISTENT_GETS PHYSICAL_READS BLOCK_CHANGES CONSISTENT_CHANGES 28
9 SYS APM SESSION 16975 144530 707 11433 0 19 SYS tbadmin 10704 21046 271 1 0 21 SYS tbsql 0 122 0 0 0 20 TIBERO tbsql 11449 192 1990 8421 0 Sid : Session ID를출력합니다. User : 접속중인사용자이름을출력합니다. Program : 접속한 Client Program 종류를출력합니다. BLOCK_GETS : Current Mode 로읽은 Block 갯수를출력합니다. CONSISTENT_GETS : Consistent Read (CR) mode로읽은 Block 갯수를출력합니다. PHYSICAL_READS : Disk에서읽어온회수를출력합니다. BLOCK_CHANGES : Currentmode 에서변경된 Block 의갯수를출력합니다. CONSISTENT_CHANGES : Consistent Read mode 에서변경된 Block 갯수를출력합니다. * Current Mode : 실제 Data를수정하기위해읽는상황. ex: DML Consistent Read mode : 읽기일관성이보장되는상황. ex: SELECT, DML에서 Where 절의 SubQuery 6.3 Archivelog Count Archivelog 모드에서날짜, 시간별 Archive log 가발생한회수 (=Log Switch) 를확인하는메뉴입니다. 29
7. OBJECT Object 정보를확인하는메뉴입니다.. 7.1 Schema Object Count 각 Schema 별 Object 갯수를확인하는메뉴입니다. OWNER OBJECT_TYPE COUNT OUTLN INDEX 1 OUTLN TABLE 2 PUBLIC SYNONYM 681 SYS DIRECTORY 3 SYS FUNCTION 3 SYS INDEX 187 SYS PACKAGE 69 SYS PACKAGE BODY 17 SYS SEQUENCE 22 SYS TABLE 353 SYS VIEW 243 SYSCAT VIEW 280 SYSGIS INDEX 1 SYSGIS PROCEDURE 1 SYSGIS TABLE 1 SYSGIS VIEW 1 TIBERO TABLE 3 OWNER : Object 의소유주 (= 사용자이름 ) 을출력합니다. OBJECT_TYPE : 해당 Object 의종류를출력합니다. Count : Object 의갯수를출력합니다. 30
7.2 Object Invalid Count Invalid 상태인 Object 의갯수를확인하는메뉴입니다. Owner Object type Status Count PUBLIC SYNONYM INVALID 1 SYSGIS PROCEDURE INVALID 1 OWNER : Object 의소유주 (= 사용자이름 ) 를출력합니다. OBJECT_TYPE : 해당 Object 의종류를출력합니다. Status : Object 의상태 ( Invalid 인경우컴파일또는재생성필요 ) 를출력합니다. Count : Object 의갯수를출력합니다. 7.3 Object Invalid Object Invalid 상태인 Object 의정보를확인하는메뉴입니다. OWNER Object type Object name Status Last DDL Time SYSGIS PROCEDURE REGISTER_SPATIAL_REF_SYS INVALID 20151121 08:21:49 OWNER : Object 의소유주 (= 사용자이름 ) 을출력합니다. OBJECT_TYPE : 해당 Object 의종류를출력합니다. Object name : 해당 Object 의이름을출력합니다. Status : Object 의상태 ( Invalid 인경우컴파일또는재생성필요 ) 를출력합니다. Last DDL Time : 마지막으로 DDL이수행된일시를출력합니다. 7.4 Segment Size(Top 50) 'SYS','SYSGIS','SYSCAT' 계정을제외한나머지사용자들소유의 Segment 중사용중인크기가상위 50위안에드는 Segment 정보를확인하는메뉴입니다 Owner Segment Name Segment Type Tablespace Name Extents Size(MB) TIBERO TEST TABLE USR 111 379 OUTLN OL$HINTS TABLE USR 1 0 TIBERO TBL1 TABLE USR 1 0 31
TIBERO LINEITEM TABLE USR 1 0 OUTLN OL$ TABLE USR 1 0 Owner : Segment 소유주 (= 사용자이름 ) 을출력합니다. Segment Name : 해당 Segment 의이름을출력합니다. Segment Type : 해당 Segment 의종류를출력합니다. Tablespace Name : 해당 Segment 가속해있는 TableSpace 이름을출력합니다. Extents : Segment 가사용중인 Extent 갯수를출력합니다. Size(MB) : Segment 의크기를출력합니다. 32
8. SQL SQL 과관련된정보를확인하는메뉴입니다. 8.1 SQL Plan(Input SQL_ID) SQL_ID 를이용하여실행계획을확인하는메뉴입니다. 8.2 Top SQL 수행시간, BLock Get 수, 평균수행시간에대한 Top10SQL 을조회하는메뉴입니다. USERNAME Elapsed_Time(s) EXECUTIONS Gets/Exec Elap/Exec(s) MODULE SQL_ID TIBERO 8.105 1 47979 8.105 tbsql@npaudb01 161 TIBERO 7.542 1 47979 7.542 tbsql@npaudb01 160 TIBERO 1.735 1 0 1.735 tbsql@npaudb01 159 SYS.5 2 17038.25 tbadmin@tmaxpc 44 SYS.361 2 52249.5.181 APM SESSION 132 USERNAME Transaction 을수행한사용자이름을출력합니다. Elapsed_Time(s) : 총수행시간을출력합니다. EXECUTIONS : 총수행회수를출력합니다. Gets/Exec : Transaction 수행중에읽은 Block 갯수 / 수행회수를출력합니다. Elap/Exec(s): 1회수행시평균수행시간을출력합니다. MODULE : 접속한 Client 정보를출력합니다. SQL_ID : 수행된 SQL에대한 ID를출력합니다. BUFFER_GETS : 읽어온 Block 갯수를출력합니다. 8.3 Check Static Query Pattern SQL 문의처음부터 40 번째글자까지동일한 SQL 들이여러번반복수행될경우가있는지를확인하는메뉴입니다. 33
9. APM 성능분석을위한 APM 기능을사용하기위한메뉴입니다. 9.1 Create APM Snapshot 현재시점의 DB Snapshot 을생성하는메뉴입니다. 9.2 Create APM Snapshot For TAC 현재시점의 TAC 모든 Instance 에 Snapshot 을생성하는메뉴입니다. 9.3 Show APM Snapshot DB 에서보관중인 Snapshot 의정보를확인하는메뉴입니다. 9.3.1 APM Shapshot List INSTANCE_NUMBER INSTANCE_NAME STARTUP_TIME 0 DBNDIV 2015/12/17 09:56:43 INSTANCE_NUMBER : 해당 DB 의 INSTANCE 번호을출력합니다. TAC 의경우 Node 별로번호가다르게표시됩니다. INSTANCE_NAME : 해당 DB 의 INSTANCE 이름을출력합니다. STARTUP_TIME 해당 DB 가기동된날짜를출력합니다. 9.3.2 APM Shapshot List INSTANCE_NUMBER INSTANCE_NAME STARTUP_TIME 0 DBNDIV 2015/12/17 09:56:43 Enter the number of days of snapshots : 3 오늘기준으로몇일치 Shapshot 정보를조회할지입력 INSTANCE_NUMBER : 해당 DB 의 INSTANCE 번호을출력합니다. TAC 의경우 Node 별로번호가다르게표시됩니다. INSTANCE_NAME : 해당 DB 의 INSTANCE 이름을출력합니다. STARTUP_TIME 해당 DB 가기동된날짜를출력합니다. 34
9.3.3 APM Shapshot List THREAD# SNAP_ID BEGIN_INTERVAL_TIME END_INTERVAL_TIME 0 94 2015/12/18 21:07:40 2015/12/18 22:07:40 0 95 2015/12/18 22:07:40 2015/12/18 23:07:40 0 96 2015/12/18 23:07:40 2015/12/19 00:07:40 0 97 2015/12/19 00:07:40 2015/12/19 01:07:40 THREAD# : INSTANCE_NUMBER 를출력합니다. SNAP_ID : Shapshot ID를출력합니다. Report 를생성할때사용합니다. BEGIN_INTERVAL_TIME : 해당 Shapshot 에저장된 DB정보의시작시간을출력합니다. END_INTERVAL_TIME : 해당 Shapshot 의저장된 DB정보의종료시간을출력합니다. 9.4 Create APM Report 저장된 Shapshot 정보를이용하여 Report 를생성하는메뉴입니다. SQL File : 9_apmshow_5SP1.sql INSTANCE_NUMBER INSTANCE_NAME STARTUP_TIME 0 DBNDIV 2015/12/17 09:56:43 Enter the number of days of snapshots : 1 오늘기준으로몇일치 Shapshot 정보를조회할지입력 old value : where begin_interval_time >= sysdate &last_day new value : where begin_interval_time >= sysdate 1 THREAD# SNAP_ID BEGIN_INTERVAL_TIME END_INTERVAL_TIME 0 58 2015/12/16 12:27:01 2015/12/16 13:27:01 0 59 2015/12/16 13:27:01 2015/12/16 14:27:01 0 60 2015/12/16 14:27:01 2015/12/16 15:27:01 35
0 61 2015/12/16 15:27:01 2015/12/16 16:27:01 Create APM Report?(Y/N): y 리포트를생성할지여부를결정 SQL File : 9_apmrpt_5SP1.sql Enter begin snapshots ID : 73 생성하고자하는 Report 의시작시각이있는 Shapshot ID를입력합니다. Enter end snapshots ID : 74 생성하고자하는 Report 의종료시각이있는 Shapshot ID를입력합니다. old value : where snap_id = &begin_snap_id; new value : where snap_id = 73; old value : where snap_id = &end_snap_id; new value : where snap_id = 74; Create APM Report : 20151217 04:20:57 ~ 20151217 10:56:48 [APM report] 'apm_report.dbndiv.20151217_122551.txt' completed! /tibero/tibero5/instance/dbndiv/apm_report.dbndiv.20151217_122551.txt > 생성된 Report 파일의경로및이름을출력합니다 36
10. OTHER 기타메뉴입니다.. 10.1 M Auto Refresh Monitoring 특정작업에대해주기적인 Monitoring 이필요할때사용하는메뉴입니다.. 10.2 S Save To File 현재의 DB 상태에대한여러정보들을조회하여파일로저장하는메뉴입니다.. 10.3 I Setting SQL_ID Format 각메뉴에출력되는 Format 을변경하는메뉴입니다.. 10.4 X EXIT tm 프로그램을종료하는명령입니다. 37
Copyright 2014 TmaxSoft Co., Ltd. All Rights Reserved. Trademarks Tmax, WebtoB, WebT, JEUS, ProFrame, SysMaster and OpenFrame are registered trademarks of TmaxSoft Co., Ltd. Other products, titles or services may be registered trademarks of their respective companies. Contact Information TmaxSoft can be contacted at the following addresses to arrange for a consulting team to visit your company and discuss your options. Korea TmaxSoft Co., Ltd 5, Hwangsaeulro 329beongil, Bundanggu, Seongnamsi, Gyeonggido. South Korea Tel: +823180181000 Fax: +823180181115 Email: info@tmax.co.kr Web (Korean): http://www.tmaxsoft.com Technical Support: http://technet.tmaxsoft.com USA TmaxSoft, Inc. 560 Sylvan Avenue Englewood Cliffs, NJ 07632. U.S.A Tel: +12015678266 Fax: +12015677339 Email: info@tmaxsoft.com Web (English): http://www.tmaxsoft.com Russia Tmax Russia L.L.C. Grand Setun Plaza, No A204 Gorbunova st.2, Moscow, 121596 Tel: +7(495)9700135 Email: info.rus@tmaxsoft.com Web (Russian): http://ru.tmaxsoft.com Singapore Tmax Singapore Pte. Ltd. 430 Lorong 6, Toa Payoh #1002, OrangeTee Building. Singapore 319402 Tel: +6562597223 Email: info.sg@tmaxsoft.com United Kingdom TmaxSoft UK Ltd. Surrey House, Suite 221, 34 Eden Street, KingstonUpon Thames, KT1 1ER United Kingdom Tel: + 44(0)2084813776 Email: info.uk@tmaxsoft.com Web (English): http:/www.tmaxsoft.com Japan TmaxSoft Japan Co., Ltd. 5F Sanko Bldg, 31216 Mita, MinatoKu, Tokyo, 108 0073 Japan Tel: +81357652550 Fax: +81357652567 Email: info.jp@tmaxsoft.com Web (Japanese): http://www.tmaxsoft.co.jp China TmaxSoft China Co., Ltd. Beijing Silver Tower, RM 1508, 2 North Rd Dong San Huan, Chaoyang District, Beijing, China, 100027. China Tel: +861064106145~8 Fax: +861064106144 Email: info.cn@tmaxsoft.com Web (Chinese): http://www.tmaxsoft.com.cn Brazil TmaxSoft Brazil Avenida Copacabana, 177 3 andar 18 do Forte Empresarial, Alphaville Barueri, Sao Paulo, SPBrasil CEP 06472001 Email: contato.brasil@tmaxsoft.com TDJSCFD0630001 38