ALTIBASE 모니터링 쿼리 가이드

Size: px
Start display at page:

Download "ALTIBASE 모니터링 쿼리 가이드"

Transcription

1 Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE 모니터링쿼리가이드 ALTIBASE Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved.

2 Document Control Change Record Date Author Change Reference durusari Created khhan Template Modified durusari Added, Modified Likepd80 Added, Modified Likepd80 Added, Modified Reviews Date Name (Position) lim272(sp), dplee(ts), son2865(sc), fhan(ts), khhan(sc) Distribution Name Location ALTIBASE 모니터링쿼리가이드 2 page of 48

3 목차 개요... 4 ALTIBASE 모니터링개요... 5 모니터링분류... 5 데이터딕셔너리... 5 모니터링방법... 5 ALTIBASE 메타테이블및성능뷰개요... 6 ERD 표기에관하여... 6 유의사항... 6 용어... 6 세션, 쿼리, 트랜잭션, LOCK, 서비스쓰레드, 메모리 DB GC 관련주요메타테이블및성능뷰... 8 주요메타테이블... 8 주요성능뷰... 9 테이블스페이스, 테이블, 컬럼, 인덱스, 제약조건관련주요메타테이블및성능뷰 주요메타테이블 주요성능뷰 통계정보관련주요성능뷰 대기이벤트관련성능뷰 연산관련성능뷰 데이터파일 I/O 기타주요성능뷰 이중화관련주요메타테이블및성능뷰 주요메타테이블 주요성능뷰 사용자의테이블스페이스접근가능여부, 시스템 / 객체권한, PSM, 뷰관련주요메타테이블및성능뷰 주요메타테이블 모니터링요소 모니터링쿼리 Session Statement Service Thread Transaction & Lock redo logfile GC Memory TBS(tablespace) Disk Buffer Object Privileges Constraints Replication ALTIBASE 모니터링쿼리가이드 3 page of 48

4 개요 본문서는 ALTIBASE 모니터링을위해기본적으로습득해야할사항과그에따른일반적인모니터링쿼리예시를제시하는문서로아래와같이크게 3 개의섹션으로구성되어있습니다. ALTIBASE 모니터링개요 ALTIBASE 메타테이블 (meta table) 및성능뷰 (performance view) 개요 모니터링요소와그에대응하는모니터링쿼리 모든섹션은 ALTIBASE 을기준으로작성되었습니다. 다만, 모니터링쿼리는 에서도사용할수있도록변경하여야할부분에대하여별도로명시를하였습니다. 본문서는예시로제시되는모니터링쿼리와관련된메타테이블및성능뷰일부에대하여서만간략히설명하고있으며컬럼설명또한컬럼이름이직관적이어서별도의설명이필요없다고판단되는경우, 이전에이미설명한컬럼이중복되어나오는경우는생략하였습니다. 따라서, 보다상세한설명과이해를위해서기본적으로 ATC ( 에게시된운영자매뉴얼을함께참조하시기바랍니다. 모니터링쿼리예시만참조하려면 모니터링요소 섹션으로바로이동하시기바랍니다. 본문서에포함된 ERD 는 CA ERwin Data Modeler 을사용하여 IDEF1X 표기법으로작성되었습니다. 본문서와관련된오류사항은 ALTIBASE 기술본부대표메일인 support@altibase.com 으로보내주시기바랍니다. ALTIBASE 모니터링쿼리가이드 4 page of 48

5 ALTIBASE 모니터링개요 ALTIBASE 모니터링을위한기본적인사항에대해설명한다. 모니터링분류 ALTIBASE 는 DBMS 이다. DBMS 모니터링은아래와같이크게 3 가지로분류할수있다. 내부모니터링 데이터딕셔너리에대한쿼리를통한 DBMS 내부에서의모니터링을의미한다. 외부모니터링 OS 명령어를통한 DBMS 외부에서의모니터링을의미한다. trace 로그모니터링 DBMS 에의해기록되는각종 trace 로그에대한모니터링을의미한다. 데이터딕셔너리 데이터베이스에대한모든정보를요약및저장하여 DBMS 를효율적으로사용할수있도록하는것으로 ALTIBASE 데이터딕셔너리는두가지로구성되어있다. 메타테이블 (meta table) 데이터베이스객체를관리하기위해데이터베이스생성시점에자동으로생성되는테이블이다. 해당테이블은사용자 SYSTEM_ 의소유로일반사용자는 SELECT 만가능하다. 성능뷰 (performance view) SELECT 시점에 ALTIBASE 내부의상태정보를뷰형태로제공되는것으로 ALTIBASE 내부의최신정보를얻을수있다. 물리적으로저장되지않으며이역시 SELECT 만가능하며성능뷰의접두어는 v$ 이다. 모니터링방법 현업에서일반적으로사용하는모니터링방법은아래와같다. 쉘스크립트작성 응용프로그램작성 유틸리티활용 유틸리티의경우, 비공식유틸리티이나 ALTIBASE 기술본부에의해활용되는 ALTIMON 과 ALTIBASE 부터공식적으로제공되는 AdminCenter2 for DBA 와 3 rd party 제품인 Orange for ALTIBASE DBA edition 등이있다. ALTIBASE 모니터링쿼리가이드 5 page of 48

6 ALTIBASE 메타테이블및성능뷰개요 ALTIBASE 내부모니터링을위해서는 ALTIBASE 데이터딕셔너리인메타테이블과성능뷰에대한이해가우선적으로필요하다. 본문서에서는사용자의이해와쿼리편의를고려하여메타테이블과성능뷰의관계를 ERD(Entity- Relationship Diagram) 를사용하여표현하였다. 이에앞서숙지해야할사항에대해설명한다. ERD 표기에관하여 사용자의이해와쿼리편의를고려하여기반테이블이존재하지않는성능뷰특성을무시, 아래와같이성능뷰를테이블로표현하여조인시참고할주요키를 FK 형태로표현하였다. 이러한표기로인한혼동을피하기위해메타테이블은배경을노란색으로성능뷰는흰색으로표시하였다. META_TABLE ID v$performance_view ID MET A_ID (FK) 또한, 위 ERD 에서메타테이블의 ID 컬럼과성능뷰의 META_ID 컬럼처럼동일한속성의컬럼이메타테이블및성능뷰에따라서로다른이름일수있는데, 이런경우는컬럼에동일한색상을주어같은속성임을나타냈다. 유의사항 ALTIBASE 메타테이블과성능뷰는아래와같은특성이있음을유의해야한다. 1. 동일한속성의컬럼이메타테이블및성능뷰에따라서로다른이름일수있다. 2. ALTIBASE 버전에따라메타테이블및성능뷰의컬럼이름이변경되거나삭제될수있다. 3. ALTIBASE 버전에따라메타테이블및성능뷰가추가되거나삭제될수있다. 용어 설명에앞서혼동이발생할수있는일부용어에대한정의이다. 세션 (session) ALTIBASE 에접속한사용자의접속단위를의미한다. 하나의사용자는동시에여러개의세션을가질수있다. 구문 (statement) 트랜잭션에서수행되는 SQL 하나하나를의미하는용어로문맥에따라 SQL ( 구 ) 문, Query, 질의 ( 문 ), 쿼리 ( 문 ) 는모두동일한의미를가지는경우가많다. 본문서에서는 쿼리 로통일한다. 메모리 DB GC (garbage collector) or GC 사용자가 commit 을수행하면 MVCC(Multi Versioning Concurrency Control / 다중레코드동시제어 ) 기법에의해유지되던변경전의레코드는삭제가되어야한다. ALTIBASE 모니터링쿼리가이드 6 page of 48

7 ALTIBASE 는변경전의레코드삭제를위해별도쓰레드를운영하는데, 이를각각메모리 DB GC, 디스크 DB GC 라칭한다. 하지만, ALTIBASE 부터디스크 DB 의 MVCC 방식이변경되어디스크 DB GC 가없어지면서메모리 DB GC 만존재하기에줄여서 GC 또는 Ager 라한다. ALTIBASE 모니터링쿼리가이드 7 page of 48

8 세션, 쿼리, 트랜잭션, lock, 서비스쓰레드, 메모리 DB GC 관련주요메타테이블및성능뷰 메타테이블및성능뷰를통하여실시간으로세션, 쿼리, 트랜잭션, lock, 서비스쓰레드, 메모리 DB GC 상태를확인가능하다. 관련조인쿼리시참고할주요키컬럼만표기한메타테이블및성능뷰의관계는아래와같다. 별개로표시되어있는 v$memgc 는메모리 DB GC 에대한성능뷰로다른메타테이블및성능뷰와직접적인관계는없으나 v$transaction 의특정컬럼과함께활용된다. 유의사항으로는 v$statement 의컬럼중쿼리수행과관련된통계정보는 TIMED_STATISTICS 프로퍼티가활성화 (1) 되어야만갱신되므로해당프로퍼티의활성화여부를반드시확인하여야한다는것이다. TIMED_STATISTICS 기본값은비활성화 (0) 이다. 참고로이중화를수행으로인한트랜잭션도 v$transaction, v$lock, v$lock_wait 를활용하나세션번호, 쿼리번호가없는이중화트랜잭션특성상이중화섹션에서별도로언급하는것으로한다. v$service_thread ID SESSION_ID (FK) ST AT EMENT _ID (FK) Z SYS_USERS_ USER_ID v$session ID DB_USERID (FK) v$statement SESSION_ID (FK) ID T X_ID (FK) 1 v$sqltext SID (FK) ST MT _ID (FK) v$memgc v$transaction ID v$plantext SID (FK) ST MT _ID (FK) MINMEMSCNINT XS SESSION_ID (FK) MEMORY_VIEW _SCN 1 v$lock_statement SYS_TABLES_ TABLE_ID T ABLE_OID USER_ID (FK) v$lock_wait T RANS_ID (FK) WAIT _FOR_T RANS_ID (FK) v$lock T RANS_ID (FK) T ABLE_OID (FK) LOCK_DESC Z Z SESSION_ID (FK) ID (FK) T X_ID (FK) T ABLE_OID (FK) LOCK_DESC (FK) 주요메타테이블 SYS_USERS_ 모든사용자의정보가저장된메타테이블로사용자이름 (USER_NAME) 과같은정보를확인할수있어가장기본적으로활용된다. ALTIBASE 모니터링쿼리가이드 8 page of 48

9 SYS_TABLES_ 모든테이블 ( 큐테이블포함 ) 뿐만아니라시퀀스, 뷰의정보도함께저장한메타테이블로해당객체이름 (TABLE_NAME) 과같은정보를확인할수있어 SYS_USERS_ 와함께기본적으로활용된다. 주요성능뷰 v$session 현재접속되어있는사용자의세션정보를나타내는성능뷰이다. v$statement, v$sqltext, v$plantext v$statement 는세션과관련된쿼리의정보및쿼리레벨의통계정보를나타내는성능뷰로쿼리의수행시간및수행빈도측정이가능하다. 세션별로가장마지막에 direct 수행 (execution) 한하나의쿼리와 prepare 된다수의쿼리에한하여서만유지되는뷰로관련세션을종료되면사라지게된다. 이뷰를통하여쿼리의텍스트도최대 16K 까지확인이가능하다. 쿼리의텍스트가 16K 를초과하는경우는쿼리텍스트전체를나타내는성능뷰인 v$sqltext 를활용하며쿼리에대응하는실행계획을확인하려할때는 v$plantext 를활용한다. 앞서언급했듯 v$statement 의컬럼중쿼리수행과관련된통계정보는 TIMED_STATISTICS 프로퍼티가활성화 (1) 되어야만제공되므로해당프로퍼티의활성화여부를반드시확인하여야한다. TIMED_STATISTICS 기본값은비활성화 (0) 이다. v$service_thread 서비스쓰레드의상태를나타내는성능뷰로 v$session, v$statement 와조인하여관련세션과쿼리를확인할수있다. 뷰자체만으로도의미가있어단독으로모니터링하기도한다. v$transaction, v$memgc v$transaction 은현재수행되는모든트랜잭션의정보를나타내는성능뷰로 lock 관련모니터링시기본적으로사용된다. 또한, 메모리 DB GC 의정보를나타내는성능뷰인 v$memgc 를통하여세션, 구문과연계된 MVCC 상태를확인할수도있다. v$lock, v$lock_wait v$lock 은트랜잭션수행중발생한 lock 에대한모든정보를나타내는성능뷰로 lock 의선후관계를나타내는 v$lock_wait 과함께활용한다. v$lock_statement 현재 lock 을획득한트랜잭션에서가장마지막에수행된구문을나타내는성능뷰로 lock 발생시관련세션및구문에대한신속한확인을위해주로활용된다. ALTIBASE 모니터링쿼리가이드 9 page of 48

10 테이블스페이스, 테이블, 컬럼, 인덱스, 제약조건관련주요메타테이블및성능뷰 ALTIBASE 는 hybrid DBMS 특성상테이블스페이스, 테이블에대한정보를메모리 DB, 디스크 DB 에따라별도 (TBS, TABLE 박스참조 ) 로확인이가능하게끔되어있으며세그먼트의경우는 v$segment 와관계 ( 보라색 ) 된각각의성능뷰를통해상세한자원사용현황을확인할수있다. 하지만, 인덱스의경우현재로서메모리인덱스크기측정을위한메타테이블이나성능뷰가제공되지않는관계로테이블전체레코드수에하나의레코드에대한메모리인덱스크기인 16byte 를곱하는것으로대체하여야한다. 디스크인덱스는 v$index 를참조, 해당세그먼트를통하여실시간크기측정이가능하다. 테이블스페이스, 테이블, 컬럼, 인덱스, 제약조건관련조인쿼리시참고할주요키컬럼만표기한메타테이블및성능뷰의관계는아래와같다. SYS_CONSTRAINTS_ SYS_CONSTRAINT_COLUMNS_ SYS_COLUMNS_ CONSTRAINT_ID USER_ID (FK) INDEX_ID (FK) 1 P COLUMN_ID (FK) CONSTRAINT_ID (FK) SYS_USERS_ COLUMN_ID T ABLE_ID (FK) P USER_ID SYS_INDICES_ INDEX_ID USER_ID (FK) T ABLE_ID (FK) T BS_ID (FK) TBS DEFAULT _T BS_ID (FK) T EMP_T BS_ID (FK) v$tablespaces ID TABLE SYS_TABLES_ T ABLE_ID T ABLE_OID (AK1.1) T BS_ID (FK) USER_ID (FK) Z Z v$mem_tablespaces SPACE_ID (FK) Z v$datafiles SPACEID (FK) ID v$memtbl_info T ABLE_OID (FK) v$disktbl_info T ABLE_OID (FK) SEG_PID (FK) Z v$index 1 INDEX_ID (FK) INDEX_SEG_PID (FK) T ABLE_OID Z v$udsegs Z P v$segment SEGMENT _PID T ABLE_OID SPACE_ID (FK) SEG_PID (FK) Z v$tssegs SEG_PID (FK) 특이사항으로는주요메타테이블인 SYS_TABLE_ 과다른메타테이블간의조인시는조인컬럼으로 TABLE_ID 를사용하고성능뷰와의조인시는대체키인 TABLE_OID 컬럼 ( 파란색 ) 을사용한다는것이다. 참고로표기는되지않았지만 SYS_USERS_, SYS_TABLES_ 을제외한모든메타테이블은쿼리편의를고려하여 USER_ID 와 TABLE_ID 컬럼이모두존재한다. 성능뷰 v$segment 와 v$index 역시테이블별합산을고려하여 TABLE_OID 컬럼이존재한다. ALTIBASE 모니터링쿼리가이드 10 page of 48

11 주요메타테이블 SYS_COLUMNS_ 모든테이블의컬럼정보가저장된메타테이블로컬럼이름 (COLUMN_NAME) 은물론데이터타입 (DATA_TYPE), 컬럼순서 (COLUMN_ORDER) 와같은상세한정보를확인할수있다. SYS_CONSTRAINTS_ 테이블의제약조건정보를저장한메타테이블로제약조건유형 (CONSTRAINT_TYPE) 을확인할수있으며 PK, FK, UK 와같은인덱스생성을필요로하는제약조건의경우관련인덱스번호 (INDEX_ID) 를확인할수있다. 또한, FK 의경우참조테이블 (REFERENCED_TABLE_ID) 도확인이가능하다. SYS_CONSTRAINT_COLUMNS 제약조건의대상이되는컬럼의컬럼번호 (COLUMN_ID) 를확인할수있는메타테이블로관련제약조건번호 (CONSTRAINT_ID) 와함께대응되어있다. SYS_INDICES_ 모든인덱스정보가저장된메타테이블로인덱스이름 (INDEX_NAME) 은물론테이블스페이스번호 (TBS_ID), 인덱스유형 (INDEX_TYPE), 구성컬럼개수 (COLUMN_CNT) 와같은상세한정보를확인가능하다. 주요성능뷰 v$tablespaces 모든테이블스페이스정보를나타내는성능뷰로테이블스페이스관련모니터링시기본적으로활용된다. v$mem_tablespaces 메모리테이블스페이스에대해서만상세한정보를나타내는성능뷰로메모리 DB 운영을위해실제로사용하는물리적메모리크기를구할수있다. v$datafiles 디스크테이블스페이스를구성하는데이터파일의상세정보를나타내는성능뷰로물리적인데이터파일의경로, 상태및크기를확인수있다. v$segment 디스크 DB 의세그먼트정보를나타내는성능뷰로디스크테이블, 디스크인덱스, 언두테이블스페이스, 임시테이블스페이스와같은디스크 DB 관련객체의정확한크기를구할수있다. v$memtbl_info 메모리테이블에대해서만상세한정보를나타내는성능뷰로메모리테이블별순수데이터의크기및합계를구할수있다. ALTIBASE 모니터링쿼리가이드 11 page of 48

12 v$disktbl_info 디스크테이블에대해서만상세한정보를나타내는성능뷰로해당세그먼트 (SEG_PID) 를알수있어디스크테이블별순수데이터의크기및합계를구할수있다. v$index 모든인덱스에대한간략한정보를나타내는성능뷰로디스크인덱스의경우해당세그먼트 (INDEX_SEG_PID) 를알수있어디스크인덱스의크기를구할수있다. ALTIBASE 모니터링쿼리가이드 12 page of 48

13 통계정보관련주요성능뷰 성능뷰를통하여 DBMS 레벨, 세션레벨, 쿼리레벨에서의대기이벤트 (wait event) 와연산 (operation) 에대한통계정보, DBMS 레벨의디스크테이블스페이스데이터파일 I/O, 메모리사용량버퍼풀통계정보와같은다양한통계정보를확인할수있다. 레벨에따라통계정보를생성하는기준은차이가있다. DBMS 레벨의통계정보는 ALTIBASE 구동시점부터정보를누적하며 ALTIBASE 가종료되면초기화된다. 따라서, 특정기간동안의값을알기위해서는 ( 현재의값 - 측정시작시점의값 ) 을모든칼럼값에대해계산해야한다. 세션레벨통계정보는관련세션이접속되어있는동안만유지된다. 쿼리레벨의통계정보는세션별로가장마지막에 direct 수행 (execution) 한하나의쿼리와 prepare 된다수의쿼리에한하여서만유지되며관련세션이종료되면이역시사라지게된다. 쿼리레벨의통계정보는쿼리섹션에서이미언급한 v$statement 을통하여제공되는것으로본섹션에서는생략한다. 유의할사항으로는통계정보는 TIMED_STATISTICS 프로퍼티가활성화 (1) 되어야만가능하므로해당프로퍼티의활성화여부를반드시확인하여야한다는것이다. TIMED_STATISTICS 기본값은비활성화 (0) 이다. 통계정보관련성능뷰는대부분뷰자체만으로도모니터링이가능하므로조인이불필요하나대기이벤트, 연산, 디스크테이블스페이스의데이터파일 I/O 에대한통계정보의경우특정세션또는특정데이터파일에연관을지어확인할필요가있다. 관련정보를얻기위해조인쿼리시참고할주요키컬럼만표기한메타테이블및성능뷰의관계는아래와같다. OPERATION v$system_wait_class WAIT _CLASS_ID WAIT EVENT datafile I/O 1 v$filestat SPACEID (FK) FILEID (FK) v$sysstat SEQNUM v$system_event EVENT _ID WAIT _CLASS_ID (FK) P P P v$datafiles SPACEID (FK) ID v$sesstat SID (FK) SEQNUM (FK) v$session_event SID (FK) EVENT _ID (FK) v$session_wait SID (FK) SEQNUM (FK) P P P v$tablespaces ID SYS_USERS_ USER_ID DEFAULT _T BS_ID (FK) T EMP_T BS_ID (FK) v$session ID DB_USERID (FK) 대기이벤트관련성능뷰 대기이벤트란 세션 또는 ALTIBASE 쓰레드 의일련의대기작업을의미한다. 예를들면, 서비스쓰레드가 disk buffer 에적재된 page 를접근하기위해 page 의 latch 획득을대기하는작업, 로그기록을위해로그버퍼의 latch 획득을대기하는작업등이있다. 참고로 ALTIBASE 는대기이벤트를그룹화하기위해상위개념인대기이벤트클래스 (wait event class) 를사용하여 8 가지로분류하고있다. ALTIBASE 모니터링쿼리가이드 13 page of 48

14 v$system_wait_class 세션 또는 ALTIBASE 쓰레드 의대기이벤트에대한통계정보를 대기이벤트클래스 별로나타낸다. ALTIBASE 구동이후부터누적되는통계정보로종료시초기화된다. v$system_event 세션 또는 ALTIBASE 쓰레드 의대기이벤트에대한통계정보를 대기이벤트 별로나타낸다. ALTIBASE 구동이후부터누적되는통계정보로종료시초기화된다. v$session_event 세션 의대기이벤트에대한서만통계정보를나타낸다. 세션이종료되면관련통계정보는사라진다. v$session_wait 세션 중조회시점에 활성화된세션 의대기이벤트에대한서만통계정보를나타낸다. 세션이유휴상태 (idle) 가되거나종료되면관련통계정보는사라진다. 연산관련성능뷰 연산이란 세션 또는 ALTIBASE 쓰레드 가수행하는각종연산작업을의미한다. 예를들면, 특정세션의쿼리수행, 서비스쓰레드의리두로그쓰기등이있다. v$sysstat 세션 또는 ALTIBASE 쓰레드 의연산에대한통계정보를 연산 별로나타낸다. ALTIBASE 구동이후부터누적되는통계정보로종료시초기화된다. v$sesstat 세션 의연산에대한서만통계정보를나타낸다. 세션이종료되면관련통계정보는사라진다. 데이터파일 I/O v$filestat 디스크테이블스페이스의데이터파일별 I/O 통계정보를나타낸다. 기타주요성능뷰 그외주요통계정보를제공하는성능뷰는아래와같다. 성능뷰자체가의미있는통계정보를제공하므로다른성능뷰와조인할필요가없다. v$memstat ALTIBASE 가현재사용하는메모리의사용량을모듈별로나타내는성능뷰로 ALTIBASE 메모리사용량이비정상적일때주요참고지표가된다. 모듈의최고메모리사용량을의미하는컬럼 MAX_TOTAL_SIZE 는 ALTIBASE 구동시점부터유지하는것으로 ALTIBASE 종료시초기화된다. ALTIBASE 모니터링쿼리가이드 14 page of 48

15 v$buffpool_stat 쿼리수행시 Disk 에서페이지를읽지않고버퍼풀의기존페이지를재사용한비율을의미하는 hit ratio 와같은버퍼풀관련통계정보를실시간으로나타낸다. v$lfg 리두로그파일관련성능뷰로특정컬럼하나가주요모니터링대상이다. 컬럼 LF_PREPARE_WAIT_COUNT 는현재리두로그파일에서새로운리두로그파일로 switching 하려할때, 다음리두로그파일이미처생성되지않아 service thread 가기다린횟수를나타낸다. 이값이크다면 PREPARE_LOG_FILE_COUNT 프로퍼티의값을더큰값으로변경후적용 ( 재구동 ) 하여충분한개수의리두로그파일을미리만들어지도록한다. ALTIBASE 구동시점부터누적및합산되는형태로 ALTIBASE 종료시초기화된다. ALTIBASE 모니터링쿼리가이드 15 page of 48

16 이중화관련주요메타테이블및성능뷰 이중화관련모니터링을위한조인쿼리시참고할주요키컬럼만표기한메타테이블및성능뷰의관계는아래와같다. 참고로 SYS_REPL_ITEMS_ 는사용자명과테이블이름을알기위해 SYS_USERS_ 와 SYS_TABLES_ 을굳이조인하지않아도되게끔컬럼이름과사용자이름이함께저장되어있다. 또한, 앞서언급했듯이세션번호와쿼리번호가없는이중화트랜잭션특성상 v$repsender_transtbl, v$repreceiver_transtbl 을통하여이중화상대서버에서대응되는트랜잭션을식별한다. SYS_REPL_HOSTS_ REPLICAT ION_NAME (FK) P 1 v$repsender REP_NAME (FK) 1 1 v$repsender_transtbl REP_NAME (FK) LOCAL_T ID (FK) REMOT E_T ID Z SYS_REPLICATIONS_ v$repgap REPLICAT ION_NAME REP_NAME (FK) P SYS_REPL_ITEMS_ REPLICAT ION_NAME (FK) T ABLE_OID (FK) 1 v$repreceiver REP_NAME (FK) 1 v$repreceiver_transtbl REP_NAME (FK) LOCAL_T ID (FK) REMOT E_T ID Z Z SYS_TABLES_ TABLE_ID T ABLE_OID (AK1.1) USER_ID v$lock T RANS_ID (FK) T ABLE_OID (FK) LOCK_DESC v$transaction ID MEMORY_VIEW _SCN v$lock_wait T RANS_ID (FK) WAIT _FOR_T RANS_ID (FK) 주요메타테이블 SYS_REPLICATIONS_ 모든이중화객체에대한정보가저장된메타테이블로이중화대상서버가이중화를반영한시점 (XSN) 과같은상세한정보를확인할수있다. SYS_REPL_HOSTS_ 이중화대상서버의정보가저장된메타테이블로이중화대상서버의주소 (HOST_IP) 와포트번호 (PORT_NO) 를확인할수있다. SYS_REPL_ITEMS_ 이중화대상테이블에대한정보가저장된메타테이블이다. ALTIBASE 모니터링쿼리가이드 16 page of 48

17 주요성능뷰 v$repsender 이중화송신쓰레드인 sender 의상태를나타내는성능뷰로 sender 가구동되어있지않으면조회되지않는다. v$repgap 최신리두로그일련번호와 sender 가전송한리두로그일련번호의간격 (gap) 나타내는성능뷰로이중화대상서버간동기화정도를의미하므로이중화모니터링시필수적으로활용된다. sender 에의해측정되므로 sender 가구동되어있지않으면이역시조회되지않는다. v$repreceiver 이중화수신쓰레드인 receiver 의상태를나타내는성능뷰로 receiver 가구동되어있지않으면조회되지않는다. v$repsender_transtbl sender 가수행중인이중화트랜잭션에대한정보를나타내는성능뷰로해당트랜잭션과대응되는상대편서버의트랜잭션을알수있다. 이역시 sender 가구동되어있지않으면조회되지않는다. v$repreceiver_transtbl receiver 가수행중인이중화트랜잭션에대한정보를나타내는성능뷰로해당트랜잭션과대응되는상대편서버의트랜잭션을알수있다. 이중화트랜잭션의 lock 으로인해로컬트랜잭션이대기하는현상이발생할때주요참고지표가된다. 이역시 receiver 가구동되어있지않으면조회되지않는다. ALTIBASE 모니터링쿼리가이드 17 page of 48

18 사용자의테이블스페이스접근가능여부, 시스템 / 객체권한, PSM, 뷰관련주요메타테이블및성능뷰 실시간모니터링이필요하진않으나운영업무중자주확인되는요소로 사용자의테이블스페이스접근가능여부, 시스템 / 객체권한, 스키마객체 를들수있다. 스키마객체의경우는 PSM( 프로시져 / 펑션 / 타입세트 ), 뷰가대표적이다. 관련정보를얻기위해조인쿼리시참고할주요키컬럼만표기한메타테이블및성능뷰의관계는아래와같다. TBS ACCESS SYS_GRANT_SYSTEM_ PRIVILEGES v$tablespaces ID GRANT OR_ID (FK) GRANT EE_ID (FK) PRIV_ID (FK) SYS_PRIVILEGES_ SYS_TBS_USERS_ TBS_ID (FK) USER_ID (FK) Z SYS_USERS_ USER_ID DEFAULT_TBS_ID (FK) SYS_GRANT_OBJECT_ PRIV_ID (FK) GRANT OR_ID (FK) GRANT EE_ID (FK) USER_ID (FK) OBJ_ID PRIV_ID SYS_TABLES_ SYS_VIEWS_ SYS_PROCEDURES_ T ABLE_ID VIEW _ID (FK) PROC_OID USER_ID (FK) TABLE_OID (AK1.1) Z USER_ID (FK) 1 USER_ID (FK) 1 SYS_VIEW_PARSE_ SYS_PROC_PARSE_ VIEW _ID (FK) PROC_OID (FK) PSM,VIEW 참고로 SYS_GRANT_OBJECT_ 에서객체번호인 OBJ_ID 컬럼 ( 녹색 ) 에대응하는다른객체의컬럼이름은객체에따라서로달라지므로주의가필요하다. 여기서는 TABLE_ID( 붉은색 ), VIEW_ID( 붉은색 ), PROC_OID( 보라색 ) 컬럼을예로들수있다. 또한, 대부분의데이터베이스객체는그에대응하는별도의메타테이블을가지나뷰의경우는테이블과함께관리되므로뷰의이름과같은구체적인정보는 SYS_TABLES_ 에서확인하여야만한다. SYS_VIEWS_ 는뷰의컴파일여부만저장되어있다. ( 즉, SYS_VIEWS_ 의 VIEW_ID 는 SYS_TABLES_ 의 TABLE_ID 와같다.) 주요메타테이블 SYS_TBS_USERS_ 사용자가접근가능한테이블스페이스목록이저장된메타테이블이다. SYS_PRIVILEGES_ 시스템권한, 객체권한에대한권한번호 (PRIV_ID) 와권한이름 (PRIV_NAME) 이저장된메타테이블이다. ALTIBASE 모니터링쿼리가이드 18 page of 48

19 SYS_GRANT_SYSTEM_ 사용자가부여받은시스템권한에대한권한번호 (PRIV_ID) 가저장된메타테이블이다. SYS_GRANT_OBJECT_ 사용자가부여받은객체권한에대한권한번호 (PRIV_ID) 와객체정보가저장된메타테이블로객체번호 (OBJ_ID) 를통해해당객체의상세정보를확인할수있다. SYS_VIEWS_, SYS_VIEW_PARSE_ SYS_VIEWS_ 는뷰의컴파일상태만저장된메타테이블이다. 뷰의생성구문은 SYS_VIEW_PARSE_ 를통하여확인할수있다. SYS_PROCEDURES_, SYS_PROC_PARSE_ PSM( 프로시져, 펑션, 타입세트 ) 에대한상세한정보가저장된메타테이블이다. 각 PSM 에대응하는생성구문은 SYS_PROC_PARSE_ 를통하여확인할수있다. ALTIBASE 모니터링쿼리가이드 19 page of 48

20 모니터링요소 ALTIBASE 모니터링시일반적으로요구되는사항을최소단위로분리, 이를모니터링요소라칭하고각모니터링요소를표로제시한다. 사용자는아래표를참조하여모니터링하고자하는요소에대응되는쿼리및 OS 명령어를확인하여활용하도록한다. 쿼리이해를위한메타테이블및성능뷰의관계에대한간략한설명은 ALTIBASE 메타테이블및성능뷰개요 섹션을참조하도록한다. 표에서각항목의의미는아래와같다. 구분 MEM( 메모리 DB 만해당 ), DISK( 디스크 DB 만해당 ), ALL( 메모리 / 디스크 DB 공통 ), REP( 이중화사용시 ) 그룹 모니터링요소 의그룹 ID 모니터링요소 에대한인공식별자 모니터링요소모니터링이가능한최소단위 비고세부사항및기타참고사항 구분그룹 ID 모니터링요소비고 ALL Session SS01 전체세션개수 ALL SS02 세션정보 ALL SS03 SYSDBA 자격으로접속중인세션정보 ALL Statement ST01 전체쿼리개수 ALL ST02 쿼리정보 TIMED_STATISTICS 활성필요 ALL ST03 현재수행중인쿼리개수 ALL ST04 현재수행중인쿼리정보 TIMED_STATISTICS 활성필요 ALL ST05 장시간수행쿼리정보 10 분이상 (600 초 ) / TIMED_STATISTICS 활성필수 ALL ST06 장시간수행되는 DML 트랜잭션의마지막쿼리정보 한시간이상 (3600 초 ) / TIMED_STATISTICS 활성필요 ALL ST07 풀스캔쿼리정보 인덱스미사용, 모든페이지를접근하는쿼리 ALL ST08 풀스캔쿼리수행횟수통계 ALL ST09 세션별쿼리목록 ALL Service Thread SV01 서비스쓰레드상태 ALL Transaction & lock TL01 트랜잭션및 Lock 정보 이중화트랜잭션포함 ALL redo logfile LO01 리두로그파일정보 ALL LO02 리두로그파일 prepare 대기누적횟수 MEM G C GC01 메모리 DB GC gap MEM GC02 GC 가대기하고있는트랜잭션에서수행중인쿼리 순간적인 CPU 소모가큰쿼리검출용으로활용가능 ALL Memory MS01 ALTIBASE 의메모리사용현황 ( 모듈단위 ) ALL MS02 ALTIBASE 의메모리사용량합계 MEM TBS(tablespace) TS01 메모리테이블스페이스사용량 MEM TS02 전체메모리테이블스페이스사용량 DISK TS03 디스크테이블스페이스사용량 DISK TS04 디스크언두테이블스페이스사용량 [TS03] 에서언두테이블스페이스부분만추림. DISK TS05 트랜잭션별언두테이블스페이스사용량 [TS04] 에서트랜잭션별사용량결과 ALL TS06 전체테이블스페이스사용량 [TS01], [TS02], [TS03] 을 UNION ALL 한결과 MEM TS07 메모리테이블스페이스데이터파일체크포인트경로 MEM TS08 메모리테이블스페이스데이터파일 DISK TS09 디스크테이블스페이스데이터파일 DISK TS10 디스크테이블스페이스데이터파일별 I/O DISK TS11 디스크테이블스페이스데이터파일별단일페이지 Read I/O 현재멀티페이지 Read 를지원하지않음. DISK TS12 임시테이블스페이스현재사용량 DISK TS13 트랜잭션별임시테이블스페이스사용량 ALL TS14 전체테이블스페이스상태 DISK Disk Buffer DB01 디스크버퍼 Hit Ratio MEM Object OB01 메모리테이블 MEM OB02 큐 MEM OB03 Efficiency 가낮은메모리테이블 크기가 1024M, efficiency 가 50% 이하 MEM OB04 메모리인덱스, 큐인덱스 DISK OB05 디스크인덱스 DISK OB06 디스크테이블 ALTIBASE 모니터링쿼리가이드 20 page of 48

21 DISK OB07 디스크파티션정보 ALL OB08 시퀀스 ALL OB09 시노님 ALL OB10 PSM( 프로시저 / 펑션 / 타입세트 ) ALL OB11 PSM 생성구문 PSM 이름을입력 ALL OB12 VIEW ALL OB13 VIEW 생성구문 ALL OB14 PACKAGE ALL OB15 PACKAGE 서브프로그램정보 ALL OB16 PACKAGE 생성구문 ALL Privileges PV01 사용자시스템권한 ALL PV02 사용자오브젝트권한 ALL Constraints CT01 전체제약조건목록 ALL CT02 PK, FK, UNIQUE 관련제약조건및테이블, 인덱스목록 ALL CT03 복합인덱스컬럼구성목록 ALL CT04 인덱스정보요약 REP Replication RP01 이중화 sender 정보 REP RP02 이중화 receiver 정보 REP RP03 이중화갭 REP RP04 이중화전체현황 REP RP05 이중화를수행하지못해누적된리두로그파일측정 응용에따라간접적으로 MB 환산이가능. REP RP06 이중화대상테이블목록 ALTIBASE 모니터링쿼리가이드 21 page of 48

22 모니터링쿼리 각모니터링요소에대응하는쿼리로모니터링목적에따라 SELECT, WHERE, LIMIT 절을변경하도록한다. 컬럼에대한간략한설명은있으나컬럼이름이직관적이어서별도의설명이필요없다고판단되는경우, 이전에이미설명한컬럼이중복되어나오는경우에는생략하였다. 컬럼에대한보다상세한설명과이해를위해서기본적으로 ATC ( 에게시된운영자매뉴얼을함께참조하는것을권장한다. Session 세션의상태를확인하기위한각모니터링요소에대응하는쿼리는아래와같다. 특정세션에관한정보만모니터링하려면 WHERE 절에 v$session 의 id 컬럼을기술하면된다. [SS01] 전체세션개수 [back] SELECT count(*) tot_stmt_cnt FROM v$session [SS02] 세션정보 [back] SELECT a.id session_id, a.db_username user_name, replace2(replace2(a.comm_name, 'socket-', null), '-server', null) client_ip, a.client_app_info, a.client_pid, a.session_state, decode(a.autocommit_flag, 1, 'ON', 'OFF') autocommit, decode(a.login_time, 0, '-', to_char(to_date(' ', 'yyyymmddhh') + a.login_time / (24*60*60), 'mm/dd hh:mi:ss')) login_time, decode(a.idle_start_time, 0, '-', to_char(to_date(' ', 'yyyymmddhh') + a.idle_start_time / (24*60*60), 'mm/dd hh:mi:ss')) idle_time, nvl(ltrim(b.query), 'NONE') current_query FROM v$session a left outer join v$statement b on a.current_stmt_id = b.id client_ip 세션과관련된클라이언트응용프로그램의 ip 주소. client_app_info 세션과관련된클라이언트응용프로그램의이름. client_pid session_state idle_time 세션과관련된클라이언트응용프로그램의프로세스아이디로클라이언트응용프로그램이실행되는 OS 에서관련프로세스를식별가능하다. 세션의상태를나타내는문자열로 INIT, AUTH, SERVICE READY, SERVICE, END, ROLLBACK, UNKNOWN 7 가지상태가있다. 세션이아무것도하지않기시작한시간으로 idle_timeout 의기준이된다. 단위는유닉스시간 (unix time) 이다. current_query 세션에서가장마지막으로수행하였거나현재수행중인쿼리. [SS03] SYSDBA 자격으로접속중인세션정보 [back] SELECT a.id session_id, a.db_username user_name, replace2(replace2(a.comm_name, 'socket-', null), '-server', null) client_ip, a.client_app_info, a.client_pid, a.session_state, decode(a.autocommit_flag, 1, 'ON', 'OFF') autocommit, decode(a.login_time, 0, '-', to_char(to_date(' ', 'yyyymmddhh') + a.login_time / (24*60*60), 'mm/dd hh:mi:ss')) login_time, decode(a.idle_start_time, 0, '-', to_char(to_date(' ', 'yyyymmddhh') + ALTIBASE 모니터링쿼리가이드 22 page of 48

23 a.idle_start_time / (24*60*60), 'mm/dd hh:mi:ss')) idle_time, nvl(ltrim(b.query), 'NONE') current_query FROM v$session a left outer join v$statement b on a.current_stmt_id = b.id WHERE a.sysdba_flag = 1 Statement 쿼리의상태를확인하기위한각모니터링요소에대응하는쿼리는아래와같다. 쿼리수행과관련된상세한시간정보를확인하기위해서는기본적으로 TIMED_STATISTICS 가활성화 (1) 되어있어야한다. 특정세션에관한정보만모니터링하려면 WHERE 절에 v$statement 의 session_id 컬럼을기술하면된다. [ST01] 전체쿼리개수 [back] SELECT count(*) as stmt_cnt FROM v$statement [ST02] 쿼리정보 [back] SELECT session_id, id stmt_id, tx_id, (parse_time+validate_time+optimize_time) prepare_time, fetch_time, execute_time, total_time, execute_flag, decode(last_query_start_time, 0, '-', to_char(to_date(' ', 'yyyymmddhh') + last_query_start_time / (24*60*60), 'mm/dd hh:mi:ss')) last_start_time, nvl(ltrim(query), 'NONE') query FROM v$statement ORDER BY execute_time desc stmt_id 쿼리의아이디. tx_id 쿼리와관련된트랜잭션의아이디. prepare_time execute_time fetch_time total_time prepare(parse, validation, optimization) 를수행하는데소요된시간으로단위는마이크로초다. 쿼리가수행될때마다갱신된다. prepare 완료후 execution 을수행하는데소요된시간으로쿼리가수행될때마다갱신된다. query timeout 의기준이되며단위는마이크로초다. 쿼리에대한결과를클라이언트가가져갈 (fetch) 때소요되는시간이다. 결과의크기에따라하나의쿼리는여러번의 fetch 를수행할수있으며이때마다갱신된다. fetch_timeout 의기준이되며단위는마이크로초이다. 하나의쿼리가수행되기위해소요된시간의합계를의미하는것으로 prepare, fetch, execution 을모두포함한다. 쿼리가수행될때마다갱신되며단위는마이크로초다. execute_flag 이값이 0 이면 prepare 만된상태이며 1 이면 execution 중인상태이다. last_start_time 가장마지막으로수행된쿼리가수행을시작한시간으로단위는유닉스시간 (unix time) 이다. 이값은 TIMED_STATISTICS 프로퍼티를활성화 (0) 하지않아도갱신된다. [ST03] 현재수행중인쿼리개수 [back] SELECT count(*) as active_stmt_cnt FROM v$statement WHERE execute_flag = 1 ALTIBASE 모니터링쿼리가이드 23 page of 48

24 [ST04] 현재수행중인쿼리정보 [back] SELECT session_id, id stmt_id, tx_id, (parse_time+validate_time+optimize_time) prepare_time, fetch_time, execute_time, total_time, decode(last_query_start_time, 0, '-', to_char(to_date(' ', 'yyyymmddhh') + last_query_start_time / (24*60*60), 'mm/dd hh:mi:ss')) last_start_time, nvl(ltrim(query), 'NONE') query FROM v$statement WHERE execute_flag = 1 ORDER BY execute_time desc [ST05] 장시간으로수행쿼리정보 (600 초기준 ) [back] SELECT session_id, id stmt_id, tx_id, (parse_time+validate_time+optimize_time) prepare_time, fetch_time, execute_time, total_time, decode(last_query_start_time, 0, '-', to_char(to_date(' ', 'yyyymmddhh') + last_query_start_time / (24*60*60), 'mm/dd hh:mi:ss')) last_start_time, nvl(ltrim(query), 'NONE') query FROM v$statement WHERE execute_flag = 1 and execute_time/ > 600 ORDER BY execute_time desc [ST06] 장시간수행되는 DML 트랜잭션의마지막쿼리정보 (3600 초기준 ) [back] SELECT st.session_id, ss.comm_name client_ip, ss.client_pid, ss.client_app_info, (base_time - tr.first_update_time) as utrans_time, execute_time, total_time, decode(last_query_start_time, 0, '-', to_char(to_date(' ', 'yyyymmddhh') + last_query_start_time / (24*60*60), 'mm/dd hh:mi:ss')) last_start_time, nvl(ltrim(st.query), 'NONE') query FROM v$transaction tr, v$statement st, v$sessionmgr, v$session ss WHERE tr.id = st.tx_id and st.session_id = ss.id and tr.first_update_time!= :read only transaction and (base_time - tr.first_update_time) > 3600 ORDER BY utrans_time desc utrans_time 트랜잭션이최초에변경연산을시작한시점을기준으로현재까지의경과시간을의미한다. utrans_timeout 의기준이되며단위는초 (sec) 다. 참고로이값을계산하기위한 v$sessionmgr 의 base_time 과 v$transaction 의 first_update_time 은 TIMED_STATISTICS 프로퍼티를활성화 (0) 하지않아도갱신된다. ALTIBASE 모니터링쿼리가이드 24 page of 48

25 [ST07] 풀스캔쿼리정보 [back] SELECT session_id, s.comm_name client_ip, s.client_pid, s.client_app_info, decode(last_query_start_time, 0, '-', to_char(to_date(' ', 'yyyymmddhh') + last_query_start_time / (24*60*60), 'mm/dd hh:mi:ss')) last_start_time, (parse_time+validate_time+optimize_time) prepare_time, fetch_time, execute_time, total_time, nvl(ltrim(query), 'NONE') query FROM v$statement t, v$session s WHERE s.id = t.session_id and (mem_cursor_full_scan > 0 or disk_cursor_full_scan > 0) and upper(query) not like '%INSERT%' ORDER BY execute_time desc [ST08] 풀스캔쿼리수행횟수통계 ( 현재접속중인세션에한함 ) [back] SELECT count(execute_success) execute_cnt, substr(ltrim(query),1,40) query FROM v$statement WHERE (mem_cursor_full_scan > 0 or disk_cursor_full_scan > 0) and upper(query) not like '%INSERT%' GROUP BY query ORDER BY execute_cnt desc execute_cnt 성공적으로수행완료된쿼리실행회수의합계 [ST09] 세션별쿼리목록 [back] SELECT session_id, id stmt_id, tx_id, substr(query,1,30) query FROM v$statement ORDER BY 1,2 Service Thread 서비스쓰레드와관련된정보를확인하기위한각모니터링요소에대응하는쿼리는아래와같다. [SV01] 서비스쓰레드상태 [back] SELECT run_mode, state, count(*) cnt FROM v$service_thread GROUP BY run_mode, state run_mode state 서비스쓰레드의작동모드. / SHARED, DEDICATED 서비스쓰레드의상태. 일반적으로 POLL 또는 EXECUTE 상태이다. NONE : 서비스쓰레드가초기화된상태 POLL : 서비스쓰레드가이벤트를기다리고있는상태 QUEUE-WAIT : 서비스쓰레드가작업큐 (Task Queue) 를대기하는상태 EXECUTE : 서비스쓰레드가쿼리를수행중인상태 ALTIBASE 모니터링쿼리가이드 25 page of 48

26 Transaction & Lock 트랜잭션및 Lock 정보를확인하기위한각모니터링요소에대응하는쿼리는아래와같다. [TL01] Transaction 및 lock 정보 [back] SELECT tx.id tx_id, wait_for_trans_id blocked_tx_id, decode(tx.status, 0, 'BEGIN', 1, 'PRECOMMIT', 2, 'COMMIT_IN_MEMORY', 3, 'COMMIT', 4, 'ABORT', 5, 'BLOCKED', 6, 'END') status, decode(tx.log_type, 0, u1.user_name, 'REPLICATION') user_name, decode(tx.log_type, 0, tx.session_id, rt.rep_name) session_id, decode(tx.log_type, 0, st.comm_name, rr.peer_ip) client_ip, decode(st.autocommit_flag, 1, 'ON', 'OFF') autocommit, l.lock_desc, decode(tx.first_update_time, 0, '0', to_char(to_date(' ','yyyymmddhh') + tx.first_update_time / (60*60*24), 'MM/DD HH:MI:SS')) first_update_time, u2.user_name '.' t.table_name table_name, decode(tx.log_type, 0, substr(st.query, 1, 10), 'REMOTE TX_ID ' remote_tid) current_query, decode(tx.ddl_flag,0, 'non-ddl', 'DDL') ddl, decode(tx.first_undo_next_lsn_fileno, -1, '-', tx.first_undo_next_lsn_fileno) 'logfile#' FROM v$transaction tx, v$lock l left outer join (SELECT st.*, ss.autocommit_flag, ss.db_userid, ss.comm_name FROM v$statement st, v$session ss WHERE ss.id = st.session_id and ss.current_stmt_id = st.id) st on l.trans_id = st.tx_id left outer join v$repreceiver_transtbl rt on l.trans_id = rt.local_tid left outer join v$repreceiver rr on rt.rep_name = rr.rep_name left outer join v$lock_wait lw on l.trans_id = lw.trans_id left outer join system_.sys_users_ u1 on st.db_userid = u1.user_id, system_.sys_tables_ t left outer join system_.sys_users_ u2 on t.user_id = u2.user_id WHERE tx.id = l.trans_id and t.table_oid = l.table_oid and tx.status!= :END ORDER BY tx.id, st.id, tx.first_update_time desc tx_id 트랜잭션의아이디. blocked_tx_id lock 획득대기를유발한트랜잭션의아이디로없는경우는공백이다. status 트랜잭션의상태를의미하는 0~6 까지의숫자를문자열로나타낸다. BEGIN(0), PRECOMMIT(1), COMMIT_IN_MEMORY(2), COMMIT(3), ABORT(4), BLOCKED(5), END(6) user_name 트랜잭션을수행중인사용자의이름으로이중화트랜잭션은 REPLICATION 이다. session_id 트랜잭션을수행중인세션의아이디로이중화트랜잭션은해당 이중화객체이름 이다. client_ip 세션과관련된클라이언트응용프로그램의 ip 주소로이중화트랜잭션은 이중화대상서버 의 ip 이다. first_update_time 트랜잭션이최초로변경연산을시작한시간. SELECT 만수행하는트랜잭션은 0 이다. lock_desc lock 에대한문자열로 IX_LOCK, IS_LOCK, X_LOCK 등이있다. table_name lock 획득대상테이블로 사용자이름. 테이블이름 형식으로나타낸다. current_query ddl 트랜잭션에서가장마지막으로수행하였거나현재수행중인쿼리. 이중화트랜잭션의경우는상대편서버의 ip 주소와트랜잭션아이디를나타낸다. 트랜잭션의 DDL 여부. / DDL(0) non-ddl(1) logfile# 트랜잭션과관련된리두로그파일번호. SELECT 만수행하는트랜잭션은 - 이다. ALTIBASE 모니터링쿼리가이드 26 page of 48

27 redo logfile redo logfile 정보를확인하기위한각모니터링요소에대응하는쿼리는아래와같다. [LO01] 리두로그파일정보 [back] SELECT oldest_active_logfile oldest_logfile, current_logfile current_logfile, current_logfile-oldest_active_logfile logfile_gap FROM v$archive oldest_logfile 가장오래된리두로그파일의번호. current_logfile 현재사용중인온라인리두로그파일의번호. logfile_gap 현재사용중인온라인리두로그파일과가장오래된리두로그파일사이의리두로그파일개수. [LO02] 리두로그파일 prepare 대기누적횟수 [back] SELECT lf_prepare_wait_count FROM v$lfg lf_prepare_wait_count 현재리두로그파일에서새로운리두로그파일로 switching 하려할때, 다음리두로그파일이미처생성되지않아 service thread 가기다린횟수를나타낸다. 이값이크다면 PREPARE_LOG_FILE_COUNT 프로퍼티의값을더큰값으로변경후적용 ( 재구동 ) 하여충분한개수의리두로그파일을미리만들어지도록한다. ALTIBASE 구동시점부터누적및합산되는형태로 ALTIBASE 종료시초기화된다. GC GC 정보를확인하기위한각모니터링요소에대응하는쿼리는아래와같다. [GC01] 메모리 DB GC gap [back] SELECT gc_name, scnoftail, minmemscnintxs, add_oid_cnt-gc_oid_cnt gc_gap FROM v$memgc gc_name scnoftail minmemscnintxs gc_gap GC 의이름으로 2 개가존재한다. MEM_LOGICAL_AGER 는인덱스의 old version 을삭제하는 GC 이며 MEM_DELTHR 는테이블레코드의 old version 을삭제하는 GC 이다. GC 에의해확인된삭제해야할 old version 중가장최신 version 의번호 ALTIBASE 가장오래된 old version 의번호 각 GC 가삭제해야할 old version 의양의의미하는것으로이값이클수록삭제해야할 old version 의양이많다는의미이다. 이때 scnoftail > minmemscnintxs 이면 active 트랜잭션때문에삭제를진행하지못하는것이고, 반대로 scnoftail < minmemscnintxs 이면삭제는계속진행중이지만계속되는갱신트랜잭션의완료로인해삭제해야할 old version 이증가하고있는상황으로판단할수있다. [GC02] GC 가대기하고있는트랜잭션에서수행중인쿼리 [back] ALTIBASE 모니터링쿼리가이드 27 page of 48

28 GC 가대기하고있는트랜잭션이란 ALTIBASE 에서가장오래된 old version 을참조하는트랜잭션을의미한다. 이와같은트랜잭션으로인해 GC 가동작하지않고무한히대기하게된다면메모리사용량또한무한히증가될수있으므로 GC gap 증가시확인요소중한가지다. 아래쿼리를수행함으로 GC 가대기하고있는트랜잭션을수행하는세션에서수행한쿼리를확인할수있다. 또한, 인덱스스캔은하나분포도가좋지않아풀스캔이나다름없어순간적인 CPU 소모를하는쿼리를검출할때도유용하게활용될수있다. 주의할것은상황에따라한번의수행으로검출되지않을수있기에주기적, 반복적으로수행하여야한다는것이다. SELECT session_id, total_time, execute_time, tx_id, query FROM v$statement WHERE tx_id in (SELECT id FROM v$transaction WHERE memory_view_scn = (SELECT minmemscnintxs FROM v$memgc limit 1)) and execute_flag = 1 ORDER BY 2 desc Memory OS 에서 ALTIBASE 가점유하는메모리사용률관련정보를확인하기위한각모니터링요소에대응하는쿼리는아래와같다. [MS01] ALTIBASE 의메모리사용현황 ( 모듈단위 ) [back] SELECT name, round(max_total_size/1024/1024) 'ALLOC_MAX(M)', round(alloc_size/1024/1024) 'ALLOC(M)' FROM v$memstat ORDER BY 3 desc NAME ALTIBASE 를구성하는모듈의이름으로모듈의목록은 ALTIBASE 버전에따라차이가있을수있다. 주요모듈에대한간략한설명은아래와같다. Storage_Disk_Ager : Disk Garbage Collection 에사용되는메모리 Storage_Disk_Buffer : Disk Buffer 관리에사용되는메모리 Storage_Disk_Collection : Direct Path Insert 와 LOB 연산에사용되는메모리 Storage_Disk_Datafile : Disk File 관리에사용되는메모리 Storage_Disk_Index : Disk Index 관리에사용되는메모리 Storage_Disk_Page : Disk Page 관리에사용되는메모리 Storage_Disk_Recovery : Disk 복구에사용되는메모리 Storage_Memory_Ager : Memory Garbage Collection 에사용되는메모리 Storage_Memory_Collection : Memory Record 관리에사용되는메모리 Storage_Memory_Interface : Cursor 등의 Interface 관리에사용되는메모리 Storage_Memory_Locking : Locking 관리에사용되는메모리 Storage_Memory_Manager : Memory Data 저장에사용되는메모리 Storage_Memory_Index : Index 관리에사용되는메모리 Storage_Memory_Page : Memory Page 관리에사용되는메모리 Storage_Memory_Recovery : Memory 복구에사용되는메모리 Storage_Memory_Utility : Storage Manager Tool 에사용되는메모리 Storage_Memory_Transaction : Transaction 관리에사용되는메모리 Temp_Memory : Memory Index 저장에사용되는메모리 Transaction_Table : Transaction Table 관리에사용되는메모리 Transaction_OID_List : Garbage Collection 의 OID 저장에사용되는메모리 Transaction_Table_Info : Transaction Table 정보관리에사용되는메모리 ALTIBASE 모니터링쿼리가이드 28 page of 48

29 Index_Memory : Index 저장에사용되는메모리 LOG_Memory : 로깅에사용되는메모리 Query_Meta : meta 정보관리에사용되는메모리 Query_DML : dml 수행에사용되는메모리 Query_Sequence : 시퀀스관리에사용되는메모리 Query_Replication : 이중화에사용되는메모리 Query_PSM_Node : psm array 변수관리에사용되는메모리 Query_PSM_Execute : psm 수행에사용되는메모리 Query_Prepare : 쿼리 prepare 에사용되는메모리 Query_Execute : 쿼리 execution 에사용되는메모리 Query_Transaction : trigger 수행에사용되는메모리 Query_Binding : 쿼리호스트변수 bind 에사용되는메모리 Query_Conversion : 쿼리호스트변수 bind 시 conversion 에사용되는메모리 Query_Common : 쿼리관리에사용되는기타메모리 Mathematics : 각종연산에사용되는메모리 ALLOC_MAX(M) 해당모듈이사용했던최대메모리크기. ALLOC(M) 해당모듈이현재사용하고있는메모리크기. [MS02] ALTIBASE 의메모리사용량합계 [back] SELECT round(sum(max_total_size)/1024/1024) 'ALLOC_MAX(M)', round(sum(alloc_size)/1024/1024) 'ALLOC(M)' FROM v$memstat TBS(tablespace) TBS 정보를확인하기위한각모니터링요소에대응하는쿼리는아래와같다. [TS01] 메모리테이블스페이스사용량 [back] SELECT decode(type, 0, 'MEMORY_DICTIONARY', 1, 'MEMORY_SYS_DATA', 2, 'MEMORY_USER_DATA', 8, 'VOLATILE_USER_DATA') TBS_TYPE, name TBS_NAME, decode(maxsize, , '', round(maxsize/1024/1024,2)) 'MAX(M)', round(allocated_page_count * page_size / 1024 / 1024, 2) 'TOTAL(M)', round(nvl(m.alloc_page_count-m.free_page_count,total_page_count)*page_size/1024/1024,2) 'ALLOC(M)', mt.used 'USED(M)', decode(maxsize, , round((m.alloc_page_count-m.free_page_count)*page_size/ mem_max_db_size*100, 2), decode(maxsize, 0, '-', round((m.alloc_page_count-m.free_page_count)*page_size/maxsize*100, 2))) 'USAGE(%)', round(mt.used / round(allocated_page_count * page_size / 1024 / 1024, 2)*100,2) 'TOTAL_USAGE(%)', decode(state,1,'offline',2,'online',5,'offline BACKUP',6,'ONLINE BACKUP',128,'DROPPED', 'DISCARDED') STATE, decode(autoextend_mode,1,'on','off') 'AUTOEXTEND' FROM v$database d, v$tablespaces t, v$mem_tablespaces m, ( SELECT tablespace_id, round(sum((fixed_used_mem + var_used_mem))/(1024*1024),3) used FROM v$memtbl_info GROUP by tablespace_id) mt WHERE t.id = m.space_id and id = mt.tablespace_id UNION ALL SELECT 'VOLATILE_USER_DATA' TBS_TYPE, space_name TBS_NAME, decode(v.max_size, , '', round(v.max_size/1024/1024,2)) 'MAX(M)', ALTIBASE 모니터링쿼리가이드 29 page of 48

30 round(allocated_page_count * page_size / 1024 / 1024, 2) 'TOTAL(M)', round(nvl(v.alloc_page_count-v.free_page_count,total_page_count)*page_size/1024/1024,2) 'ALLOC(M)', '' 'USED(M)', decode(v.max_size, , round((v.alloc_page_countv.free_page_count)*page_size/d.mem_max_db_size*100, 2), decode(v.max_size, 0, '', round((v.alloc_page_countv.free_page_count)*page_size/v.max_size*100, 2))) 'USAGE(%)', '' 'TOTAL_USAGE(%)', decode(v.space_status,1,'offline',2,'online',5,'offline BACKUP',6,'ONLINE BACKUP',128,'DROPPED', 'DISCARDED') STATE, decode(v.autoextend_mode,1,'on','off') 'AUTOEXTEND' FROM v$database d, v$tablespaces t, v$vol_tablespaces v where t.type = '8' and t.id = v.space_id MAX(M) TOTAL(M) ALLOC(M) USED(M) MAX_USAGE(%) TOTAL_USAGE(%) AUTOEXTEND 메모리테이블스페이스가최대로할당가능한페이지의합계로페이지는 사용중인페이지 와 빈페이지 로구분된다. 최대크기가지정되지않은경우는 UNDEFINED 나 0 으로나타낸다. 메모리테이블스페이스가현재까지할당받은페이지의합계. 즉, 현재까지할당된 사용중인페이지 와 빈페이지 의합계로데이터파일크기와대응한다. ALTIBASE 구동시점엔 사용중인페이지 만메모리에적재된다. 메모리테이블스페이스가현재까지할당받은페이지중 빈페이지 를제외한 사용중인페이지 만의합계이다. 예를들어, 100M 크기의메모리테이블에 DROP 또는 TRUNCATE 를수행하면전체페이지합계는변함없으나페이지반납을통해 사용중인페이지 가 빈페이지 가되므로이값이 0 에가깝게된다. 메모리테이블스페이스의 사용중인페이지 중에서 실제로데이터가적재된페이지 의합계이다. 예를들어, ALLOC 이 100M 크기인메모리테이블에전체 DELELE 를수행하면 ALLOC 은 100M 로변함없으나 USED 는 0 에가깝게된다. 메모리테이블스페이스가 최대로할당가능한페이지 대비 사용중인페이지 에대한백분율.( 즉,MAX/ USED) 딕셔너리테이블스페이스와같이최대크기가지정되지않은메모리테이블스페이스의경우는프로퍼티 MEM_MAX_DB_SIZE 에의해정의되는 전체메모리테이블스페이스가최대로할당가능한페이지 대비로계산되며최대크기를지정하지않은경우는 UNDEFINED 나 0 으로나타낸다. 메모리테이블스페이스가 현재까지할당받은페이지 대비 사용중인페이지 에대한백분율.( 즉,TOTAL/ USED) 최대값이지정되지않은테이블스페이스는 maxsize 가 0 이므로 MAX 대비 USED 를구할수없기때문에해당값이 MAX_USAGE(%) 의사용율을대체한다. 메모리테이블스페이스의자동확장여부. / ON(1), OFF(2) [TS02] 전체메모리테이블스페이스사용량 [back] SELECT mem_max_db_size/1024/1024 'MAX(M)', round(mem_alloc_page_count*32/1024, 2) 'TOTAL(M)', trunc((mem_alloc_page_count-mem_free_page_count)*32/1024, 2) 'ALLOC(M)', (SELECT round(sum((fixed_used_mem + var_used_mem))/(1024*1024),3) FROM v$memtbl_info) 'USED(M)', trunc(((mem_alloc_page_count-mem_free_page_count)*32*1024)/mem_max_db_size, 4)*100 'USAGE(%)' FROM v$database MAX(M) 전체메모리테이블스페이스가최대로할당가능한페이지의합계로프로퍼티 MEM_MAX_DB_SIZE 에의해정의된다. TOTAL(M) 전체메모리테이블스페이스가현재까지할당받은페이지의합계이다. ALLOC(M) 전체메모리테이블스페이스가현재까지할당받은페이지중 빈페이지 를제외한 사용중인페이지 만의합계이다. USED(M) 전체메모리테이블스페이스의 사용중인페이지 중에서 실제로데이터가적재된페이지 의합계이다. USAGE(%) 전체메모리테이블스페이스가 최대로할당가능한페이지 대비 사용중인페이지 에대한백분율. ( 즉,ALLOC/MAX) ALTIBASE 모니터링쿼리가이드 30 page of 48

31 [TS03] 디스크테이블스페이스사용량 [back] SELECT decode(type, 3, 'DISK_SYS_DATA', 4, 'DISK_USER_DATA', 5, 'DISK_SYS_TEMP', 6, 'DISK_USER_TEMP', 7, 'DISK_UNDO') TBS_TYPE, name TBS_NAME, to_char(round(d.max * page_size / 1024 /1024, 2)) 'MAX(M)', round(total_page_count * page_size / 1024 / 1024, 2) 'TOTAL(M)', decode(type, 7, round( (SELECT(sum(total_extent_count*page_count_in_extent)*page_size)/1024/1024 FROM v$udsegs)+ (SELECT(sum(total_extent_count*page_count_in_extent)*page_size)/1024/1024 FROM v$tssegs),2),round(allocated_page_count * page_size / 1024 / 1024, 2)) 'ALLOC(M)', decode(type, 3, to_char(round(nvl(ds.used, 0)/1024/1024, 2)), 4, to_char(round(nvl(ds.used, 0)/1024/1024, 2)), '-') 'USED(M)', decode(type, 7, round(((select sum(total_extent_count*page_count_in_extent) FROM v$udsegs)+ (SELECT sum(total_extent_count*page_count_in_extent) FROM v$tssegs)) / d.max* 100, 2), 3, round((nvl(ds.used, 0))/(d.max*page_size)* 100, 2), 4, round((nvl(ds.used, 0))/(d.max*page_size)* 100, 2), round(allocated_page_count / d.max * 100, 2)) 'USAGE(%)', '' 'TOTAL_USAGE(%)', decode(state, 1, 'OFFLINE', 2, 'ONLINE', 5, 'OFFLINE BACKUP', 6, 'ONLINE BACKUP', 128, 'DROPPED', 'DISCARDED') STATE, d.autoextend FROM v$tablespaces t left outer join(select space_id, sum(total_used_size) USED FROM x$segment GROUP by space_id) ds on ds.space_id = t.id, (SELECT spaceid, sum(decode(maxsize, 0, currsize, maxsize)) as MAX, decode(max(autoextend), 1, 'ON', 'OFF') 'AUTOEXTEND' FROM v$datafiles GROUP by spaceid ) d WHERE t.id = d.spaceid MAX(M) TOTAL(M) ALLOC(M) USED(M) USAGE(%) 변경사항 디스크테이블스페이스가최대로할당가능한페이지의합계로페이지는 사용중인페이지 와 빈페이지 로구분된다. 디스크테이블스페이스가현재까지할당받은페이지의합계. 즉, 현재까지할당된 사용중인페이지 와 빈페이지 의합계로데이터파일크기와대응한다. 디스크테이블스페이스가현재까지할당받은페이지중 빈페이지 를제외한 사용중인페이지 만의합계이다. 예를들어, 100M 크기의디스크테이블에 DROP 또는 TRUNCATE 를수행하면전체페이지합계는변함없으나페이지반납을통해 사용중인페이지 가 빈페이지 가되므로이값이 0 에가깝게된다. 디스크테이블스페이스의 사용중인페이지 중에서 실제로데이터가적재된페이지 의합계이다. 하지만, 디스크테이블스페이스관리기법의변화로인해 ALTIBASE 부터 5.3 까지는확인할수없다. ALTIBASE 4, 5.5 이상부터는메모리테이블스페이스처럼확인이가능하다. 디스크테이블스페이스가 최대로할당가능한페이지 대비 사용중인페이지 에대한백분율이다.( 즉,ALLOC/ TOTAL) 에는 v$udssegs 와 v$tssegs 가없습니다. 아래와같이수정되어야한다. ALLOC(M) USAGE(%) decode(type, 7, round((select sum(total_page_count-free_page_count)*(select page_size from v$tablespaces where id = 3)/1024/1024 FROM v$undo_seg), 2), round(allocated_page_count*page_size/1024/1024, 2)) 'ALLOC(M)' decode(type, 7, round((select sum(total_page_count-free_page_count) FROM v$undo_seg) / d.max* 100, 2), round(allocated_page_count / d.max * 100, 2)) 'USAGE(%)' ALTIBASE 모니터링쿼리가이드 31 page of 48

32 [TS04] 디스크언두테이블스페이스사용량 [back] select t.name TBS_NAME, round(d.max * page_size / 1024 /1024, 2) 'MAX(M)', round((total_page_count * page_size) / 1024 / 1024, 2) 'TOTAL(M)', round((u.total_ext_cnt*prop.extent_size)/1024/1024, 2) 'ALLOC(M)', round(((u.tx_ext_cnt+u.used_ext_cnt+u.unstealable_ext_cnt) * prop.extent_size)/1024/1024, 2) 'USED(M)', round((((u.tx_ext_cnt+u.used_ext_cnt+u.unstealable_ext_cnt) * prop.extent_size)/(d.max*page_size))*100, 2) 'USAGE(%)', decode(state,1,'offline',2,'online',5,'offline BACKUP',6,'ONLINE BACKUP',128,'DROPPED', 'DISCARDED') STATE, d.autoextend from v$tablespaces t, (select spaceid, sum(decode(maxsize, 0, currsize, maxsize)) as MAX, decode(max(autoextend),1,'on','off') 'AUTOEXTEND' from v$datafiles group by spaceid) d, v$disk_undo_usage u, (select value1 extent_size from v$property where name = 'SYS_UNDO_TBS_EXTENT_SIZE') PROP where t.id = d.spaceid and t.id = 3 주요컬럼설명 MAX(M) TOTAL(M) ALLOC(M) USED(M) USAGE(%) STATE 언두테이블스페이스의최대크기언두테이블스페이스로할당받은전체크기현재까지할당받은페이지중 ' 빈페이지 ' 를제외한 ' 사용중인페이지 ' 만의합계사용중인페이지중에서트랜잭션에의해언두로사용중인크기사용량 (MAX 대비 USED) 테이블스페이스상태 [TS05] 트랜잭션별언두테이블스페이스사용량 [back] select tx.id tx_id, decode(tx.session_id, -1, rep_tx.rep_name, tx.session_id) SESSION_ID, decode(tx.session_id, -1, 'REP' ' ' rep_r.peer_ip ':' peer_port, s.comm_name) CLIENT_IP, decode(tx.session_id, -1, 'REPLICATION', u.user_name) USER_NAME, decode(s.autocommit_flag, 1, 'ON', 0, 'OFF', '', 'REPLICATION') AUTOCOMMIT, decode(tx.first_update_time, 0, '0', to_char(to_date(' ','yyyymmddhh') + tx.first_update_time / (60*60*24), 'mm/dd hh:mi:ss')) TX_START_TIME, decode(stmt.last_query_start_time, '', '-', stmt.last_query_start_time) LAST_QUERY_START_TIME, to_char(((ud_s.total_extent_count*ud_s.page_count_in_extent*tbs.page_size)/1024), '999,999,999') 'UNDO_USED(KB)', decode(tx.session_id, -1, 'REMOTE TX_ID ' rep_tx.remote_tid, replace(replace(replace(substring(stmt.query, 1,60), chr(10), ' '),chr(13), ' '),chr(9),' ')) query from v$transaction tx left outer join (select stmt.tx_id, stmt.id stmt_id, decode(stmt.last_query_start_time, 0, '-', to_char(to_date(' ', 'yyyymmddhh') + stmt.last_query_start_time / (24*60*60), 'yy/mm/dd hh:mi:ss')) LAST_QUERY_START_TIME, stmt.query from v$statement stmt, (select tx_id, max(last_query_start_time) last_query_start_time from v$statement group by tx_id) last_query where (stmt.tx_id, stmt.last_query_start_time) in ((last_query.tx_id, last_query.last_query_start_time)) ) stmt on tx.id = stmt.tx_id left outer join v$repreceiver_transtbl rep_tx on tx.id = rep_tx.local_tid left outer join v$repreceiver rep_r on rep_tx.rep_name = rep_r.rep_name left outer join v$session s on tx.session_id = s.id left outer join system_.sys_users_ u on s.db_userid = u.user_id, v$tablespaces tbs, v$txsegs tx_s, v$udsegs ud_s ALTIBASE 모니터링쿼리가이드 32 page of 48

33 where 1=1 and tx.id = tx_s.trans_id and tx_s.id = ud_s.txseg_entry_id and ud_s.space_id = tbs.id 주요컬럼설명 TX_ID SESSION_ID CLIENT_IP USER_NAME AUTOCOMMIT TX_START_TIME LAST_QUERY_START_TIME UNDO_USED(KB) QUERY 트랜잭션 ID 세션ID. 이중화트랜잭션의경우이중화객체이름클라이언트 IP. 이중화의경우 PEER IP 데이터베이스유저. 이중화트랜잭션의경우 'REPLICATION' AUTOCOMMIT MODE. 이중화트랜잭션의경우 'REPLICATION' 트랜잭션의시작시각트랜잭션내 SQL문시작시각트랜잭션의언두테이블스페이스사용량 SQL문장 [TS06] 전체테이블스페이스사용량 [back] SELECT 'MEMORY_DB_TOTAL' TBS_TYPE, '-' TBS_NAME, to_char(mem_max_db_size/1024/1024) 'MAX(M)', round(mem_alloc_page_count*32/1024, 2) 'TOTAL(M)', trunc((mem_alloc_page_count-mem_free_page_count)*32/1024, 2) 'ALLOC(M)', to_char((select round(sum((fixed_used_mem + var_used_mem))/(1024*1024),3) from v$memtbl_info)) 'USED(M)', trunc(((mem_alloc_page_count-mem_free_page_count)*32*1024)/mem_max_db_size, 4)*100 'USAGE(%)', '' 'TOTAL_USAGE(%)', '' STATE, '' 'AUTOEXTEND' FROM v$database UNION ALL SELECT decode(type, 0, 'MEMORY_DICTIONARY', 1, 'MEMORY_SYS_DATA', 2, 'MEMORY_USER_DATA', 8, 'VOLATILE_USER_DATA') TBS_TYPE, name TBS_NAME, decode(maxsize, , '', round(maxsize/1024/1024,2)) 'MAX(M)', round(allocated_page_count * page_size / 1024 / 1024, 2) 'TOTAL(M)', round(nvl(m.alloc_page_count-m.free_page_count,total_page_count)*page_size/1024/1024,2) 'ALLOC(M)', mt.used 'USED(M)', decode(maxsize, , round((m.alloc_page_count-m.free_page_count)*page_size/ mem_max_db_size*100, 2), decode(maxsize, 0, '', round((m.alloc_page_count-m.free_page_count)*page_size/maxsize*100, 2))) 'USAGE(%)', round(mt.used / round(allocated_page_count * page_size / 1024 / 1024, 2)*100,2) 'TOTAL_USAGE(%)', decode(state,1,'offline',2,'online',5,'offline BACKUP',6,'ONLINE BACKUP',128,'DROPPED', 'DISCARDED') STATE, decode(autoextend_mode,1,'on','off') 'AUTOEXTEND' FROM v$database d, v$tablespaces t, v$mem_tablespaces m, ( SELECT tablespace_id, round(sum((fixed_used_mem + var_used_mem))/(1024*1024),3) used FROM v$memtbl_info GROUP by tablespace_id) mt WHERE t.id = m.space_id and id = mt.tablespace_id UNION ALL SELECT 'VOLATILE_USER_DATA' TBS_TYPE, space_name TBS_NAME, decode(v.max_size, , '', round(v.max_size/1024/1024,2)) 'MAX(M)', round(allocated_page_count * page_size / 1024 / 1024, 2) 'TOTAL(M)', ALTIBASE 모니터링쿼리가이드 33 page of 48

34 round(nvl(v.alloc_page_count-v.free_page_count,total_page_count)*page_size/1024/1024,2) 'ALLOC(M)', '' 'USED(M)', decode(v.max_size, , round((v.alloc_page_countv.free_page_count)*page_size/d.mem_max_db_size*100, 2), decode(v.max_size, 0, '', round((v.alloc_page_countv.free_page_count)*page_size/v.max_size*100, 2))) 'USAGE(%)', '' 'TOTAL_USAGE(%)', decode(v.space_status,1,'offline',2,'online',5,'offline BACKUP',6,'ONLINE BACKUP',128,'DROPPED', 'DISCARDED') STATE, decode(v.autoextend_mode,1,'on','off') 'AUTOEXTEND' FROM v$database d, v$tablespaces t, v$vol_tablespaces v WHERE t.type = '8' and t.id = v.space_id UNION ALL SELECT decode(type, 3, 'DISK_SYS_DATA', 4, 'DISK_USER_DATA', 5, 'DISK_SYS_TEMP', 6, 'DISK_USER_TEMP', 7, 'DISK_UNDO') TBS_TYPE, name TBS_NAME, to_char(round(d.max * page_size / 1024 /1024, 2)) 'MAX(M)', round(total_page_count * page_size / 1024 / 1024, 2) 'TOTAL(M)', decode(type, 7, round( (SELECT(sum(total_extent_count*page_count_in_extent)*page_size)/1024/1024 FROM v$udsegs)+ (SELECT(sum(total_extent_count*page_count_in_extent)*page_size)/1024/1024 FROM v$tssegs),2),round(allocated_page_count * page_size / 1024 / 1024, 2)) 'ALLOC(M)', decode(type, 3, to_char(round(nvl(ds.used, 0)/1024/1024, 2)), 4, to_char(round(nvl(ds.used, 0)/1024/1024, 2)), '') 'USED(M)', decode(type, 7, round(((select sum(total_extent_count*page_count_in_extent) FROM v$udsegs)+ (SELECT sum(total_extent_count*page_count_in_extent) FROM v$tssegs)) / d.max* 100, 2), 3, round((nvl(ds.used, 0))/(d.max*page_size)* 100, 2), 4, round((nvl(ds.used, 0))/(d.max*page_size)* 100, 2), round(allocated_page_count / d.max * 100, 2)) 'USAGE(%)', '' 'TOTAL_USAGE(%)', decode(state, 1, 'OFFLINE', 2, 'ONLINE', 5, 'OFFLINE BACKUP', 6, 'ONLINE BACKUP', 128, 'DROPPED', 'DISCARDED') STATE, d.autoextend FROM v$tablespaces t left outer join(select space_id, sum(total_used_size) USED FROM x$segment GROUP by space_id) ds on ds.space_id = t.id, (SELECT spaceid, sum(decode(maxsize, 0, currsize, maxsize)) as MAX, decode(max(autoextend), 1, 'ON', 'OFF') 'AUTOEXTEND' FROM v$datafiles GROUP by spaceid ) d WHERE t.id = d.spaceid 변경사항 에는 v$udssegs 와 v$tssegs 가없습니다. 디스크테이블스페이스쿼리의컬럼은아래와같이수정되어야합니다. ALLOC(M) USAGE(%) decode(type, 7, round((select sum(total_page_count-free_page_count)*(select page_size from v$tablespaces where id = 3)/1024/1024 FROM v$undo_seg), 2), round(allocated_page_count*page_size/1024/1024, 2)) 'ALLOC(M)' decode(type, 7, round((select sum(total_page_count-free_page_count) FROM v$undo_seg) / d.max* 100, 2), round(allocated_page_count / d.max * 100, 2)) 'USAGE(%)' ALTIBASE 모니터링쿼리가이드 34 page of 48

35 [TS07] 메모리테이블스페이스데이터파일체크포인트경로 [back] SELECT m.space_id tbs_id, space_name tbs_name, checkpoint_path FROM v$mem_tablespaces m, v$mem_tablespace_checkpoint_paths c WHERE m.space_id = c.space_id [TS08] 메모리테이블스페이스데이터파일 [back] SELECT mem_data_file datafile_name FROM v$stable_mem_datafiles datafile_name 데이터파일의이름. 물리적인경로와파일명까지나타낸다. [TS09] 디스크테이블스페이스데이터파일 [back] SELECT b.name tbs_name, a.id 'FILE#', a.name datafile_name, currsize*8/1024 'ALLOC(M)', round(case2(a.maxsize=0, currsize, a.maxsize)*8/1024) 'MAX(M)', decode(autoextend, 0, 'OFF', 'ON') 'AUTOEXTEND' FROM v$datafiles a, v$tablespaces b WHERE b.id = a.spaceid ORDER BY b.name, a.id FILE# 데이터파일의번호. 하나의디스크테이블스페이스는여러개의데이터파일을가질수있다. [TS10] 디스크테이블스페이스데이터파일별 I/O [back] SELECT name tbs_name, a.phyrds phy_read, a.phywrts phy_write, a.phyrds+a.phywrts phy_total, trunc(a.phyrds/read_sum*100,2) 'READ(%)', trunc(a.phywrts/write_sum*100,2) 'WRITE(%)', trunc( (a.phyrds+a.phywrts) / (read_sum+write_sum) * 100, 2) 'TOTAL(%)', a.avgiotim avg_io_time FROM v$filestat a, v$datafiles b, (SELECT sum(phyrds) read_sum, sum(phywrts) write_sum FROM v$filestat ) c WHERE a.spaceid = b.spaceid and a.fileid = b.id and read_sum > 0 and write_sum > 0 ORDER BY a.phyrds+a.phywrts desc, rownum desc phy_read 물리적 Read I/O 발생회수. phy_write 물리적 Write I/O 발생회수. phy_total 물리적 I/O 발생회수. read_per 전체물리적 Read I/O 대비발생비율. write_per 전체물리적 Write I/O 대비발생비율. total_per 전체물리적 I/O 대비발생비율. ALTIBASE 모니터링쿼리가이드 35 page of 48

36 avg_io_time 평균물리적 I/O 시간으로단위는밀리초다. [TS11] 디스크테이블스페이스데이터파일별단일페이지 Read I/O [back] SELECT b.name tbs_name, a.singleblkrds read_cnt_per_page, a.singleblkrdtim read_time_per_page, trunc(a.singleblkrdtim/a.singleblkrds,2) average_time FROM v$filestat a, v$datafiles b WHERE a.spaceid = b.spaceid and a.fileid = b.id and a.singleblkrds > 0 ORDER BY average_time desc singleblkrds 단일페이지에대한 Read 개수. singleblkrdtim 단일페이지에대한 Read 시간으로단위는밀리초이다. average_wait 단일페이지에대한평균 Read 시간으로단위는밀리초이다. [TS12] 임시테이블스페이스사용량 [back] SELECT sum(normal_area_size) SUM_NORMAL_AREA_SIZE FROM x$temptable_stats WHERE drop_time = ' _090000' NORMAL_AREA_SIZE 사용한 Temp Tablespace 공간의크기 [TS13] 트랜잭션별임시테이블스페이스사용량 [back] select NORMAL_AREA_SIZE from x$temptable_stats t, v$statement stmt where t.transaction_id = stmt.tx_id NORMAL_AREA_SIZE 사용한 Temp Tablespace 공간의크기 [TS14] 전체테이블스페이스상태 [back] SELECT name tbs_name, decode(state, 1, 'OFFLINE', 2, 'ONLINE', 5, 'OFFLINE BACKUP', 6, 'ONLINE BACKUP', 128, 'DROPPED', 'DISCARD') state FROM v$tablespaces Disk Buffer Disk Buffer 정보를확인하기위한각모니터링요소에대응하는쿼리는아래와같다. ALTIBASE 모니터링쿼리가이드 36 page of 48

37 [DB01] 디스크버퍼 Hit Ratio [back] SELECT hit_ratio 'HIT_RATIO(%)' FROM v$buffpool_stat HIT_RATIO(M) ALTIBASE 구동이후부터 Disk Buffer 에이미적재된 page 가재사용되는비율을의미하는것으로이값이작을수록물리적인읽기 (read page) 횟수가많다는것이다. 물리적인읽기횟수가많으면, 시스템이빠른질의처리를못한다. 이컬럼은 (get_pages + fix_pages - read_pages) / (get_pages + fix_pages) 계산을수행한것이다. Object object 정보를확인하기위한각모니터링요소에대응하는쿼리는아래와같다. [OB01] 메모리테이블 [back] SELECT a.user_name, b.table_name, d.name tablespace_name, c.table_oid, round((c.fixed_alloc_mem + c.var_alloc_mem)/(1024*1024),2) 'ALLOC(M)', round((c.fixed_used_mem + c.var_used_mem)/(1024*1024),2) 'USED(M)', round((c.fixed_used_mem + c.var_used_mem)/(c.fixed_alloc_mem + c.var_alloc_mem)*100,2) 'EFFICIENCY(%)' FROM system_.sys_users_ a, system_.sys_tables_ b, v$memtbl_info c, v$tablespaces d WHERE a.user_name <> 'SYSTEM_' and b.table_type = 'T' and a.user_id = b.user_id and b.table_oid = c.table_oid and b.tbs_id = d.id ALLOC(M) 테이블이할당받은페이지의합계이다. USED(M) EFFICIENCY(%) 테이블이할당받은페이지중에서 실제로데이터가적재된페이지 의합계이다. 예를들어, ALLOC 이 100M 크기인메모리테이블에전체 DELELE 를수행하면 ALLOC 은 100M 로변함없으나 USED 는 0 에가깝게된다. 테이블이소유한페이지중에서 실제로데이터가적재된페이지 에대한백분율로공간효율성을나타낸다. ( 즉, USED/ALLOC) [OB02] 큐 [back] SELECT a.user_name, b.table_name, d.name tablespace_name, c.table_oid, round((c.fixed_alloc_mem + c.var_alloc_mem)/(1024*1024),2) 'ALLOC(M)', round((c.fixed_used_mem + c.var_used_mem)/(1024*1024),2) 'USED(M)', round((c.fixed_used_mem + c.var_used_mem)/(c.fixed_alloc_mem + c.var_alloc_mem)*100,2) 'EFFICIENCY(%)' FROM system_.sys_users_ a, system_.sys_tables_ b, v$memtbl_info c, v$tablespaces d WHERE a.user_name <> 'SYSTEM_' ALTIBASE 모니터링쿼리가이드 37 page of 48

38 and b.table_type = 'Q' and a.user_id = b.user_id and b.table_oid = c.table_oid and b.tbs_id = d.id [OB03] Efficiency 가낮은메모리테이블 ( 크기가 1024M, Efficiency 가 50% 이하 ) [back] SELECT c.user_name, b.table_name, round((fixed_alloc_mem+var_alloc_mem)/1024/1024, 2) as 'ALLOC(M)', round((((fixed_alloc_mem+var_alloc_mem)-(fixed_used_mem+var_used_mem))/1024/1024),2) 'FREE(M)', round((fixed_used_mem+var_used_mem)/(fixed_alloc_mem+var_alloc_mem+0.01)*100, 2) 'EFFICIENCY(%)' FROM v$memtbl_info a, system_.sys_tables_ b, system_.sys_users_ c WHERE a.table_oid = b.table_oid and b.user_id = c.user_id and round((fixed_alloc_mem+var_alloc_mem)/1024/1024, 2) >= 1024 and round((fixed_used_mem+var_used_mem)/(fixed_alloc_mem+var_alloc_mem+0.01)*100, 2) <= 50 and b.user_id <> 1 ORDER BY 'FREE(M)' desc FREE(M) 테이블이할당받은페이지에서 실제로데이터가적재된페이지 를제외한페이지의합계 ( 즉, ALLOC-USED) [OB04] 메모리인덱스, 큐인덱스 [back] SELECT c.user_name, decode(f.table_type, 'Q', 'QUEUE', 'T', 'TABLE') object_type, table_name object_name, d.space_name tablespace_name, e.index_name, rpad(case2(e.index_type=1, 'b-tree', 'r-tree'),10,' ') index_type, '16 bytes * rowcount' 'ALLOC' FROM v$index b, system_.sys_users_ c, v$mem_tablespaces d, system_.sys_indices_ e, system_.sys_tables_ f WHERE b.index_id = e.index_id and e.user_id = c.user_id and f.user_id = e.user_id and f.tbs_id = d.space_id and f.table_oid = b.table_oid and c.user_name <> 'SYSTEM_' [OB05] 디스크인덱스및사용량 [back] -- NON-PARTITIONED INDEX SELECT u.user_name as 'USER_NAME', tbl.table_name as 'TABLE_NAME', decode(tbl.is_partitioned, 'F', 'NON-PARTITIONED', 'T', 'PARTITIONED') as 'PARTITIONED', idx.index_name as 'INDEX_NAME', 'NON-PARTITIONED' as 'PARTITION_INDEX', tbs.name as 'TBS_NAME', round((tbs.total_page_count*tbs.page_size)/1024,1) as 'TBS_MAX(KB)',-- 테이블스페이스의최대크기 round((tbs.extent_page_count * tbs.page_size * seg.total_extent_count)/1024, 1) as 'ALLOC(KB)', -- 테이블에서할당받은전체크기 ALTIBASE 모니터링쿼리가이드 38 page of 48

ALTIBASE 모니터링 쿼리 가이드

ALTIBASE 모니터링 쿼리 가이드 Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE 모니터링쿼리가이드 ALTIBASE 5.3.3 (5.1.5) 2010. 03.31 Copyright c 2000~2010 ALTIBASE Corporation. All Rights Reserved. Document Control Change Record Date Author

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

PowerPoint Presentation

PowerPoint Presentation Server I/O utilization System I/O utilization V$FILESTAT V$DATAFILE Data files Statspack Performance tools TABLESPACE FILE_NAME PHYRDS PHYBLKRD READTIM PHYWRTS PHYBLKWRT WRITETIM ------------- -----------------------

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

슬라이드 1

슬라이드 1 c ALTIBASE HDB ADMINISTRATION II MONITORING TRACE FILES META TABLES PERFORMANCE VIEWS 통계정보수집 TRACE FILES 모니터링항목 모니터링항목평상시혹은문제가발생했을때확인해야하는항목 trace file 알티베이스가구동중발생하는여러사항들에대한 trace 정보들이기록된파일 $ALTIBASE_HOME/trc

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

ALTIBASE XDB Release Note APRIL 22, 2014

ALTIBASE XDB Release Note APRIL 22, 2014 6.1.3 Release Note APRIL 22, 2014 목차 목차... 2 1. 시스템요구사항... 3 2. 릴리스정보... 4 2.1 6.1.3의주요기능... 4 2.2 변경사항... 8 데이터베이스버전... 8 호환성... 8 프로퍼티... 8 성능뷰... 8 에러메시지... 8 2.3 패키지... 9 2.4 다운로드... 10 위치... 10 설치...

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE STARTUP/STOP 과정의이해 2010. 05 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change Reference

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

제품소개

제품소개 Hybrid MM DBMS ALTIBASE 4 4 Technical Features : Part I Storage Manager ( 주 ) 알티베이스김성진 sjkim@altibase.com -2- CONTENTS 1. Problems & Goals 2. SM Architecture 3. Concurrency Control 4. TableSpace 5. Layers

More information

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터 Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

歯sql_tuning2

歯sql_tuning2 SQL Tuning (2) SQL SQL SQL Tuning ROW(1) ROW(2) ROW(n) update ROW(2) at time 1 & Uncommitted update ROW(2) at time 2 SQLDBA> @ UTLLOCKT WAITING_SESSION TYPE MODE_REQUESTED MODE_HELD LOCK_ID1

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

62

62 2 instance database physical storage 2 1 62 63 tablespace datafiles 2 2 64 1 2 logical view control files datafiles redo log files 65 2 3 9i OMF Oracle Managed Files, OMF 9i 9i / / OMF 9i 66 8 1MB 8 10MB

More information

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUERY 을실행하게된다면 BLOCK I/O 가많이발생하게된다. 이런이유로 QUERY 의성능은좋지못할것이다.

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING

More information

목 차

목      차 Oracle 9i Admim 1. Oracle RDBMS 1.1 (System Global Area:SGA) 1.1.1 (Shared Pool) 1.1.2 (Database Buffer Cache) 1.1.3 (Redo Log Buffer) 1.1.4 Java Pool Large Pool 1.2 Program Global Area (PGA) 1.3 Oracle

More information

PowerPoint Presentation

PowerPoint Presentation 6 장 SQL (section 4-6) 목차 SECTION 01 SQL 의개요 1-1 SQL의역사 1-2 SQL의유형별종류 SECTION 02 데이터정의어 (DDL) 2-1 스키마 2-2 테이블생성 (CREATE TABLE) 2-3 테이블변경 (ALTER TABLE) 2-4 테이블제거 (DROP TABLE) 2-5 제약조건 SECTION 03 데이터조작어 (DML)

More information

PowerPoint Presentation

PowerPoint Presentation FORENSIC INSIGHT; DIGITAL FORENSICS COMMUNITY IN KOREA SQL Server Forensic AhnLab A-FIRST Rea10ne unused6@gmail.com Choi Jinwon Contents 1. SQL Server Forensic 2. SQL Server Artifacts 3. Database Files

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE 기본적인장애대응절차 ALTIBASE 2010. 03 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change Reference

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 5.3.3.93 Patch Notes Table of Contents BUG-27950 ALL PRIVILEGES 권한을가진계정이다른계정의테이블에 Foreign Key 를 생성하지못한다. 3 BUG-38105 PASSWORD_LIFE_TIME 경과후유예기간 (PASSWORD_GRACE_TIME) 내에 접속을시도할경우알림메시지를발생해야한다.

More information

Tina Admin

Tina Admin Lock session 확인 2010 년 01 월 27 일 DB 기술지원팀 문서정보 프로젝트명 Lock session 확인 서브시스템명 버전 1.0 문서명 작성일 2011-01-31 작성자 최종수정일 2011-01-31 문서번호 재개정이력 일자내용수정인버전 문서배포이력 발신자수신자배포목적일자비고 유니원아이앤씨 기술문서. Table of Contents 1 오라클의

More information

The Self-Managing Database : Automatic Health Monitoring and Alerting

The Self-Managing Database : Automatic Health Monitoring and Alerting The Self-Managing Database : Automatic Health Monitoring and Alerting Agenda Oracle 10g Enterpirse Manager Oracle 10g 3 rd Party PL/SQL API Summary (Self-Managing Database) ? 6% 6% 12% 55% 6% Source: IOUG

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.3.1.10.6 Patch Notes 목차 BUG-45060 offline replication start 와 replication drop 을동시에수행하는경우, replication start 가완료되지않았으면 replication drop 을수행하지못하도록수정하였습니다... 4 BUG-46193 메모리테이블의이중화병렬 sync

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id=entitymanagerfactory class=org.springframework.orm.jpa.localentitymanagerfactorybean p:persistenceunitname= JPA 와 Hibernate - 스프링의 JDBC 대신에 JPA를이용한 DB 데이터검색작업 - JPA(Java Persistence API) 는자바의 O/R 매핑에대한표준지침이며, 이지침에따라설계된소프트웨어를 O/R 매핑프레임워크 라고한다. - O/R 매핑 : 객체지향개념인자바와관계개념인 DB 테이블간에상호대응을시켜준다. 즉, 객체지향언어의인스턴스와관계데이터베이스의레코드를상호대응시킨다.

More information

Commit_Wait / Commit_Logging 두파라미터를통해 Log File Sync 대기시간을감소시킬수있다는것은놀라움과의아함을동시에느낄수있다. 단지파라미터의수정을통해당연히대기해야하는시간을감축한다는것은분명성능을개선해야하는입장에서는놀라운일이될것이다. 반면, 그에따

Commit_Wait / Commit_Logging 두파라미터를통해 Log File Sync 대기시간을감소시킬수있다는것은놀라움과의아함을동시에느낄수있다. 단지파라미터의수정을통해당연히대기해야하는시간을감축한다는것은분명성능을개선해야하는입장에서는놀라운일이될것이다. 반면, 그에따 Commit Wait Class 대기시간감소방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 Wait Class 중 Commit 카테고리에해당하는 Wait Event 에의한대기현상으로 DB 시스템의성능저하현상이발생하는것은종종경험할수있다. 그중대표적인 Wait Event 는 Log File Sync 이다. 실제로대부분의 DB 시스템의 Top 5 Wait Event

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

OCP PL/SQL

OCP PL/SQL 5 장 managing Database Storage Structures 2 1-2 1. 오라클스토리지구조 오라클 데이터베이스 테이블스페이스 세그먼트 익스텐트 테이블스페이스 세그먼트 익스텐트 세그먼트 익스텐트 테이블스페이스 익스텐트 세그먼트 익스텐트 오브젝트 세그먼트테이블인덱스파티션파티션인덱스 뷰시퀀스동의어 시스템 데이터블록 운영체제블록 디스크 데이터파일 SQL>

More information

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770> 제 8강 SQL: 관계데이터베이스언어 강의목표 관계데이타베이스언어로서상용 DBMS에서가장널리사용되는 SQL의동작원리에관하여학습하고, 이를이용하여다양한질의문을작성하는방법을습득한다 기대효과 SQL의데이터정의기능을이해한다 SQL의데이터조작기능중질의기능을이해한다 SQL의데이터조작기능중데이터갱신기능을이해한다 SQL의데이터조작기능중뷰및인덱스관련기능을이해한다 SQL 의개요

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r -------------------------------------------------------------------- -- 1. : ts_cre_bonsa.sql -- 2. :

More information

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT Study Room Doc.03 : SQLD 예상문제 ( 단답형 ) 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 26,25,24,21 회기출문제를바탕으로작성 작성자 : 월야루 도움 : 빙수민외카페댓글 2017-11-30 단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL

More information

untitled

untitled PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0

More information

슬라이드 1

슬라이드 1 알티베이스의 DBMS 를바라보다! Session1. 오라클의눈으로알티베이스를보다 Session2. ALTIBASE HDB ZETA 소개 (New Feature & Utility) ALTIBASE 교육센터소개 Altibase Corp. 교육컨설팅팀성원준 AGENDA 1. Altibase 교육센터소개 2. Altibase 교육과정소개 Altibase 교육센터소개

More information

Microsoft Word - Altibase5_UserMemoryTablespace

Microsoft Word - Altibase5_UserMemoryTablespace Real Alternative DBMS ALTIBASE Altibase User Memory Tablespace 알티베이스기술백서 2008 년 6 월 목 차 사용자메모리테이블스페이스의필요성... 3 테이블스페이스종류... 3 사용자메모리테이블스페이스특징... 4 메모리테이블스페이스구조...4 메모리테이블스페이스속성...5 메모리테이블스페이스의상태...5 메모리테이블스페이스활용...

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 9 장인덱스를배웁니다 1 1. 인덱스란무엇인가? 2 - ROWID ( 주소 ) 조회하기 SCOTT>SELECT ROWID, empno, ename 2 FROM emp 3 WHERE empno=7902 ; ROWID EMPNO ENAME --------------------------------- ----------

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

Oracle Wait Interface Seminar

Oracle Wait Interface Seminar 1 대용량 DBMS 의효율적인 모니터링및성능관리방안 Copyrights 2001~2007, EXEM Co., LTD. All rights reserved. 목차 2 1. 성능문제와 OWI 분석방법론 2. OWI 구성요소 3. Latch & LOCK 4. Oracle I/O 5. Cache Buffer 3 성능문제와 OWI 분석방법론 성능지연사례 1) 평소에

More information

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

PRO1_02E [읽기 전용]

PRO1_02E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_02E1 Information and 2 STEP 7 3 4 5 6 STEP 7 7 / 8 9 10 S7 11 IS7 12 STEP 7 13 STEP 7 14 15 : 16 : S7 17 : S7 18 : CPU 19 1 OB1 FB21 I10 I11 Q40 Siemens AG

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

6장. SQL

6장. SQL 학습목표 SQL이 무엇인지 개념을 설명 테이블을 생성, 변경, 제거할 할 수 있다. 수 있다. 데이터를 검색, 갱신, 삽입, 삭 제할 수 있다. 뷰, 시스템 카탈로그, 저장 프 로시저, 트리거에 대한 개념 을 설명할 수 있다. 2 목차 SECTION 01 SQL의 개요 11 SQL의 역사 12 SQL의 유형별 종류 SECTION 0 21 스키마 22 테이블

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

초보자를 위한 분산 캐시 활용 전략

초보자를 위한 분산 캐시 활용 전략 초보자를위한분산캐시활용전략 강대명 charsyam@naver.com 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 그러나현실은? 서비스에필요한것은? 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 적절한기능 서비스안정성 트위터에매일고래만보이면? 트위터에매일고래만보이면?

More information

TITLE

TITLE CSED421 Database Systems Lab MySQL Basic Syntax SQL DML & DDL Data Manipulation Language SELECT UPDATE DELETE INSERT INTO Data Definition Language CREATE DATABASE ALTER DATABASE CREATE TABLE ALTER TABLE

More information

강의 개요

강의 개요 정규화와 SELECT (II) 웹데이터베이스 학과 학생 과목 학과 지도교수 학과학번성명 수강과목 담당교수 A 김수정 A 0001 고길동 성질이론 김수정 B 허영만 A 0002 둘리 한식의멋 허영만 C 강풀 B 0003 희동이 심리학의이해 강풀 과목 _ 성적 학번 수강과목 성적 0001 성질이론 A 0001 한식의멋 C 0002 성질이론 A 0002 한식의멋

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 1. 데이터베이스환경 (#2/2) 2013.03.04. 오병우 컴퓨터공학과 Database 용어 " 데이타베이스 용어의기원 1963.6 제 1 차 SDC 심포지움 컴퓨터중심의데이타베이스개발과관리 Development and Management of a Computer-centered Data Base 자기테이프장치에저장된데이터파일을의미

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 2010. 09 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change

More information

Contents Data Mart 1. 개요 실습방향 테스트위한사전설정 본격실습시작 ) 데이터파일 dd 명령어로 백업수행및유실시키기 ) 장애복구수행 결론...7 페이지 2 / 7

Contents Data Mart 1. 개요 실습방향 테스트위한사전설정 본격실습시작 ) 데이터파일 dd 명령어로 백업수행및유실시키기 ) 장애복구수행 결론...7 페이지 2 / 7 ( 참 ) 본상단부머리말에있는 Data Mart 는본문서작성자의블로그이름입니다 dd 명령어를 이용한백업수행 최소개념이해 본문서의 pdf 문서는다음 URL 참조 http://mindata.tistory.com/55 Version 변경일자 ( 작성일자 ) 변경자 ( 작성자 ) 주요내용 1 2013.4.3 김민기 최초작성 2 3 페이지 1 / 7 Contents

More information

목차 목차 시스템요구사항... 3 하드웨어최저사양... 4 운영체제및플랫폼 릴리스정보 의새로운기능 변경사항 패키지 다운로드... 14

목차 목차 시스템요구사항... 3 하드웨어최저사양... 4 운영체제및플랫폼 릴리스정보 의새로운기능 변경사항 패키지 다운로드... 14 6.5.1 Release Notes (2015/05) 목차 목차... 2 1. 시스템요구사항... 3 하드웨어최저사양... 4 운영체제및플랫폼... 4 2. 릴리스정보... 5 2.1 6.5.1의새로운기능... 6 2.2 변경사항... 11 2.3 패키지... 13 2.4 다운로드... 14 1. 시스템요구사항 하드웨어최저사양 1GB RAM ( 권장 : 2GB)

More information

<4D F736F F D203033C6C4C6BCBCC72DB8AEBFC0B1D7B9E6B9FD2E646F63>

<4D F736F F D203033C6C4C6BCBCC72DB8AEBFC0B1D7B9E6B9FD2E646F63> Reviewed by Oracle Certified Master Korea Community ( http:www.ocmkorea.com http:cafe.daum.netoraclemanager ) 1.1.1 파티션테이블에서사용할수있는리오그방법파티션 level 의 importexport 방법을이용해파티션테이블중특정파티션 ( 혹은서브파티션 ) 만을선택적으로리오그할수있다.

More information

NoSQL

NoSQL MongoDB Daum Communications NoSQL Using Java Java VM, GC Low Scalability Using C Write speed Auto Sharding High Scalability Using Erlang Read/Update MapReduce R/U MR Cassandra Good Very Good MongoDB Good

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE Quick Install & Start for UNIX ALTIBASE 5 2010. 03 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA Spotlight on Oracle V10.x DELL SOFTWARE KOREA 2016-11-15 Spotlight on Oracle 목차 1. 시스템요구사항... 2 1.1 지원하는데이터베이스...2 1.2 사용자설치홖경...2 2. 프로그램설치... 3 2.1 설치프로그램실행...3 2.2 라이선스사용관련내용확인및사용동의...3 2.3 프로그램설치경로지정...4

More information

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역 WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역시쉽게해결할수있다. 이번화이트페이퍼에서는 Window Function 중순위 RANK, ROW_NUMBER,

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

5장 SQL 언어 Part II

5장 SQL 언어 Part II 5 장 SQL 언어 Part II 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 1 / 26 데이터조작문 데이터검색 : SELECT 문데이터추가 : INSERT 문데이터수정 : UPDATE 문데이터삭제 : DELETE 문 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 2 / 26 SELECT

More information

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 (

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 ( 배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 ( 이후배치프로그램 ) 에대한성능문제를파악하기위해수행되는모든 SQL 에대한개별수행내역을정확히판단할수있어야한다.

More information

MaxGauge( 맥스게이지 ) 를이용한 SQL 모니터링, 진단 / 분석및튜닝가이드 엑셈

MaxGauge( 맥스게이지 ) 를이용한 SQL 모니터링, 진단 / 분석및튜닝가이드 엑셈 MaxGauge( 맥스게이지 ) 를이용한 SQL 모니터링, 진단 / 분석및튜닝가이드 엑셈 I. MAXGAUGE 소개및기대효과 II. 개발단계에서의튜닝프로세스확립 III. 테스트 ( 단위 / 부하 ) 단계에서의악성 SQL 검출및진단방안 Ⅳ. 운영단계에서의 Top-SQL 검출및진단방안 Ⅰ. Maxgauge 소개및기대효과맥스게이지란? MaxGauge( 맥스게이지

More information

Simplify your Job Automatic Storage Management DB TSC

Simplify your Job Automatic Storage Management DB TSC Simplify your Job Automatic Storage Management DB TSC 1. DBA Challenges 2. ASM Disk group 3. Mirroring/Striping/Rebalancing 4. Traditional vs. ASM 5. ASM administration 6. ASM Summary Capacity in Terabytes

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 6 장. DML 을배웁니다 1 - SQL 명령어들 DML (Data Manipulation Language) : INSERT( 입력 ), UPDATE( 변경 ), DELETE( 삭제 ), MERGE( 병합 ) DDL (Data Definition Language) : CREATE ( 생성 ), ALTER

More information

Microsoft PowerPoint - Oracle Data Access Pattern.ppt

Microsoft PowerPoint - Oracle Data Access Pattern.ppt Special Key Note Oracle Data Access Pattern ( 주 ) 오픈메이드컨설팅 오동규수석컨설턴트 1 What is Data Access Pattern? > 데이터를 I/O 하는방식 Index Scan Full Table Scan Rowid 2 Why is The Pattern Important? >SQL 의성능을좌지우지함. >SQL

More information

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation 1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation Board(EVB B/D) 들과 TCP/IP Protocol로연결되며, 연결된 TCP/IP

More information

슬라이드 1

슬라이드 1 Copyrightc2013 Altibase.corp All rights reserved ALTIBASE ADVANCE ALTIBASE ADVANCE CONTENTS DBMS TUNING ALTIBASE OPERATION MONITORING TOOL TECHNICAL SUPPORT 3 / 166 ALTIBASE ADVANCE DBMS TUNING 4 / 166

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

SKINFOSEC-CHR-028-ASP Mssql Cookie Sql Injection Tool 분석 보고서.doc

SKINFOSEC-CHR-028-ASP Mssql Cookie Sql Injection Tool 분석 보고서.doc Asp Mssql Sql Injection Tool 분석보고서 이재곤 (x0saver@gmail.com) SK Infosec Co., Inc MSS 사업본부 / 침해대응센터모의해킹파트 Table of Contents 1. 개요... 3 2. 구성... 3 3. 분석... 4 3.1. 기능분석... 4 4. 공격원리...14 4.1 기본공격원리...14 4.2

More information

Cloud Friendly System Architecture

Cloud Friendly System Architecture -Service Clients Administrator 1. -Service 구성도 : ( 좌측참고 ) LB(LoadBlancer) 2. -Service 개요 ucloud Virtual Router F/W Monitoring 개념 특징 적용가능분야 Server, WAS, DB 로구성되어 web service 를클라우드환경에서제공하기위한 service architecture

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx Chapter 2 Secondary Storage and System Software References: 1. M. J. Folk and B. Zoellick, File Structures, Addison-Wesley. 목차 Disks Storage as a Hierarchy Buffer Management Flash Memory 영남대학교데이터베이스연구실

More information

Oracle Database 10g: Self-Managing Database DB TSC

Oracle Database 10g: Self-Managing Database DB TSC Oracle Database 10g: Self-Managing Database DB TSC Agenda Overview System Resource Application & SQL Storage Space Backup & Recovery ½ Cost ? 6% 12 % 6% 6% 55% : IOUG 2001 DBA Survey ? 6% & 12 % 6% 6%

More information

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양핚예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 10 장 view 를배웁니다 1 - View 란가상의테이블이다! 2 1. 단순 View (Simple View) SCOTT>CONN / AS SYSDBA; SYS>GRANT CREATE VIEW TO scott ; CREATE [OR REPLACE] [ FORCE NOFORCE] VIEW view

More information

슬라이드 1

슬라이드 1 c ALTIBASE HDB ADMINISTRATION I INTRODUCTION to ALTIBASE HDB ALTIBASE HDB CONCEPT 타 DBMS와의비교 INSTALLATION STARTUP & STOP isql ALTIBASE HDB CONCEPT DBMS 특징 메모리 DBMS 의특징 빠른데이터처리성능 데이터와인덱스를모두메모리에저장하여처리하므로빠른데이터처리가능

More information

Microsoft PowerPoint - ch10_회복과 병행 제어.pptx

Microsoft PowerPoint - ch10_회복과 병행 제어.pptx 13-01 트랜잭션 장애와회복 병행제어 병행수행과병행제어 병행수행 (concurrency) 여러사용자가데이터베이스를동시공유할수있도록여러개의트랜잭션을동시에수행하는것을의미 여러트랜잭션들이차례로번갈아수행되는인터리빙 (interleaving) 방식으로진행됨 병행제어 (concurrency control) 또는동시성제어 병행수행시같은데이터에접근하여연산을실행해도문제가발생하지않고정확한수행결과를얻을수있도록트랜잭션의수행을제어하는것을의미

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

빅데이터분산컴퓨팅-5-수정

빅데이터분산컴퓨팅-5-수정 Apache Hive 빅데이터분산컴퓨팅 박영택 Apache Hive 개요 Apache Hive 는 MapReduce 기반의 High-level abstraction HiveQL은 SQL-like 언어를사용 Hadoop 클러스터에서 MapReduce 잡을생성함 Facebook 에서데이터웨어하우스를위해개발되었음 현재는오픈소스인 Apache 프로젝트 Hive 유저를위한

More information

ORACLE EXADATA HCC 압축방식이해하기 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 시간이지나면서데이터는급속하게증가하고있다. 데이터가증가함에따라 DBMS 에서관리되어지는정보도급속하게증가하고있다. 이로인해저장공간의부족으로하드웨어비용의증가와데이터처리성능에많은문제점들

ORACLE EXADATA HCC 압축방식이해하기 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 시간이지나면서데이터는급속하게증가하고있다. 데이터가증가함에따라 DBMS 에서관리되어지는정보도급속하게증가하고있다. 이로인해저장공간의부족으로하드웨어비용의증가와데이터처리성능에많은문제점들 ORACLE EXADATA HCC 압축방식이해하기 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 시간이지나면서데이터는급속하게증가하고있다. 데이터가증가함에따라 DBMS 에서관리되어지는정보도급속하게증가하고있다. 이로인해저장공간의부족으로하드웨어비용의증가와데이터처리성능에많은문제점들이나타나고있다. 이러한문제점들을해결하고자 ORACLE 에서는 EXADATA 라는시스템을통해스토리지공간부족현상과데이터처리성능을향상시키고자하였다.

More information

Microsoft Word - SQL튜닝_실습교재_.doc

Microsoft Word - SQL튜닝_실습교재_.doc * 실습환경 * 1. 오라클데이터베이스의튜닝실습을하기위해서는기본적인테이블과데이터가필요합니다. 다음과같은절차에의해환경설정을하십시오. 1) 강사가제공하는 Export 된파일 (scott.dmp) 을자신의 ORACLE 경로에저장하십시오. [C: ] cd C: ORACLE ORA92 BIN [C: ] dir scott.dmp scott.dmp 2) SYSTEM 사용자로접속하여

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

슬라이드 제목 없음

슬라이드 제목 없음 뷰와시스템카탈로그 관계데이터베이스시스템의뷰 (view) 는다른릴레이션으로부터유도된릴레이션 (derived relation) 으로서 ANSI/SPARC 3단계아키텍처의외부뷰와다름 뷰는관계데이터베이스시스템에서데이터베이스의보안메카니즘으로서, 복잡한질의를간단하게표현하는수단으로서, 데이터독립성을높이기위해서사용됨 시스템카탈로그는시스템내의객체 ( 기본릴레이션, 뷰, 인덱스,

More information

Observational Determinism for Concurrent Program Security

Observational Determinism for  Concurrent Program Security 웹응용프로그램보안취약성 분석기구현 소프트웨어무결점센터 Workshop 2010. 8. 25 한국항공대학교, 안준선 1 소개 관련연구 Outline Input Validation Vulnerability 연구내용 Abstract Domain for Input Validation Implementation of Vulnerability Analyzer 기존연구

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc 특정 Column 통계정보갱신가이드 유니원아이앤씨 DB 사업부이대혁 2015 년 03 월 02 일 문서정보프로젝트명서브시스템명 버전 1.0 문서명 특정 Column 통계정보갱신가이드 작성일 2015-03-02 작성자 DB사업부이대혁사원 최종수정일 2015-03-02 문서번호 UNIONE-201503021500-LDH 재개정이력 일자내용수정인버전 문서배포이력

More information

arcplan Enterprise 6 Charting Facelifts

arcplan Enterprise 6 Charting Facelifts SQL Server Analysis Services Tip 잘레시아 Copyright c 2010 Zalesia Co., Ltd. Agenda I II SSAS Non-Aggregatable 측정값처리 Copyright c 2010 Zalesia Co., Ltd. 2 Copyright c 2010 Zalesia Co., Ltd. 3 STEP1: Sales 큐브를위해데이터를미리준비한다.

More information

FlashBackt.ppt

FlashBackt.ppt 1. Flashback 목적 Flashback 이란? 사용자실수에의한손상된데이터를 Database 의크기와상관없이복구를할수있는기능이다. 이 Flashback 기능은일반적인복구에서우려되는데이터베이스의크기를걱정하지않아도된다. 보통의사용자실수는커다란시스템장애가수반되며, 이를복구하기위해서는많은자원과시간이필요하다. 하지만 9i 에서지원되느 flashback query

More information