TECHNICAL WHITE PAPER Tibero Optimizer SQL Execution Plan October 2012

Size: px
Start display at page:

Download "TECHNICAL WHITE PAPER Tibero Optimizer SQL Execution Plan October 2012"

Transcription

1 Tibero Optimizer SQL Execution Plan

2 목차 1. Introduction 2. Watching SQL Plan 2.1. SQL Plan 이란? 2.2. SQL Plan 확인하기 2.3. Understanding SQL Plan 3. Conclusion Optimizer 에의해만들어진 SQL 플랜을확인한는여러방법들을소개하고플랜에서보여주는정보의의미에대해알아본다. 그리고, 운영중인시스템에서비효율적으로수행중인 SQL 과플랜을찾아내는방법을이해함으로써튜닝대상 SQL 을효율적으로찾을수있는방법을소개한다. 1. Introduction Tibero 의 optimizer 는 SQL 을수행하기위한플랜을만들 때, cost 기반으로가장효율적인플랜을만들게된 다. cost 란 SQL 을수행하면서발생하는디스크 IO 와 CPU 연산을모두고려해서만든수치로서절대비교가가능한 값이다. optimizer 는각플랜단계별로발생할디스크 IO, CPU 연산을테이블의통계정보를기반으로예측하면서 cost 값을계산하여가장효율적인플랜을만들게된다. 하지만, 이 cost 값계산은다음과같은상황에의해잘못 예측되는경우전체적으로비효율적인플랜을만들수도 있다. cost 모델의잘못된가정 오래된통계정보 통계정보가없을시데이타 sampling 오류 조건문간의의존성 예측불가능한함수가포함된조건문 조건문에사용된사용자파라미터 join 순서결정시너무많은조합에따른 pruning 에의한 local optimization Tibero 에서는 optimizer 에의해만들어진플랜의단계별 cost 값들을쉽게조회하고, 분석할수있는기능을다양한방법으로제공하고있다. 이문서에서는플랜을확인하는여러방법과플랜에대한기본적인정보와값들의의미에대해서설명하도록하고, 마지막으로는 Summary 현재운영중인시스템에서비효율적으로수행되는쿼리를 찾을수있는여러방법을소개하도록하겠다. 2

3 optimizer 에의해만들어진플랜을확인하는방법은다음 2. Watching SQL Plan 2.1. SQL Plan 이란? optimizer 에서만들어낸플랜은여러개의수행 operation 의트리형태로이루어져있고, SQL 수행을하게되면이 플랜을통해제일하단에서만들어진 row 들이위 operation 으로전달되면서최상단 operation 의결과 row 가쿼리의최종결과가된다. 각단계별 operation 을플랜노드라고부르고노드의종 류는현재 Tibero 5.0 에서 65 개가있는데, 노드를크게분 류해보면다음과같다. ( 다음장에 operation 종류에대한 설명이있다 ) row 생성노드 (table, index scan,...) join 노드 (nested join, sort merge join, hash join, index join,...) dml 노드 (insert, update, delete, merge,...) 그밖의노드 (orderby, groupby, connectby,...) 플랜노드에는자기의해당 operation 을수행하기위한필 요한정보를담고있어서, SQL 수행시에이정보들을참 고하게된다. 이런수행에필요한자세한정보는사용자에 과같다. V$SQL_PLAN 뷰를통해보기 TBSQL 프로그램의 AUTOTRACE 기능을통해보기 SQLTRACE 기능을이용해서 TBPROF 프로그램으로수행결과와같이보기 EXPLAIN PLAN 문을통해 PLAN_TABLE 에저장하고보기가 ) V$SQL_PLAN 뷰를통해보기플랜을확인하는가장기본적인방법으로서, V$SQL_PLAN 뷰는 library cache를직접 access하여등록된플랜들의정보를가상의 table 형태로만들어주는 DPV(dynamic performance view) 이다. 하나의 SQL 플랜에대해각플랜노드정보가각 row 로표현되고, row의각 column들은해당플랜노드를분석하는데필요한모든정보를포함하고있다. 이뷰의각컬럼의의미는다음과같다. 게제공하지는않고플랜노드별 operation 종류, 추가 option, optimizer에서계산한노드의 cost 값과 cardinality 정도의정보만조회가가능하다. optimizer 단계에서 cost 계산방식은 SQL 수행과마찬가지로최하단부터 cost 계산을하면서최상단플랜노드까지 cost 를누적하는방식으로이루어지는데, 중간중간그리고최종적으로가장 cost 가작은플랜을선택하게된다. 이렇게최적으로판단되어만들어진 SQL 플랜은 library cache 에등록되어같은 SQL 에대한수행요청시에재활용되어 optimizer 단계를건너뛰고 SQL 수행을하게된다. 앞의 optimizer 단계를거치는 parsing 을 hard parsing 이라하고, optimizer 단계를건너뛰고 library cache 에서해당플랜을가져오는 parsing 을 soft parsing 이라고부른다 SQL Plan 확인하기 3

4 컬럼이름 컬럼타입 설명 HASH_VALUE NUMBER library cache에서의 hash 값 SQL_ID NUMBER 플랜의 unique ID OPERATION VARCHAR 플랜노드이름 OBJECT# NUMBER 플랜노드에서 access 하는 object 번호 OBJECT_OWNER VARCHAR 플랜노드에서 access 하는 object 를소유하는유저이름 OBJECT_NAME VARCHAR 플랜노드에서 access 하는 object 이름 OBJECT_TYPE VARCHAR 플랜노드에서 access 하는 object 타입 ID NUMBER 플랜노드 ID PARENT_ID NUMBER 플랜노드의부모 ID DEPTH NUMBER 플랜노드의트리깊이 POSITION NUMBER 같은부모의자식들간의순서 SEARCH_COLUMNS NUMBER index 검색에서사용되는컬럼개수 COST NUMBER optimizer에서예측한플랜노드의총 cost CPU_COST NUMBER optimizer에서예측한플랜노드의 CPU cost IO_COST NUMBER optimizer에서예측한플랜노드의 IO cost CARDINALITY NUMBER optimizer에서예측한플랜노드의최종 row 수 PSTART NUMBER partition table/index인경우시작 partition 번호 PEND NUMBER partition table/index인경우끝 partition 번호 OTHERS VARCHAR dblink를사용하는플랜노드의경우 remote sql ACCESS_PREDICATES VARCHAR join, index scan에서사용하는 predicate 정보 FILTER_PREDICATES VARCHAR filter로사용하는 predicate 정보 이뷰는 library cache 에등록된모든플랜을보여주기때 문에원하는 SQL_ID 값을조건절에입력하여보고자하는 특정플랜만조회해야한다. 다음예제쿼리를수행하면서 플랜을 V$SQL_PLAN 뷰로조회하는방법에대해서설명 하도록하겠다. 4

5 SQL> select d.deptno, sum(sal) from dept d, emp e where d.deptno = e.deptno and e.mgr is not null group by d.deptno order by d.deptno; DEPTNO SUM(SAL) rows selected. SQL text 를가지고해당플랜의 SQL_ID 를찾기위해서는 다음과같은쿼리를수행한다. SQL> select sql_id from V$SQLTEXT where upper(sql_text) like '%DEPT D, EMP E%'; 해당플랜의 SQL_ID 를구했으면 V$SQL_PLAN 에다음과 같은쿼리를수행하여조회하면해당 SQL 의플랜정보를 한눈에볼수가있다. SELECT SUBSTRB(TO_CHAR(ID), 1, 3) LPAD(' ', LEVEL * 2) UPPER(OPERATION) DECODE(OBJECT_NAME, NULL, NULL, ': ' OBJECT_NAME) ' (Cost:' COST ', %%CPU:' DECODE(COST, 0, 0, TRUNC((COST - IO_COST) / COST * 100)) ', Rows:' CARDINALITY ') ' DECODE(PSTART, '', '', '(PS:' PSTART ', PE:' PEND ')') AS "Execution Plan" FROM (SELECT * FROM V$SQL_PLAN WHERE SQL_ID = 281) START WITH DEPTH = 1 CONNECT BY PRIOR ID = PARENT_ID AND PRIOR SQL_ID = SQL_ID ORDER SIBLINGS BY POSITION; Execution Plan GROUP BY (SORT) (Cost:23, %%CPU:0, Rows:4) 2 HASH JOIN (Cost:24, %%CPU:0, Rows:13) 3 INDEX (FULL): PK_DEPT (Cost:1, %%CPU:0, Rows:4) 4 TABLE ACCESS (FULL): EMP (Cost:23, %%CPU:0, Rows:13) 5

6 해당 SQL 플랜은다음과같은형태의트리구조를가지고 있는 SQL 이다. SET AUTOTRACE OFF : 수행결과만보여주기 (default) SET AUTOTRACE ON : 수행결과와 trace 정보 (EXPLAIN, STATISTICS) 보여 주기 SET AUTOTRACE ON EXPLAIN : 수행결과와 trace 정보 (EXPLAIN) 보여주기 SET AUTOTRACE ON STATISTICS : 수행결과와 trace 정보 (STATISTICS) 보여주기 SET AUTOTRACE ON PLANSTAT : 수행결과와 trace 정보 (PLANSTAT) 보여주기 SET AUTOTRACE ON EXPLAIN PLANSTAT 나 ) TBSQL 프로그램의 AUTOTRACE 기능을이용하기 V$SQL_PLAN는많은정보를가지고있지만, 위와같이실제로사용하기에는여러단계에필요한정보가있어서많은번거로움이따른다. Tibero는 TBSQL이라는인터액티브쿼리수행프로그램을제공하고있는데, 이프로그램에서제공하는많은기능들을이용하면쉽게 SQL을수행하고결과를확인할수있다. TBSQL의 AUTOTRACE 기능은방금수행한 SQL에대한플랜정보와수행통계정보를바로바로보여주는기능으로다양한 option을제공하고있고매우편리하다. 동작방식은위에서수동으로 V$SQL_PLAN 뷰로플랜을확인한것과같이 TBSQL 프로그램내부에서방금수행한 SQL의 SQL_ID를구해서 V$SQL_PLAN 뷰에조회해서보여주는방식이다. AUTOTRACE 옵션을사용하려면다음과같이 TBSQL 프로그램내에서 SET 명령어를이용하면된다. : 수행결과와 trace 정보 (EXPLAIN, PLANSTAT) 보여주기 ( 세가지 trace 정보조합가능 ) SET AUTOTRACE TRACEONLY : 수행은하지만결과출력없이 trace 정보 (EXPLAIN, STATISTICS) 만보여주기 SET AUTOTRACE TRACEONLY EXPLAIN : 수행은하지않고결과출력없이 trace 정보 (EXPLAIN) 만보여주기 SET AUTOTRACE TRACEONLY STATISTICS : 수행은하지만결과출력없이 trace 정보 (STATISTICS) 만보여주기 SET AUTOTRACE TRACEONLY PLANSTAT : 수행은하지만결과출력없이 trace 정보 (PLANSTAT) 만보여주기 TBSQL에서 AUTOTRACE 기능으로출력한화면예는다음과같다. TRACE에서보여주는정보에대해서는다음장에서설명하도록하겠다. SET AUTOT[RACE] {OFF ON TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]] [PLANS[TAT]] 보여주는 TRACE 정보는 EXPLAIN ( 플랜노드정보 ), STATISTICS ( 수행후전체통계정보 ), PLANSTAT ( 플랜노드별수행정보 ) 이다. 옵션이많아서사용하기복잡해보이지만, option의조합은다음과같다. 6

7 SQL> SET AUTOTRACE ON EXPLAIN STATISTICS PLANSTAT SQL> select d.deptno, sum(sal) from dept d, emp e where d.deptno = e.deptno and e.mgr is not null group by d.deptno order by d.deptno; DEPTNO SUM(SAL) rows selected. : 528 Plan Hash Value: Execution Plan GROUP BY (SORT) (Cost:23, %CPU:0, Rows:4) 2 HASH JOIN (Cost:24, %CPU:0, Rows:13) 3 INDEX (FULL): PK_DEPT (Cost:1, %CPU:0, Rows:4) 4 TABLE ACCESS (FULL): EMP (Cost:23, %CPU:0, Rows:13) Predicate Information access: ("D"."DEPTNO" = "E"."DEPTNO") 4 - filter: ("E"."MGR" IS NOT NULL) VALUE EVENT_NAME db block gets 20 consistent gets 0 physical reads 0 redo size 0 sorts (disk) 1 sorts (memory) 3 rows processed Execution Stat GROUP BY (SORT) (Time:.03 ms, Rows:3, Starts:1) 2 HASH JOIN (Time:.02 ms, Rows:13, Starts:1) 3 INDEX (FULL): PK_DEPT (Time:.01 ms, Rows:4, Starts:1) 4 TABLE ACCESS (FULL): EMP (Time:.04 ms, Rows:13, Starts:1) 7

8 위와같이하나의 SQL을수행한후플랜정보, SQL 수행정보, 플랜노드별수행정보등을한눈에파악할수있기때문에 SQL 분석에많은도움이된다. TBSQL의다른기능들인스풀링, 사용자변수, 포맷팅등을함께사용하면더편하게분석할수있으므로이기능들을 TBSQL 매뉴얼에서참고하기바란다. 다 ) SQLTRACE 기능으로수행결과와함께보기특정 SQL에대한플랜을분석하는것이아니라, 실제운영중인서버에서수행되고있는불특정다수의 SQL 플랜들을분석하고싶을때는 SQLTRACE 기능을이용하는것이가장좋은방법이다. 특정시간동안 SQLTRACE를켜고끄기위해서는다음과같은 ALTER 문을수행한다. SQL> alter system set sql_trace=y;... SQL> alter system set sql_trace=n; 사용할때주의할점은 ALTER SYSTEM의경우, 기존에접속을맺고있는세션에대해서는적용이안되고, ALTER SYSTEM이수행된이후에새로접속을맺는세션부터해당파라미터변경이적용받는다. SQLTRACE가적용된세션에서수행된 SQL은매수행마다플랜노드별수행정보를 SQL_TRACE_DEST 파라미 터에정의된경로에확장자 TRC 파일로남기게된다. 매수행마다파일에수행정보를 write 하게되어성능저하가발생하지만, 세션간경합없이각자파일에남기므로일정비율 (5-10%) 로만성능저하가발생한다. 하지만, optimizer에서예상한정보와실제수행정보가동시에남기때문에정확한문제분석이가능하고, 실제운영에서수행되는 SQL 플랜정보이므로정기적으로분석해보는것이많은도움이될수있다. SQLTRACE를통해만들어진 TRC 파일은수행중에최소한의성능피해를주기위한포맷으로정보를남기기때문에바로읽고분석하기에는많은불편이있으므로이정보를같은 SQL 수행별로통합하거나사용자가보기더편한포맷으로변환해주는툴인 TBPROF를이용해야한다. TBPROF 프로그램에도많은옵션이있는데사용법은다음과같다. tbprof tracefile outputfile [print= ] [sys= ] [sort= ] [aggregate= ] print=integer ( 첫 n개의 SQL 수행정보만출력 ) sys=yes no ('SYS' 사용자로수행된 SQL 수행정보를제거 ) aggregate=yes no ( 같은 SQL 수행정보를합쳐서보여주기 ) sort=options ( 주어진옵션으로정렬해서출력. 옵션종류는매뉴얼참고 ) SQL 수행후 TBPROF 프로그램을이용해서변환한파일내용은다음과같다. 8

9 select d.deptno, sum(sal) from dept d, emp e where d.deptno = e.deptno and e.mgr is not null group by d.deptno order by d.deptno; stage count cpu elapsed current query disk rows parse exec fetch sum rows execution plan group by (sort) (et=36, cr=0, cu=0, co=23, cpu=0, ro=4) 13 hash join (et=26, cr=0, cu=0, co=24, cpu=0, ro=13) 4 index (full) PK_DEPT(3456) (et=16, cr=1, cu=0, co=1, cpu=0, ro=4) 13 table access (full) EMP(3457) (et=50, cr=0, cu=2, co=23, cpu=0, ro=13) 차도운영서버에부하를줄수있는상황에서서버에 V$SQL_PLAN 뷰나 TBSQL을통해서보는정보와매우 유사하지만, 사용자입력뿐이아니라운영중인 Tibero에서수행중인모든 SQL들을분석할수있는점에서다르다. 일반적으로 SQLTRACE 기능을이용해서문제의쿼리를찾아내고, 해당쿼리를 TBSQL을이용해서수행해보면서분석 / 튜닝하는식으로 SQL 수정작업을진행하게된다. 대한부하를최소화하면서특정 SQL 플랜을수행없이확인하는용도로사용하고싶거나, 해당 SQL의플랜정보를특정 persistent 테이블에저장하고지속적인분석을하고싶을때사용하면좋다. 사용법은다음과같다. EXPLAIN PLAN [SET STATEMENT_ID = literal] [INTO 라 ) EXPLAIN PLAN 구문을이용해서플랜정보저장하기이전까지소개했던방법들은 V$SQL_PLAN 뷰와실제수행할때가지고있는 SQL 플랜정보를통해서조회하는방법이었지만, EXPLAIN PLAN 구문을이용하면분석하고자하는대상 SQL 플랜을 PLAN_TABLE이라는임시테이블에저장하고이테이블에조회함으로써플랜정보를얻을수있다. library cache가큰시스템이거나 V$SQL_PLAN 뷰조회조 table_name] FOR SQL STATEMENT; : statement_id는저장된테이블에서해당 SQL 플랜을찾는 ID로사용된다. : INTO 절을이용하면기본 PLAN_TABLE이아닌다른테이블을지정해서저장할수가있다. 위에서언급한대로 V$SQL_PLAN 에대한조회없이특정테이블에해당플랜을저장하고조회할수있다는점을제외하고는사용법은뷰를이용할때와다르지않다. 9

10 2.3. Understanding SQL Plan 이제까지 SQL 플랜을볼수있는방법에대해알아보았는데, 플랜에서보여주는정보들의의미가무엇인지알아보도록하겠다. 가 ) Execution Plan (TBSQL) TBSQL에서 AUTOTRACE 기능을이용하면, 다음과같은형식으로조회결과를얻게된다. 볼수있는정보는크게세가지로분류가된다. 플랜노드별정보를보여주는 Execution Plan 부분 플랜노드별로적용된 predicate 정보를 보여주는 Predicate Information 부분 외부 database 에대한 dblink 를이용하는 노드에서수행할 SQL 정보를보여주는 Remote SQL Information 부분 select d.deptno, sum(sal) from dept d, emp@ln01 e where d.deptno = e.deptno and e.mgr is not null group by d.deptno order by d.deptno; Execution Plan GROUP BY (SORT) (Cost:23, %CPU:0, Rows:4) 2 HASH JOIN (Cost:24, %CPU:0, Rows:13) 3 INDEX (FULL): PK_DEPT (Cost:1, %CPU:0, Rows:4) 4 PROXY: LN01 (Cost:22, %CPU:0, Rows:13) Remote SQL Information SELECT QB_007."SAL",QB_007."DEPTNO" FROM "EMP" QB_007 WHERE (QB_007."MGR" IS NOT NULL) Predicate Information access: ("D"."DEPTNO" = "E"."DEPTNO") 4 - filter: ("E"."MGR" IS NOT NULL) 10

11 Execution Plan에서볼수있는내용은다음과같다. operation name (option) [: object name] (total_cost, cpu_cost_percentage, cardinality) 항목내용 operation 해당노드에서수행할 operation 이름 name option operation 의부가적인정보를보여준다. join 타입 (semi, anti, left outer 등 ), sort 종류 (top-n), rowid scan 종류 (local/global rowid), partition iterating 종류 (empty, single, subset, all) object name object 에대한 operation 의경우해당 object 이름을보여준다. (table name, index name, dblink name 등 ) 만들어내기때문에 dblink가포함된 SQL을분석하기위해서꼭필요한정보이다. TBSQL에서 AUTOTRACE 중 PLANSTAT을켰을때나오는 SQL 수행정보는다음과같다. Execution Stat GROUP BY (SORT) (Time:.03 ms, Rows:3, Starts:1) 2 HASH JOIN (Time:.02 ms, Rows:13, Starts:1) 3 INDEX (FULL): PK_DEPT (Time:.01 ms, Rows:4, Starts:1) 4 TABLE ACCESS (FULL): EMP (Time:.04 ms, Rows:13, Starts:1) operation name (option) [: object name] (elapsed time, output rows, recursive execution) 항목내용 elapsed time 해당플랜노드수행시간 total cost V$SQL_PLAN 의 cost 컬럼값으로 output rows 해당플랜노드를수행하고나온결과 하위플랜노드밑으로총누적된 cost row 수 cpu cost percentage cardinality 값을보여준다. total cost 에서 cpu cost 가차지하는비율 optimizer 에서예측한플랜노드수행결과 row 수 recursive 해당플랜노드가전체 SQL execution 수행하면서반복수행된횟수 (nested loop join, index join 의오른쪽플랜노드는여러번수행가능하다 ) TBSQL에서 execution 플랜정보와플랜수행정보를동 Predicate Information 부분은 join predicate이나 index access predicate에대해선 access란키워드로표시해주고, 그외일반 filter predicate에대해서는 filter란키워드로 predicate 정보를보여준다. Remote SQL Information 부분은 dblink를이용해서타 database에 SQL을수행해서결과를받아와서처리하는플랜노드에서수행하는 SQL을보여준다. Tibero 5.0에서는 dblink 에대해서도 cost 계산을통해최적의플랜을 시에보게되면, optimizer의예측과실제수행결과를한눈에보게되므로문제분석에많은도움을준다. 나 ) Execution Plan (TBPROF) TBPROF에서보여주는정보는 TBSQL에서보여주는정보와비슷하지만, 다음과같이수행결과와 optimizer에서예측한정보를약간다른형태로보여주고있다. 11

12 rows execution plan group by (sort) (et=36, cr=0, cu=0, co=23, cpu=0, ro=4) 13 hash join (et=26, cr=0, cu=0, co=24, cpu=0, ro=13) 4 index (full) PK_DEPT(3456) (et=16, cr=1, cu=0, co=1, cpu=0, ro=4) 13 table access (full) EMP(3457) (et=50, cr=0, cu=2, co=23, cpu=0, ro=13) 새로운기능이계속추가되면해당 operation 수도계속 rows 컬럼은각플랜노드에서의최종결과 row 수이고, execution plan 컬럼부분에서보여주는정보는다음과같다. operation name (option) [: object name] (elapsed time, cr read, cu read, cost, cpu_cost, cardinality) 늘어나게된다. Tibero에존재하는 operation들을파악하고있으면수행한 SQL과 SQL 플랜을매치시켜해당 SQL 의구조를파악하기가쉬워지고, 효율적인플랜인지아닌지를판단할수가있다. 현재 Tibero 5.0 버젼에서제공하는 operation은다음과같다. 항목 내용 elapsed time 해당플랜노드수행시간 cr read 해당플랜노드를수행하면서읽은 CR 블럭개수 cu read 해당플랜노드를수행하면서읽은 current 블럭개수 cost V$SQL_PLAN 의 cost 컬럼값으로 플랜노드밑으로총누적된 cost 값 cpu cost total cost 에서 cpu cost 가차지하는 비율 cardinality optimizer 에서예측한플랜노드수행 결과 row 수 다 ) Operation 종류 SQL 플랜노드는각고유의 operation을처리하기위한정보를담고있다. 이런플랜노드들의조합을통해사용자가수행한 SQL을의미에맞게절차적으로수행할수가있다. Tibero에는 SQL 99 스펙과그밖의특수기능들을지원하기위해 65가지정도의 operation 노드가존재한다. 12

13 항목 table scan index scan join set project filter orderby groupby dml count rownum connect by call file scan window buff buff transformation cube proxy/proxy dml sort aggregation pe manager pe send pe recv pe block iterator pe index maintenance cache inlist iterator partition iterator xml table collector result cache for update 내용 table 에접근 (full scan/rowid scan) index 에접근 (full/range/unique/skip/fast full) 두개의 table 에대한 join 을처리 (hash/sort merge/nested loop/index join) 집합함수처리 (union/intersect/minus/bag union) 컬럼을줄이거나늘리거나 expression 계산처리 조건문을계산하여결과 row 를줄이는작업처리 결과정렬 같은그룹에속하는 row 를모아그룹함수처리 (sort/hash) dml 처리 (insert/update/delete/merge/multi table insert) 특정개수의 row 만통과시키기 계층관계데이타처리 프로시져 / 함수호출 외부파일접근처리 analytic 함수처리 SQL 수행중저장된중간결과에대한접근처리 SQL 수행중중간결과저장및접근에대한제어 cube 기능을위한처리 외부 database 에대한 dblink 처리 aggregation 함수처리 parallel execution manager parallel execution 중간결과를다른 slave 에보내기 (hash/range/broad/rr/qc rand/qc order/index maintenance/partition) parallel execution 중간결과를다른 slave 에서받기 parallel 하게 table 접근을위한반복수행처리 parallel dml 에서 index 무결성보장을위한처리 subquery 결과 cache in predicate 반복수행처리 partition 반복수행처리 xmltable() 구문처리 pipeline table 처리 쿼리결과저장및 cache 처리 select for update 처리 13

14 Finding Bad SQL Plan 수행시간이긴 SQL은원래오래걸리는 SQL일수도있지만, 서두에서언급한것처럼 optimizer가플랜을잘못푸는경우도많이존재하므로, 예상한것과달리플랜이잘못풀리게되어수행이오래걸리는 SQL일수있다. 이런 SQL들을찾아내서플랜을확인하고적절한조치를취하는것은매우중요한일인데, Tibero에서는이런 SQL들을찾아내기위한여러가지방법들을편리하게제공하고있다. 사 ) Top SQL by executions SQL 수행횟수가가장많은 top 5 SQL 컬럼내용 Exec SQL 수행횟수 Rows 총 SQL 수행결과 row 수 processed Rows/Exec SQL 실행당평균 row 수 라 ) APM Tibero APM(Automatic Performance Monitoring) 기능을 사용하면, 측정기간동안 Tibero 에서수행한 SQL 에대한 Elap/Exec SQL 실행당수행시간 요약정보를얻을수가있다. APM에서 SQL이외에도볼수있는항목이많지만, SQL Reports 부분에서우리가원하는다양한기준의 top 5 SQL에대한수행정보와 SQL ID를알아낼수가있다. 일단 를구하면해당 SQL에대해 SQL문 (V$SQLTEXT), SQL 플랜정보 (V$SQL_PLAN), SQL 플랜수행정보 (V$SQL_PLAN_STATISTICS) 를조회할수있으므로문제가될만한플랜들을점검할수가있다. SQL Reports에서보여주는정보는다음과같다. 아 ) Top SQL by CR blocks read count SQL 수행중 CR block 읽는횟수가가장많은 top 5 SQL 컬럼내용 Buffer Gets CR block 요청횟수 Exec SQL 수행횟수 Gets/Exec SQL 실행당 CR block 요청횟수 마 ) Top SQL by elapsed time SQL 수행시간이가장긴 top 5 SQL 컬럼내용 Elapsed time SQL 총수행시간 Total Gets(%) Elapsed Time 총 CR block 요청횟수에대한비율 SQL 총수행시간 Exec SQL 수행횟수 Elap/Exec SQL 실행당수행시간 DB Time (%) 해당 APM 측정기간동안총 DB time 에대한수행시간비율 14

15 자 ) Top SQL by I/O SQL 수행중 I/O 시간이가장많은 top 5 SQL 카 ) Top SQL by CPU SQL 수행중 CPU 시간이가장많은 top 5 SQL 컬럼 내용 컬럼 내용 Disk Read Time disk read 시간 Avg. CPU Time 총수행시간에서 IO 시간을제외한 Exec SQL 수행횟수 시간 Disk Read SQL 실행당 disk read 시간 Exec SQL 수행횟수 Time/Exec Elapsed Time SQL 총수행시간 Elapsed Time SQL 총수행시간 타 ) Top SQL by Parse Calls 차 ) Top SQL by temporary segment usage SQL 수행중 temporary segment 사용시간이가장많은 top 5 SQL 컬럼내용 SQL 수행중 parse 횟수가가장많은 top 5 SQL 컬럼 내용 Parse Calls soft parse 요청횟수 Exec SQL 수행횟수 Tmp Sgmt IO Tm temp segment read/write 시간 Total Parse(%) SQL 총 parse 횟수에대한비율 Exec SQL 수행횟수 Tmp Sgmt IO Tm/Exec Elapsed Time SQL 실행당 temp segment read/write 시간 SQL 총수행시간 파 ) V$SESSION_LONGOPS 특정시간이상수행되는 operation에대한정보를조회할수있는뷰이다. 특정 SQL 수행중한플랜노드가 LONGOPS_THRESHOLD_SEC 값의초이상수행되면자동으로세션에해당정보를남기게된다. SQL 수행이외에도사용자가임의의작업에대해서도 DBMS_APPLICATION_INFO 패키지를이용해서 longops 정보를남길수가있다. 등록된정보는동적으로계속업데이트되기때문에처음에등록된총작업량에비해현재어느정도진행되었는지를알수가있어앞으로남은작업시간을예상할수가있다. 해당뷰의각컬럼값은다음과같은의미를가진다. 15

16 컬럼이름컬럼타입설명 SESS_ID NUMBER session ID SERIAL_NO NUMBER session serial number USER_NAME VARCHAR 접속유저이름 WTHR_ID NUMBER Tibero work thread ID SQL_ID NUMBER 해당플랜의 SQL_PLAN_ID NUMBER 해당플랜의 SQL 플랜 ID OPNAME VARCHAR opeartion 이름 TARGET VARCHAR operation 대상객체이름 SOFAR NUMBER 지금까지수행된작업량 TOTALWORK NUMBER 앞으로수행할총작업량 UNITS VARCHAR 작업의단위 START_TIME DATE 작업시작시간 다음과같은조회쿼리를통해서현재오래수행되고있는 SQL 의정보를쉽게파악할수가있다. SQL> select sql_id, sql_plan_id, substr(opname, 1, 14) opname, to_char(sofar/totalwork*100, 99.99) '%' progress, (sysdate - start_time)*24*60*60 elapsed_sec from v$session_longops; SQL_ID SQL_PLAN_ID OPNAME PROGRESS ELAPSED_SEC nested loops 3.37% row selected. 16

17 위의예에서는 215번 SQL_ID를가지는쿼리의 3번플랜노드가 nested loop join인데현재 1955초동안수행되고있고전체예상작업중 3.37% 진행중인쿼리수행이존재한다라는것을알수가있다. 아주오래걸리는 batch 작업을 psm을이용해서작성하는경우에 DBMS_APPLICATION_INFO 패키지의 SET_SESSION_LONGOPS() 프로시져를적절히이용하면위의뷰로해당작업에대해진행상황을파악할수가있다. 이기능과관련된설정파라미터는다음과같다. 파라미터이름값타입설명 LONGOPS_THR NUMBER 이값보다오래수행되 ESHOLD_SEC 는작업을 LONGOPS 에등록 3. Conclusion SQL을수행하면 Tibero optimizer가통계정보에의한 cost 값에따라플랜을수립하는데, 이렇게만들어진 SQL 플랜을확인하는방법에대해알아보았고, 비효율적으로만들어진 SQL 플랜을쉽게찾을수있는방법을소개하였다. 앞으로 Tibero에사용자들이 SQL 플랜을더편리하게관리할수있는기능들을지속적으로추가할예정이다. 이문서에서제시한방법들은앞으로제공할기능들의가장기본이되는것들이고이기능들을바탕으로계속확장될것이므로이에대한정확한이해를가지는것이앞으로많은도움이되리라생각된다. 그리고, 향후에이문서에서다루지않은비효율적인 SQL 플랜을튜닝하는방법에대해서는다른문서를통해제공하도록하겠다. LONGOPS_KEE P_INTERVAL NUMBER LONGOPS 정보들을 keep 하는주기 _LONGOPS_CL EANUP_INTERV AL NUMBER 주기적으로오래된 LONGOPS 를지우는 시간간격 하 ) SQLTRACE 이용하기 SQLTRACE 기능에대한소개에서언급한바와같이 ALTER 구문을이용해서특정시간동안수행되는 SQL 정보를파일로남길수가있다. 남겨진 TRC 파일로 TBPROF 프로그램을이용할때, 다양한 SORT 옵션을이용하면해당기준으로정렬된 trace 파일을얻을수가있다. 이파일을분석함으로써잘못수행되고있는 SQL 플랜을찾을수있다. SORT 옵션에서 FCHELA (select 쿼리수행시간 ), EXEELA (dml 수행시간 ) 옵션을이용하여정렬하면느린쿼리 /DML 을찾는데많은도움이된다. 17

18 c Copyright TIBERO All Rights Reserved. 본문서에서제공하는기술적또는상업적정보에대한저작권은 TIBERO 에있으며, 본문서는 TIBERO 의허락없이타인에의해복제또는다른언어, 수단, 목적으로변형되거나배포될수없다. 본문서는오로지정보의제공만을목적으로하고, 이로인한계약상의직접적또는간접적책임을지지아니하며, 본문서상의내용은구두로제공되거나법적또는상업적인특정한조건을만족시키는것을보장하지는않는다. 본문서의내용은제품의업그레이드나수정에따라그내용이예고없이변경될수있으며, 내용상의오류가없음을보장하지아니한다. TIBERO 상표는한국및기타다른나라에서 TIBERO 의상표로등록된것이다. 기타다른회사명또는상표는다른권리자의상표혹은서비스표일수있다. 문서번호넣으실곳 18

歯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

목차 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

Jerry Held

Jerry Held ,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan I/O Index Scan ROWID I/O Fast Full Index Scan scan scan scan I/O scan scan Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse

More information

,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan scan I/O scan Index Scan ROWID scan I/O Fast Full Index Scan scan scan I/O Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse

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

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

SQL Tuning Business Development DB

SQL Tuning Business Development DB SQL Tuning Business Development DB Oracle Optimizer 4.1 Optimizer SQL SQL.. SQL Optimizer :.. Rule-Based Optimization (RBO), Cost-Based Optimization (CBO) SQL Optimizer SQL Query Parser Dictionary Rule-Based

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

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

ePapyrus PDF Document

ePapyrus PDF Document Goodus 기술노트 [38 회 ] Author 윤병길, 이은정 Creation Date 2009-02-27 Last Updated Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자변경자 ( 작성자 ) 주요내용 1 2009-02-27 윤병길, 이은정문서최초작성 Contents

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

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

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

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT 3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT NOT NULL, FOREIGN KEY (parent_id) REFERENCES Comments(comment_id)

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

단답형 (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

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

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

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

More information

< 그림 1> Nested Loop Join - 이너테이블에인덱스가있을경우 < 그림 2> Nested Loop Join - 이너테이블에인덱스가없는경우 간은느리다. 즉첫번째로우를받을준비가되어있는단계까지를실행시간으로볼때실행시간은빠르나 Fetch 시간은느리다. NLJ는메모리

< 그림 1> Nested Loop Join - 이너테이블에인덱스가있을경우 < 그림 2> Nested Loop Join - 이너테이블에인덱스가없는경우 간은느리다. 즉첫번째로우를받을준비가되어있는단계까지를실행시간으로볼때실행시간은빠르나 Fetch 시간은느리다. NLJ는메모리 Oracle Optimizer 의원리이해및 SQL & 애플리케이션의튜닝 ( 하 ) 오라클튜닝기법의 100% 활용 글 최세훈 ( 한국오라클 DB Tech 팀 ) sehoon.choi@oracle.com 지난회에서는튜닝에들어가기위해먼저 Oracle Optimizer 의원리와특징에대해서설명했다. 이번회에서는조인메소드별특징과플랜보는법을이해하고, 실제오라클에서제공하는튜닝기법들을활용해보도록하자.

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

Microsoft PowerPoint - Oracle Data Join Method.pptx [읽기 전용]

Microsoft PowerPoint - Oracle Data Join Method.pptx [읽기 전용] Special Key Note Oracle Data Join Method ( 주 ) 오픈메이드컨설팅 오동규수석컨설턴트 1 What is Join? JOIN is Multiply. 2 Why is the Join Method so important? 잘못사용하면큰재앙이따른다.( 위의그림처럼 ) 두개의집합을연결할수있는유일한수단. Join Method 는모든 DBMS

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

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

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

결과보고서

결과보고서 오픈 소스 데이터베이스 시스템을 이용한 플래시 메모리 SSD 기반의 질의 최적화 기법 연구 A Study on Flash-based Query Optimizing in PostgreSQL 황다솜 1) ㆍ안미진 1) ㆍ이혜지 1) ㆍ김지민 2) ㆍ정세희 2) ㆍ이임경 3) ㆍ차시언 3) 성균관대학교 정보통신대학 1) ㆍ시흥매화고등학교 2) ㆍ용화여자고등학교 3)

More information

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

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 4 장 JOIN 을배웁니다 1 2 1. Cartesian Product ( 카티션곱, CROSS Join) - Oracle Join 문법 SQL> SELECT e.ename, d.dname 2 FROM emp e, dept d ; - ANSI Join 문법 SQL> SELECT e.ename, d.dname

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

SQL Tuning Business Development DB SQL - -SQL -SQL

SQL Tuning Business Development DB SQL - -SQL -SQL 0:00-0:50 SQL :00-2:00 2:00-3:30 3:30-4:20 SQL 4:30-5:20 5:30-7:20 SQL Tuning Business Development DB SQL - -SQL -SQL SQL () H/W( ) CPU, Memory, Network ( ) SQL I/O ( ) SQL (2) ( ) ( ) SQL SQL SQL SQL

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

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

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

PRO1_04E [읽기 전용]

PRO1_04E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_04E1 Information and S7-300 2 S7-400 3 EPROM / 4 5 6 HW Config 7 8 9 CPU 10 CPU : 11 CPU : 12 CPU : 13 CPU : / 14 CPU : 15 CPU : / 16 HW 17 HW PG 18 SIMATIC

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

PRO1_09E [읽기 전용]

PRO1_09E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :

More information

기술노트 49 회 SQL PLAN MANAGEMENT Author 윤병길과장 Creation Date Last Updated Version 1.0 Copyright(C) 2009 Goodus Inc. All Rights Reserved

기술노트 49 회 SQL PLAN MANAGEMENT Author 윤병길과장 Creation Date Last Updated Version 1.0 Copyright(C) 2009 Goodus Inc. All Rights Reserved 기술노트 49 회 SQL PLAN MANAGEMENT Author 윤병길과장 Creation Date 2010-06-01 Last Updated Version 1.0 Copyright(C) 2009 Goodus Inc. All Rights Reserved Contents 1. SQL PLAN MANAGEMENT OVERVIEW... 3 1.1. INTRODUCTION...

More information

Jerry Held

Jerry Held DB / TSC Oracle Database 10g (Self-Managing Database) (Common Infrastructure) (Automatic Workload Repository) (Server-generated Alerts) (Automated Maintenance Tasks) (Advisory Framework) (ADDM) (Self-Managing

More information

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

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

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

그리고.. 엑셀에하나둘완료된쿼리가늘어날때마다... 희열을느낀다... 이글을보는당신은어떻게할것인가? A 군의판단이잘못된것인가? 잘못된판단이아니다최선의판단이다... 11g 전까지는... 11g New Feature 인 Pending Statistics 를 SPA 와함께사용

그리고.. 엑셀에하나둘완료된쿼리가늘어날때마다... 희열을느낀다... 이글을보는당신은어떻게할것인가? A 군의판단이잘못된것인가? 잘못된판단이아니다최선의판단이다... 11g 전까지는... 11g New Feature 인 Pending Statistics 를 SPA 와함께사용 SPA(SQL Performance Analyze) 를이용한통계정보 수집 엑셈컨설팅본부 /DB 컨설팅팀오경렬 1. SPA 란? SPA(SQL Performance Analyze) 는 RAT(Real Application Testing) 서비스의옵션중에하나 이다. 본문서는 SPA 를이용해좀더안정적으로통계정보를생성하는 Process 에대해다룬다. 2. 통계정보와

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

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

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

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

문서 템플릿

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

More information

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

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

More information

FlashBackt.ppt

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

More information

객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY;

객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY; Study Room Doc.02 : SQLD 예상문제 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 21 회기출문제를바탕으로작성 작성자 : 월야루 2016-09-04 객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

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

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 { Query Optimizing } 김정선 DB 사업부수석컨설턴트필라넷 (Feel@NET) Microsoft SQL Server MVP 김정선 (Jungsun Kim) Email: jskim@feelanet.com Blog: http://blog.naver.com/visualdb ( 현재소속 ) 필라넷, DB 사업부수석컨설턴트 SQL Server Academy/

More information

Microsoft PowerPoint - 10Àå.ppt

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

More information

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1

More information

SQL PLAN MANAGEMENT 활용 엑셈컨설팅본부 /DB 컨설팅팀장정민 개요 오라클은비롯한많은관계형 DBMS 에서는사용자의 SQL 질의를효율적으로처리하기위해옵티마이저를사용하고있다. 옵티마이저는유저가수행하는 SQL 을받아실행계획을생성하고, 실제 SQL 은이실행계획을

SQL PLAN MANAGEMENT 활용 엑셈컨설팅본부 /DB 컨설팅팀장정민 개요 오라클은비롯한많은관계형 DBMS 에서는사용자의 SQL 질의를효율적으로처리하기위해옵티마이저를사용하고있다. 옵티마이저는유저가수행하는 SQL 을받아실행계획을생성하고, 실제 SQL 은이실행계획을 SQL PLAN MANAGEMENT 활용 엑셈컨설팅본부 /DB 컨설팅팀장정민 개요 오라클은비롯한많은관계형 DBMS 에서는사용자의 SQL 질의를효율적으로처리하기위해옵티마이저를사용하고있다. 옵티마이저는유저가수행하는 SQL 을받아실행계획을생성하고, 실제 SQL 은이실행계획을통해서수행된다. 데이터베이스운영시평소잘수행되던 SQL 이성능이슈를발생시키는때가있는데, 그원인이

More information

NLJ BATCH 과부분범위처리 엑셈컨설팅본부 / DB 컨설팅팀오수영 개요 오라클은새로운버전이출시될때마다한층업그레이드된기능들이추가된다. 이기능들은사용자에게편리함을제공함은물론이고, 기존의기능들이성능적으로업그레이드되어보다강력해지기도한다. 그러나때로는새롭게추가된기능으로인해,

NLJ BATCH 과부분범위처리 엑셈컨설팅본부 / DB 컨설팅팀오수영 개요 오라클은새로운버전이출시될때마다한층업그레이드된기능들이추가된다. 이기능들은사용자에게편리함을제공함은물론이고, 기존의기능들이성능적으로업그레이드되어보다강력해지기도한다. 그러나때로는새롭게추가된기능으로인해, NLJ BATCH 과부분범위처리 엑셈컨설팅본부 / DB 컨설팅팀오수영 개요 오라클은새로운버전이출시될때마다한층업그레이드된기능들이추가된다. 이기능들은사용자에게편리함을제공함은물론이고, 기존의기능들이성능적으로업그레이드되어보다강력해지기도한다. 그러나때로는새롭게추가된기능으로인해, 사용자들이큰혼란을겪기는경우도발생된다. 그 대표적인예로는 GROUP BY 가 SORT GROUP

More information

DB 성능고도화핵심원리 비투엔컨설팅 수석컨설턴트 조시형

DB 성능고도화핵심원리 비투엔컨설팅 수석컨설턴트 조시형 DB 성능고도화핵심원리 비투엔컨설팅 수석컨설턴트 조시형 원리를알아야답이보인다!! SQL 개발자 (Developer) 데이터모델을통해업무를이해하고, SQL 을정확히구사하는능력 DB 성능고도화전문가양성 SQL 전문가 (Professional) 성능을고려한고급 SQL 작성능력 DB 성능고도화핵심원리실습문제 declare l_ 수납금액 number; begin for

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

슬라이드 1

슬라이드 1 효율적인성능관리와품질강화전략 WareValley Database Audit and Protection [ DB 접근통제 ] Database Encryption [ DB 암호화 ] Database Vulnerability Assessment [ DB 취약점분석 ] Database SQL Query Approval [ DB 작업결재 ] Database Performance

More information

Intra_DW_Ch4.PDF

Intra_DW_Ch4.PDF The Intranet Data Warehouse Richard Tanler Ch4 : Online Analytic Processing: From Data To Information 2000. 4. 14 All rights reserved OLAP OLAP OLAP OLAP OLAP OLAP is a label, rather than a technology

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

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

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

제목 레이아웃

제목 레이아웃 웹해킹이라고무시하는것들보소 2017.07.10 RUBIYA805[AT]GMAIL[DOT]COM SQL Injection 끝나지않은위협 2017.07.10 RUBIYA805[AT]GMAIL[DOT]COM Who am I 정도원 aka rubiya Penetration tester Web application bughuter Pwned 20+ wargame @kr_rubiya

More information

Microsoft PowerPoint - CNVZNGWAIYSE.pptx

Microsoft PowerPoint - CNVZNGWAIYSE.pptx 대용량데이터처리를위한 Sharding 2013.1. 이동현 DBMS 개발랩 /NHN Business Platform SQL 기술전략세미나 2 대용량데이터를위한솔루션은 NoSQL 인가, RDBMS 인가? 모든경우에대해어떤하나의선택을하자는게아닙니다. SQL 기술전략세미나 3 언제, 그리고왜 RDBMS 를선택해야하는가? NoSQL 과다른 RDBMS 만의특징이필요할때

More information

ETL_project_best_practice1.ppt

ETL_project_best_practice1.ppt ETL ETL Data,., Data Warehouse DataData Warehouse ETL tool/system: ETL, ETL Process Data Warehouse Platform Database, Access Method Data Source Data Operational Data Near Real-Time Data Modeling Refresh/Replication

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

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý 5 중 1 2007-06-12 오후 5:52 Home Login Register SQL Query SQL Tuning Oracle Administration Tools References Boards SoQooL? 쏘쿨 SoQooL) 이란? Q&A Tips Lectures Function Lectures Oracle Spatial Tips Scripts SQL

More information

Microsoft PowerPoint - 27.pptx

Microsoft PowerPoint - 27.pptx 이산수학 () n-항관계 (n-ary Relations) 2011년봄학기 강원대학교컴퓨터과학전공문양세 n-ary Relations (n-항관계 ) An n-ary relation R on sets A 1,,A n, written R:A 1,,A n, is a subset R A 1 A n. (A 1,,A n 에대한 n- 항관계 R 은 A 1 A n 의부분집합이다.)

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Spider For MySQL 실전사용기 피망플러스유닛최윤묵 Spider For MySQL Data Sharding By Spider Storage Engine http://spiderformysql.com/ 성능 8 만 / 분 X 4 대 32 만 / 분 많은 DB 중에왜 spider 를? Source: 클라우드컴퓨팅구 선택의기로 Consistency RDBMS

More information

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

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

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

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

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

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

슬라이드 1

슬라이드 1 Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능

More information

Microsoft PowerPoint - 1_3_DBA_SQL_tuning

Microsoft PowerPoint - 1_3_DBA_SQL_tuning 아주특별한 SQL 튜닝 씨퀄로 김정선 아주특별한 Level 400 100 개념및소개수준 200 중간수준 300 고급수준 400 전문가수준 선수지식불필요 100 에더하여기술적세부사항설명 200 에더하여능숙한사용경험, 아키텍처지식필요 SINCE 2002 SQL Server Specialist Member & Leading PASS Korea Member Microsoft

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

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

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

다양한 예제로 쉽게 배우는 오라클 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

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

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

最即時的Sybase ASE Server資料庫診斷工具

最即時的Sybase ASE Server資料庫診斷工具 TOAD 9.5 Toad Oracle 料 SQL 料 行 理 SQLprofile Quest Software 了 Oracle -Toad Tools of Oracle Application Developers Toad 了 DBA DBA 理 易 度 Toad 料 SQL PL/SQL Toad Oracle PL/SQL Toad Schema Browser Schema Browser

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

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

EndNote X2 초급 분당차병원도서실사서최근영 ( )

EndNote X2 초급 분당차병원도서실사서최근영 ( ) EndNote X2 초급 2008. 9. 25. 사서최근영 (031-780-5040) EndNote Thomson ISI Research Soft의 bibliographic management Software 2008년 9월현재 X2 Version 사용 참고문헌 (Reference), Image, Fulltext File 등 DB 구축 참고문헌 (Reference),

More information

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

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 3 장 SQL 복수행함수 ( 그룹함수 ) 를배웁니다 1 함수이름 의 미 사용예 COUNT 입력되는데이터들의건수를출력 COUNT(sal) SUM 입력되는데이터들의합계값을출력 SUM(sal) AVG 입력되는데이터들의평균값을출력 AVG(sal) MAX 입력되는데이터들중최고값을출력 MAX(sal) MIN

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

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

I. - II. DW ETT Best Practice

I. - II. DW ETT Best Practice IBM Business Intelligence Solution Seminar 2005 - IBM Business Consulting Service (cslee@kr.ibm.com) I. - II. DW ETT Best Practice (DW)., (EDW). Time 1980 ~1990 1995 2000 2005 * 1980 IBM Information Warehouse

More information

리뉴얼 xtremI 최종 softcopy

리뉴얼 xtremI 최종 softcopy SSD를 100% 이해한 CONTENTS SSD? 03 04 05 06 07 08 09 10 11 12 13 15 14 17 18 18 19 03 SSD SSD? Solid State Drive(SSD) NAND NAND DRAM SSD [ 1. SSD ] CPU( )RAM Cache Memory Firmware GB RAM Cache Memory Memory

More information

Microsoft PowerPoint - a10.ppt [호환 모드]

Microsoft PowerPoint - a10.ppt [호환 모드] Structure Chapter 10: Structures t and Macros Structure 관련된변수들의그룹으로이루어진자료구조 template, pattern field structure를구성하는변수 (cf) C언어의 struct 프로그램의 structure 접근 entire structure 또는 individual fields Structure는

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

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

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

SQL Server 에서 SQL 튜닝시알아야할힌트와사용 방법 엑셈컨설팅본부 /DB 컨설팅팀박성호 Optimizer 가 SQL 을해석할때항상최적의실행계획을생성하지는못한다. 복잡한 SQL 일수록최적의실행계획을생성하기위해고려해야할대상 (Table, Index 가많은경우 )

SQL Server 에서 SQL 튜닝시알아야할힌트와사용 방법 엑셈컨설팅본부 /DB 컨설팅팀박성호 Optimizer 가 SQL 을해석할때항상최적의실행계획을생성하지는못한다. 복잡한 SQL 일수록최적의실행계획을생성하기위해고려해야할대상 (Table, Index 가많은경우 ) SQL Server 에서 SQL 튜닝시알아야할힌트와사용 방법 엑셈컨설팅본부 /DB 컨설팅팀박성호 Optimizer 가 SQL 을해석할때항상최적의실행계획을생성하지는못한다. 복잡한 SQL 일수록최적의실행계획을생성하기위해고려해야할대상 (Table, Index 가많은경우 ) 이많기때문에, 실행계획생성시 SQL 의 Cost 를잘못계산하여최적의실행계획을세우지못하는경우가발생한다.

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

<4D F736F F D205BB4EBBBF3C1A4BAB8B1E2BCFA5DB1E2BCFAB9AEBCAD2D524D414EBBE7BFEBBFB9C1A65F39695F313067>

<4D F736F F D205BB4EBBBF3C1A4BAB8B1E2BCFA5DB1E2BCFAB9AEBCAD2D524D414EBBE7BFEBBFB9C1A65F39695F313067> 9i 에서의 RMAN 사용법예제 Author : 여현승 Creation Date : 2009-04-15 Last Updated : Latest Version : 1.0 Updated by Updated date Version < YYYY-MM-DD>

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information