11g - Serial direct read 동작원리 엑셈컨설팅본부 /DB 컨설팅팀임경석 개요 오라클 11g 에서처음소개된 Serial direct read 는대량의데이터를처리하는엑사데이타에서매우중요한기능이다. 스마트스캔을하기위해서는반드시테이블 full scan 과 d

Size: px
Start display at page:

Download "11g - Serial direct read 동작원리 엑셈컨설팅본부 /DB 컨설팅팀임경석 개요 오라클 11g 에서처음소개된 Serial direct read 는대량의데이터를처리하는엑사데이타에서매우중요한기능이다. 스마트스캔을하기위해서는반드시테이블 full scan 과 d"

Transcription

1 11g - Serial direct read 동작원리 엑셈컨설팅본부 /DB 컨설팅팀임경석 개요 오라클 11g 에서처음소개된 Serial direct read 는대량의데이터를처리하는엑사데이타에서매우중요한기능이다. 스마트스캔을하기위해서는반드시테이블 full scan 과 direct path read 가선행되어야하기때문이다. 그러나, serial direct read 의동작은옵티마이져환경에영향을받지않으므로힌트를적용하여제어할수없고, 뜻대로동작하지않거나중간에변경되기도한다. 그렇다고임의로동작하는것은아니며몇가지규칙이존재한다. 필자는 serial direct read 가어떠한규칙에의해결정되고, 변경되는지몇가지사례를통해자세히소개하고자한다. Serial direct read 란? DW 환경에서는대량의데이터를조회하는경우가빈번하다. 따라서, 테이블이나인덱스에대한풀스캔을피할수없다. 오라클에서풀스캔은여러개의블록을한번에버퍼캐시로읽어들이는멀티블록 I/O 를통해처리된다. 멀티블록 I/O 는크기가제한된버퍼캐시를통해이루어지므로내부적으로복잡한과정이필요하므로버퍼캐시에상당한부담이될수있다. 블록을읽기위해프리리스트를검색하고버퍼를변경할때마다래치를획득하여 cache buffers chains latch, cache buffers lru chain latch 와같은이벤트가발생할수있다. 이러한블록들은 LRU 리스트끝에위치하지만다른세션들이필요로하는캐시된블록들을 age out 시키고, 이미변경된블록들에대해서는다량의 CR 복사본을생성할수있다. 따라서, 이러한이유들로인해일반적으로테이블을풀스캔할경우버퍼캐시를거치지않는 PQ(Parallel Query) 를많이사용한다. PQ 슬레이브세션들은 direct path read 를통해 PGA 로 데이터를직접읽어들이므로버퍼캐시에대한부담을줄여주고성능에도효과적이다. 하지만, Part 1 ORACLE 59

2 과도한 PQ 사용은 CPU, MEMORY 사용률증가와빈번한체크포인트로인해오히려시스템부 하를가중시킬수있다. 오라클은 Parallel 옵션을사용하지않고 direct read 가가능한 SDPR(serial direct path read) 을 11g 에서처음소개하였다. SDPR 은테이블 full scan 이나인덱스 fast full scan 시싱글모드로버퍼캐시를거치지않고블록을직접읽어들이는것을말한다. 사실이러한기능은오라클 10G 에도있었지만본격적으로적용된것은 11g 부터이다. 특히, 11gr2 이후에는몇가지파라미터를통해적절한제어도가능해졌다. serial direct read 는히든파라미터 _serial_direct_read 로정의한다. 10G 에는기본값이 false 였지만, 11gr2 부터 auto 로변경되면서오라클이적절하게 direct read 를적용할수있 게되었다. _serial_direct_read 옵션은 true, false, auto, always, never 로크게 5 가지로정의할수있다. 이중 true, always 는풀스캔하는모든세그먼트를항상 SDPR 로처리하고, 반대로 never 는어느경우든처리하지않는다. 하지만, false 의경우 never 와같은의미로보이지만오히려 auto 와비슷하게동작한다. NAME VALUE DESCRIPTION _serial_direct_read AUTO enable direct read in serial 어떻게동작하는가? 데이터베이스에존재하는모든테이블이 SDPR 의대상이되는것은아니다. 오라클은 SDPR 이가능한테이블의선택기준을히든파라미터 _small_table_threshold 에정의하였다. 기본값은 _db_block_buffers 의 2% 로써이보다작으면오라클이작은테이블로인식한다는의미이다. 10g 에서는테이블을풀스캔할때작은테이블은 LRU 리스트의중간에위치하고, 큰테이블은 LRU 리스트의맨끝에위치하므로 age out 되기가쉬워 physical read 가발생할확률이높음을의미했다. 그러나, 11gr2 에서해당파라미터는 direct read 가가능한테이블크기의최소임계치로정의한다 기술백서 White Paper

3 NAME DESCRIPTION _small_table_threshold lower threshold level of table size for direct reads 테이블을풀스캔하면먼저테이블의세그먼트헤더블록을읽어 HWM 이하차지하는블록이몇개인지조회한다. 블록의개수가 _small_table_threshold 보다크면 direct path read 로처리되고, 이보다작으면버퍼캐시를통한멀티블록 I/O 로인해 db file scattered read 로처리된다. 11gR2 이전에는테이블의크기가 _small_table_threshold 설정값의 5 배또는그이상이되어야 SDPR 이가능하였다. 그러나, 11gR2 이후에는 _small_table_threshold 값과테이블의크기가거의비슷해지는순간발생한다. 또한, 테이블의전체블록수와비교하여버퍼캐시에캐시되어있는테이블의블록또는더티블록이차지하는비율에따라달라지기도한다. 특정테이블이차지하는전체블록중 50% 이상이버퍼캐시에캐시되어있거나 25% 이상이더티상태로캐시될경우, 테이블의전체블록수가 _small_table_threshold 보다크더라도 SDPR 은발생하지않는다. 이와같은사실은 SDPR 이옵티마이져에의한것이아닌실제세그먼트블록을조회하는런타임시점에결정되기때문이다. 따라서, 테이블의크기, 버퍼캐시의크기, 버퍼캐시에캐시된테이블의블록수를고려하여 SDPR 여부는언제든바뀔수있어좀더안정적인성능을보장할수있다. 11gR2 이후에는이와는다른한가지방식이추가되었다. SDPR 의가능여부를실제테이블의블록수를조회하여결정하던것을테이블의통계정보에저장된블록수 (dba_tables.blocks) 로결정하는것이다. 이것은히든파라미터 _direct_read_decision_statistics_driven 로제어할수있으며기본값은 true 이다. 통계정보의 blocks 를참조할경우통계정보가바뀌지않는한테이블의크기에변화가있더라도 SDPR 결정에영향을주지않는다. 따라서, 통계정보를활용하여 SDPR 를좀더유연하게적용할수있다. 하지만, 버퍼캐시에캐시된테이블의블록수와상태에따라서는여전히영향을받는다. serial direct read 등장배경에는엑사데이타와밀접한관련이있다. 아마도엑사테이타의주요기능인스마트스캔이테이블을 direct read 로풀스캔할때가능하기때문일것이다. SSD 플래시디스크활용이증가하면서플래시디스크를통한 direct read 는 I/O 속도를한단계더진화시켰다. 따라서, serial direct read 를적절하게사용하면성능에큰도움이될수있다. Part 1 ORACLE 61

4 (1) 테이블크기변화에따른 serial direct read. _small_table_threshold 를기준으로 SDPR 이결정되는테이블의최소크기는어떻게정해지는지테스트를통해살펴보자. 한가지주의할것은오라클 11gR2 의경우, 정확한테스트를위해테이블통계정보를생성하지않거나 _direct_read_decision_statistics_driven=false 로하여통계정보 blocks 로 SDPR 이결정되지않게해야한다. 테스트로사용되는테이블은한블록에한개의로우만저장되도록생성하고, 테이블크기변화에따라 SDPR 발생여부를측정할수있는프로시져를생성한다. -- 오라클버젼확인 Oracle Database 11g Enterprise Edition Release bit Production PL/SQL Release Production CORE Production TNS for Linux: Version Production NLSRTL Version Production -- 테스트테이블생성. SQL> create table sdpr_test (col varchar2(100)) pctused 1 pctfree 99 tablespace users ; -- 테이블의크기를측정하기위한프로시져생성. create or replace procedure SDPR_PRO( p_start in number default 0, p_step in number, p_stop in number default null ) is b_prd number; b_prd1 number; b_prd2 number; b_blocks number:=0; b_start number:=p_start; b_cnt number:=0 ; b_result number; begin 기술백서 White Paper

5 dbms_output.enable(buffer_size=>10000); execute immediate 'truncate table sdpr_test'; select value into b_prd1 from v$sesstat st, v$statname sn where st.statistic#=sn.statistic# and sn.name = 'physical reads direct' and st.sid = userenv('sid'); loop insert /*+ append */ into sdpr_test select rpad('*', 100, '*') from dual connect by level <= p_step + b_start; commit; b_blocks:=b_blocks + p_step + b_start; b_start:=0; execute immediate 'alter system flush buffer_cache'; select /*+ full(sdpr_test) */ count(*) into b_cnt from sdpr_test; select value into b_prd2 from v$sesstat st, v$statname sn where st.statistic#=sn.statistic# and sn.name = 'physical reads direct' and st.sid = userenv('sid'); b_prd:=b_prd2 - b_prd1 ; exit when (b_prd > 0 or b_blocks > nvl(p_stop, b_blocks)); end loop; b_result:=b_blocks-p_step; dbms_output.put_line(chr(10) 'Block count for SDPR: ' b_result ' blocks'); end; / Part 1 ORACLE 63

6 -- buffer.sql accept obj prompt'enter the object name :' SELECT o.owner, o.object_name, decode( state, 0, 'free', 1, 'xcur', 2, 'scur', 3, 'cr', 4, 'read', 5, 'mrec', 6, 'irec', 7, 'write', 8, 'pi' ) state, decode( bitand( flag, 1 ), 0, 'N', 'Y' ) dirty, decode( bitand( flag, 16 ), 0, 'N', 'Y' ) temp, decode( bitand( flag, 1536 ), 0, 'N', 'Y' ) ping, decode( bitand( flag, ), 0, 'N', 'Y' ) stale, decode( bitand( flag, ), 0, 'N', 'Y' ) direct, COUNT( * ) blocks FROM sys.xm$bh b, dba_objects o WHERE b.obj = o.data_object_id AND b.ts# >= 0 AND o.object_name = UPPER( LTRIM( RTRIM( '&obj' ) ) ) AND state = 1 GROUP BY o.owner, o.object_name, state, decode( bitand( flag, 1 ), 0, 'N', 'Y' ), decode( bitand( flag, 16 ), 0, 'N', 'Y' ), decode( bitand( flag, 1536 ), 0, 'N', 'Y' ), decode( bitand( flag, ), 0, 'N', 'Y' ), decode( bitand( flag, ), 0, 'N', 'Y' ), blsiz ; -- _small_table_threshold 을 1000 으로설정. SQL> alter session set "_small_table_threshold"=1000 ; -- sdpr_pro 프로시져실행 SQL> exec sdpr_pro(p_start=>800,p_step=>1,p_stop=>1500); Block count for SDPR: 976 blocks 기술백서 White Paper

7 -- 버퍼캐시상태조회. enter the object name :sdpr_test OWNER OBJECT_NAM STATE DIRTY TEMP PING STALE DIREC BLOCKS SYS SDPR_TEST xcur N N N N N 1 _small_table_threshold 를 1000 으로하고 SDPR_TEST 테이블의블록수가 800 블록부터한블록씩증가하여 1500 블록까지커지도록프로시저를실행한결과, 테이블의크기가 976 블록을 1 블록초과하는 977 블록이되는순간최초로 direct read 가발생한다. 이것은 _small_table_threshold 가 1000 일때테이블크기의최소임계치는 976 블록임을의미한다. 따라서, HWM 까지의크기가 976 블록을초과하는테이블을풀스캔한다면 direct path read 로실행될수있다는의미이다. 테스트세션에대해 트레이스를걸어좀더자세히살펴보면, 제일먼저 db file sequential read 이벤트를대기하면서 file#=4, block#=17098 블록을읽는것을확인할수있다. 해당블록은 SDPR_TEST 테이블의세그먼트헤더블록으로이를통해테이블이차지하는실제 HWM 이하까지의블록수를조회한다. 테이블의실제블록수를 _small_table_threshold 값과비교하여 SDPR 을수행하기로결정되면, 뒤이어더티상태의블록들을디스크에반영하는체크포인트가이루어지고 enq: KO - fast object checkpoint 이벤트를대기한다. 체크포인트는 SDPR_TEST 테이블에한하여매우짧은시간수행되고, 체크포인트가끝나면 direct path read 로테이블을풀스캔하게된다. 실제버퍼캐시상태를 x$bh 뷰를통해조회하면, SDPR_TEST 테이블의전체블록중세그먼트헤더에해당하는블록한개만버퍼캐시에존재한다는것을알수있다 세션트레이스 WAIT # : nam='db file sequential read' ela= 9 file#=4 block#=17098 blocks=1 obj#=80219 tim= WAIT # : nam='db file sequential read' ela= 6 file#=3 block#=192 blocks=1 obj#=0 tim= Part 1 ORACLE 65

8 WAIT # : nam='reliable message' ela= 71 channel context= channel handle= broadcast message= obj#=0 tim= WAIT # : nam='enq: KO - fast object checkpoint' ela= 483 name mode= = =1 obj#=0 tim= WAIT # : nam='asynch descriptor resize' ela= 0 outstanding #aio=0 current aio limit=412 new aio limit=442 obj#=0 tim= WAIT # : nam='direct path read' ela= 24 file number=4 first dba=17099 block cnt=5 obj#=80219 tim= WAIT # : nam='direct path read' ela= 39 file number=4 first dba=16080 block cnt=8 obj#=80219 tim= WAIT # : nam='direct path read' ela= 96 file number=4 first dba=16089 block cnt=15 obj#=80219 tim= WAIT # : nam='direct path read' ela= 43 file number=4 first dba=16105 block cnt=15 obj#=80219 tim= WAIT # : nam='direct path read' ela= 9 file number=4 first dba=16121 block cnt=7 obj#=80219 tim= WAIT # : nam='direct path read' ela= 11 file number=4 first dba=17024 block cnt=8 obj#=80219 tim= 버퍼캐시상태조회. SQL> SELECT o.owner, 2 o.object_name, 3 decode( state, 0, 'free', 1, 'xcur', 2, 'scur', 3, 'cr', 4, 'read', 5, 'mrec', 6, 'irec', 7, 'write', 8, 'pi' ) state, 4 blsiz, 5 dbarfil, 6 dbablk 7 FROM sys.xm$bh b, 8 dba_objects o 9 WHERE b.obj = o.data_object_id 10 AND b.ts# >= 0 11 AND o.object_name = 'SDPR_TEST' 12 AND state = 1; OWNER OBJECT_NAM STATE BLSIZ DBARFIL DBABLK SYS SDPR_TEST xcur 기술백서 White Paper

9 -- SDPR_TEST 테이블의세그먼트헤더블록조회. SQL> select segment_name, header_file, header_block 2 from dba_segments 3 where segment_name = 'SDPR_TEST'; SEGMENT_NAME HEADER_FILE HEADER_BLOCK SDPR_TEST (2) 테이블의캐시된블록수변화에따른 serial direct read. SDPR_TEST 테이블이 977 블록이상커지더라도항상 SDPR 로수행되는것은아니다. SDPR_TEST 테이블이현재버퍼캐시에얼마나캐시되어있는지에따라 SDPR 여부는달라질수있다. 테이블의전체블록중 50% 이상이버퍼캐시에이미캐시되어있다면더이상 SDPR 은발생하지않는다. 테이블전체블록을디스크로부터직접읽는것보다캐시되어있는블록을읽는것이더유리하다고판단해서이다. 그러면, SDPR_TEST 테이블이버퍼캐시에어느정도캐시되었을때 SDPR 이발생하지않는지테스트를통해살펴보자. 먼저, 버퍼캐시에블록을캐시하기위한프로시저를생성한다. SDPR_TEST 테이블 300 블록을미리캐시한후, 캐시된블록이한개씩증가하도록프로시저를실행하면블록이캐시된블록이몇개일때 SDPR 이멈추는지확인해보자 -- 인덱스생성. SQL> create index idx_sdpr_test on sdpr_test (1) tablespace users; -- 프로시져생성. create or replace procedure cached_sdpr_pro( p_start in number default 0, p_step in number default 1 ) is b_v varchar2(100); b_trsh number:=0; Part 1 ORACLE 67

10 b_prd number; b_prd1 number; b_prd2 number; b_cnt number:=0; b_start number:=p_start; cursor b_cur is select /*+ index(sdpr_test idx_sdpr_test) */ * from sdpr_test ; begin dbms_output.enable(buffer_size=>10000); execute immediate 'alter system flush buffer_cache'; select value into b_prd1 from v$sesstat st, v$statname sn where st.statistic#=sn.statistic# and sn.name = 'physical reads direct' and st.sid = userenv('sid'); open b_cur; loop for i in 1.. p_step+b_start loop fetch b_cur into b_v; end loop; b_trsh:=b_trsh+p_step+b_start; b_start:=0; select /*+ full(sdpr_test) */ count(*) into b_cnt from sdpr_test ; select value into b_prd2 from v$sesstat st, v$statname sn where st.statistic#=sn.statistic# and sn.name = 'physical reads direct' and st.sid = userenv('sid'); b_cnt:=b_prd2 - b_prd1 ; exit when b_cnt=b_prd or b_cur%notfound ; b_prd:=b_cnt; end loop; close b_cur; dbms_output.put_line(chr(10) 'Block count for impossible sdpr : ' b_trsh ' blocks'); end; / -- _small_table_threshold 을 1000 으로설정 기술백서 White Paper

11 SQL> alter session set "_small_table_threshold"=1000 ; -- dynamic sampling 비활성화 SQL> alter session set optimizer_dynamic_sampling=0; -- 프로시져실행 SQL> exec cached_sdpr_pro(p_start=>300, p_step=>1); Block count for impossible sdpr : 497 blocks 프로시저실행결과 SDPR_TEST 테이블전체블록중 50% (497/977*100 = 50.8 ) 인 497 개블록이캐시되는시점에더이상 SDPR 은발생하지않는다. SDPR_TEST 테이블을풀스캔할때, 버퍼캐시에이미캐시된블록수가 497 개이상존재한다면, direct path read 가아닌버퍼캐시를경유하는 db file scattered read 로처리된다. 여기서한가지주의할점은테스트에사용된테이블은통계정보가존재하지않으므로프로시저를처음수행할때 dynamic sampling 이발생할수있다는것이다. dynamic sampling 이수행되면테이블을샘플링하는과정에블록의일부가버퍼캐시에미리캐시된채프로시저가실행될수있어 497 보다작은결과값이나올수있다. 따라서, 정확한결과값을얻기위해프로시저를한번더실행하거나 dynamic sampling 이되지않도록 optimizer_dynamic_sampling 파라미터레벨을 '0' 으로변경하여야한다. (3) 캐시된더티블록수변화에따른 serial direct read 결정테이블의블록중 25% 이상이더티블록상태로캐시된경우에도 SDPR 은발생하지않는다. 앞에서설명했듯이 direct read 는오브젝트단위의체크포인트를동반하므로테이블의모든더티블록들은체크포인트의대상이된다. 따라서, 25% 이상존재하는더티블록에대해체크포인트를적용한후디스크로부터다시블록을읽는것보다는이미캐시된상태의블록을읽는것이유리하다고판단할수있다. Part 1 ORACLE 69

12 그럼실제몇개의더티블록이캐시될 SDPR 이더이상발생하지않는지테스트를통해살펴보자. 더티블록이버퍼캐시에캐시되도록프로시저를생성한후어느시점에 SDPR 이멈추는지프로시저를수행한결과값을통해확인해보자. -- 더티블록을생성하기위한프로시저생성. create or replace procedure dirty_sdpr_pro ( p_start in number default 0, p_step in number, p_stop in number default null ) is b_trsh number:=0; b_prd number:=0; b_prd1 number:=0; b_prd2 number:=0; b_cnt number:=0; b_start number:=p_start; begin dbms_output.enable(buffer_size=>10000); execute immediate 'alter system flush buffer_cache'; select value into b_prd1 from v$sesstat st, v$statname sn where st.statistic#=sn.statistic# and sn.name = 'physical reads direct' and st.sid = userenv('sid'); loop b_trsh:=b_trsh+p_step+b_start; update sdpr_test set col=col where rownum <= b_trsh; commit; b_start:=0; select /*+ full(sdpr_test) */ count(*) into b_cnt from sdpr_test ; select value into b_prd2 from v$sesstat st, v$statname sn where st.statistic#=sn.statistic# and sn.name = 'physical reads direct' and st.sid = userenv('sid'); 기술백서 White Paper

13 b_cnt:= b_prd2 - b_prd1 ; exit when b_cnt=b_prd or b_trsh > nvl(p_stop, b_trsh); b_prd:=b_cnt; end loop; dbms_output.put_line(chr(10) 'Block count for impossible sdpr : ' b_trsh ' blocks'); end; / -- _small_table_threshold 을 1000 으로설정. SQL> alter session set "_small_table_threshold"=1000 ; SQL> alter session set optimizer_dynamic_sampling=0 ; -- 프로시져실행 SQL> exec dirty_sdpr_pro(p_start=>50, p_step=>1, p_stop=>1500) ; Block count for impossible sdpr : 245 blocks enter the object name :sdpr_test OWNER OBJECT_NAM STATE DIRTY TEMP PING STALE DIREC BLOCKS SYS SDPR_TEST xcur Y N N N N 245 SYS SDPR_TEST xcur N N N N N 733 프로시저수행결과, SDPR_TEST 테이블전체블록중 25% ( 245/977*100 = 25 ) 인 245 개의더티블록이캐시된시점에더이상 SDPR 은발생하지않는다. x$bh 뷰를조회해보면 SDPR_TEST 테이블의더티블록이정확히 245 개캐시되는시점에 direct path read 가멈추고전체 977 블록중나머지 733 개블록이멀티블록 i/o 로인해캐시됐음을확인할수있다. Part 1 ORACLE 71

14 (4) 통계정보와 serial direct read 오라클 11gR2 이후에는옵티마이져통계정보에저장된 tab$blkcnt, tabpart$.blkcnt, ind$.leafcnt 를참조하여 serial direct read 여부가결정된다. 통계정보를적용하여 SDPR 을결정하기위해서는 _direct_read_decision_statistics_driven 히든파라미터가 true 여야한다. 해당파라미터는 11gr2 에새로추가되었으며기본값이 true 이다. 이것은 11gr2 이후에는기본적으로통계정보를참조하여 SDPR 을결정하겠다는의미이 다. 통계정보에저장된테이블의 blocks 가 _small_table_threshold 값보다크면 SDPR 로처 리되고작으면버퍼캐시를경유하는멀티블록 I/O 로처리된다. NAME VALUE DESCRIPTION _direct_read_decision_statistics_driven TRUE enable direct read decision based on optimizer statistics 통계정보가존재하는테이블의경우테이블의전체블록수에큰변화가있더라도 SDPR 은도중에변경되지않는다. SDPR 의판단기준이더이상테이블의실제블록수를통해적용되지않기때문이다. 하지만, 테이블의통계정보가새로갱신되거나버퍼캐시에캐시된테이블블록수와더티블록의수에변화가생긴다면 SDPR 여부는언제든바뀔수있다. 이것은앞에서설명했듯이 SDPR 결정이옵티마이져환경이아닌런타임시점에결정되기때문이다. 테이블통계정보의 blocks 를 _small_table_threshold 값보다크게설정하여테이블을풀스캔할때항상 SDPR 로실행되게하고, 테이블의크기, 버퍼캐시상태에따라 SDPR 이어떻게적용되는지테스트를통해살펴보자. -- _small_table_threshold 를 1000 으로설정. SQL> alter session set "_small_table_threshold" = 1000 ; -- SDPR_TEST 테이블통계정보의 blocks 를 _small_table_threshold 보다큰 1100 으로 설정 SQL>EXECDBMS_STATS.SET_TABLE_STATS(ownname=>'SYS',tabname=>'SDPR_TEST',numblks=> 1100,no_invalidate=>false); 기술백서 White Paper

15 -- _sdpr_pro 프로시져실행. SQL> exec sdpr_pro(p_start=>0,p_step=>1,p_stop=>1500); Block count for SDPR: 0 blocks enter the object name :sdpr_test OWNER OBJECT_NAM STATE DIRTY TEMP PING STALE DIREC BLOCKS SYS SDPR_TEST xcur N N N N N 1 SQL> select statistic_name, value 2 from v$segment_statistics 3 where owner=user 4 and object_name='sdpr_test' 5 and statistic_name='physical reads direct'; STATISTIC_NAME VALUE physical reads direct 1 테이블통계정보의 blocks 를 small_table_threshold 보다큰 1100 으로하고, 테이블크기가 0 부터 1 블록씩증가하여 1500 블록이될때까지 sdpr_pro 프로시저를수행하면 0 블록을초과하는시점인실제테이블크기가 1 블록이상이될때 SDPR 이최초로발생한다. 통계정보의 blocks 가 _small_table_threshold 값보다크므로 1 블록을읽을때도 SDPR 로처리되는것이다. 이와반대로테이블통계정보의 blocks 가 _small_table_threshold 값보다작으면테이블이아무리크더라도 SDPR 은발생하지않는다. 따라서, 데이터의변화량이큰테이블일수록현재상태에맞게통계정보를생성하는것이중요하다. 이번에는버퍼캐시에캐시된테이블의블록수와더터블록의수가변경될경우 SDPR 은어떻게처리되는지살펴보자 -- 테이블 2000 블록생성. SQL> truncate table sdpr_test; Part 1 ORACLE 73

16 SQL> insert /*+ append */ into sdpr_test 2 select rpad('*', 100, '*') 3 from dual 4 connect by level <= 2000; 2000 rows created. -- 통계정보생성 SQL> exec dbms_stats.gather_table_stats(ownname=>'sys', tabname=>'sdpr_test', method_opt=>'for ALL COLUMNS SIZE 1', no_invalidate=>false); SQL> select owner,table_name,blocks,num_rows 2 from dba_tables 3 where table_name = 'SDPR_TEST'; OWNER TABLE_NAME BLOCKS NUM_ROWS SYS SDPR_TEST 테이블캐시프로시져수행. SQL> alter session set "_small_table_threshold" = 1000 ; SQL> exec cached_sdpr_pro(p_start=>300, p_step=>1); Block count for impossible sdpr : 1990 blocks enter the object name :sdpr_test OWNER OBJECT_NAM STATE DIRTY TEMP PING STALE DIREC BLOCKS SYS SDPR_TEST xcur N N N N N 더티블록생성프로시져수행. SQL> exec dirty_sdpr_pro(p_start=>50, p_step=>1, p_stop=>1500) ; Block count for impossible sdpr : 990 blocks enter the object name :sdpr_test 기술백서 White Paper

17 OWNER OBJECT_NAM STATE DIRTY TEMP PING STALE DIREC BLOCKS SYS SDPR_TEST xcur Y N N N N 990 SYS SDPR_TEST xcur N N N N N 1011 SDPR_TEST 테이블에블록 2000 개를생성하고통계정보를수집하면통계정보가없을때와약간다른결과를보여준다. 통계정보가없을때는버퍼캐시에 SDPR_TEST 테이블블록이 50% 이상캐시되거나더티블록이 25% 이상캐시될경우 SDPR 이멈추었다. 물론버퍼캐시및테이블의크기에따라약간의차이가있지만그래도거의비슷한수준에서멈추었다. 그러나, 통계정보를참조하는경우테이블의캐시된블록수가테이블의크기와거의비슷한 100% 일때와더티블록이 50% 일때 SDPR 이멈춘다는것이다. 이것은통계정보가존재하지않을때의캐시비율과비교할때각각 2 배씩증가한것으로보인다. 이때, 통계정보의테이블 blocks 를임의로 1100 으로작게한다면어떻게될까? -- 테이블통계정보의 blocks 를 1100 으로낮춤. EXEC DBMS_STATS.SET_TABLE_STATS (ownname=>'sys', tabname=> 'SDPR_TEST', numblks=>1100, no_invalidate=>false) ; SQL> select owner,table_name,blocks,num_rows 2 from dba_tables 3 where table_name = 'SDPR_TEST'; OWNER TABLE_NAME BLOCKS NUM_ROWS SYS SDPR_TEST SQL> exec cached_sdpr_pro(p_start=>300, p_step=>1); Block count for impossible sdpr : 1073 blocks SQL> exec dirty_sdpr_pro(p_start=>50, p_step=>1, p_stop=>1500) ; Block count for impossible sdpr : 497 blocks 테스트결과, 실제테이블의크기는 2000 블록이상이지만통계정보의 blocks 를 1100 으로낮추었더니 1070 개의블록이캐시될때또는 497 개의더티블록이캐시될때멈추었다. 이것은테이블캐시여부를실제테이블의크기가아닌통계정보의 blocks 를기준으로결정한다는것을알수있다. 테이블통계정보의 blocks 가 1100 이므로캐시된테이블블록수가통계정보 Part 1 ORACLE 75

18 blocks 의 100% 에가까운 1070 블록, 더티블록이 blocks 의 50% 이 497 블록에서 SDPR 이멈추었다. 통계정보가없는테이블을풀스캔할때는커서를실행할때마다테이블의실제블록수를세그먼트헤더블록을통해조회하였다. 그러나, 통계정보를적용할때는 tab$blkcnt, tabpart$.blkcnt, ind$.leafcnt 값을커서의어딘가에저장하고실행할때마다저장된값을참조하여 SDPR 여부를결정한다. 따라서, 커서가 invalid 되거나, 통계정보를새로생성하거나, 캐시및더티블록비율이변할경우 SDPR 여부도런타임시점에언제든바뀔수있다. SQL> truncate table sdpr_test; SQL> analyze table sdpr_test delete statistics ; SQL> alter system flush shared_pool ; -- 테이블 500 블록생성. SQL> insert /*+ append */ into sdpr_test 2 select rpad('*', 100, '*') 3 from dual 4 connect by level <= 500; 500 rows created. -- sdpr_test 테이블통계정보제거. SQL> alter table sdpr_test delete statistics; -- test-1 번커서실행. SQL> alter session set "_small_table_threshold" = 1000 ; SQL> select /*+ full(sdpr_test) test-1 */ count(*) from sdpr_test; COUNT(*) v$segment_statistics 조회 기술백서 White Paper

19 SQL> select statistic_name, value 2 from v$segment_statistics 3 where owner=user 4 and object_name='sdpr_test' 5 and statistic_name='physical reads direct'; STATISTIC_NAME VALUE physical reads direct 0 -- 테이블의통계정보 blocks 를 1100 으로설정 ( no_invalidate 옵션제거 ) SQL> EXEC DBMS_STATS.SET_TABLE_STATS(ownname=>'SYS', tabname=>'sdpr_test',numblks=>1100); -- 커서 test-1 재실행. SQL> select /*+ full(sdpr_test) test-1 */ count(*) from sdpr_test; -- v$segment_statistics 조회. STATISTIC_NAME VALUE physical reads direct 0 -- 커서 test-2 실행. SQL> select /*+ full(sdpr_test) test-2 */ count(*) from sdpr_test; COUNT(*) v$segment_statistics 조회. STATISTIC_NAME VALUE physical reads direct 2000 SDPR_TEST 테이블에 500 블록을생성한후통계정보를제거한상태에서테이블을풀스캔하면실제블록수가 _small_table_threshold 보다작으므로 SDPR 는발생하지않는다. 통계정 Part 1 ORACLE 77

20 보의 blocks 를 1100 으로설정하고다시동일한 SQL 을실행할경우마찬가지로 SDPR 로실행되지않는다. 통계정보 blocks 가 1100 이므로당연히 SDPR 로처리되야하지만그렇지않은이유는통계정보를 no_invalidate 로생성했기때문이다. no_invalidate 옵션을빼면기본값이 auto 모드로통계정보가생성되어일정시간이지난후에야커서가 invalid 된다. 따라서, 먼저수행된 test-1 번커서는재실행했을때도커서가아직 invalid 되지않았으므로 SDPR 로실행되지않지만, 통계정보생성후처음실행되는 test-2 번커서는통계정보 blocks 를적용하여 SDPR 로실행된다. 따라서, test-2 커서는 invalid 되지않거나, 버퍼캐시에테이블블록의캐시및더티블록상태가바뀌지않는이상계속 SDPR 로실행된다. [ 표-1] 은앞에서설명한 serial direct read 여부를결정하는판별기준을표로정리한것이다. 구분 SDPR 결정기준 SDPR 멈춤 ( 블록캐시 ) SDPR 멈춤 ( 더티블록캐시 ) 통계정보있음 통계정보 blocks ( tab$blkcnt, tabpart$.blkcnt, ind$.leafcnt) 통계정보 blocks 대비 100% 캐시 통계정보 blocks 대비 50% 캐시 통계정보없음 세그먼트실제블록수 ( 세그먼트 헤더블록조회 ) 세그먼트블록수대비 50% 캐시 세그먼트블록수대비 25% 캐시 [ 표 1] serial direct read 발생기준 결론 지금까지 SDPR(serial direct read) 이어떻게동작하는지몇가지사례를통해살펴보았다. 하지만, 경우에따라다양하고복잡하게느껴질수도있을것이다. 관련된파라미터를변경하지않고통계정보만적절히생성하여오라클이알아서수행하도록놔두면될일이지만, 뭐든지부족하거나과하면좋지않듯이불필요한 direct read 가과하게발생하거나, 반대로그렇지못할경우 SDPR 의동작방식을알고있다면위에서언급한파라미터와통계정보등을활용하여적절한튜닝도가능할것으로생각한다 기술백서 White Paper

21 참고문헌 Part 1 ORACLE 79

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

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

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

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

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

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

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

KEEP BUFFER 활용방안 엑셈컨설팅본부 /DB 컨설팅팀장정민 개요 Oracle 은유저가요청한작업을빠르게처리하기위해 Buffer Cache 라는것을사용한다. Buffer Cache 는 SGA 에위치하고있으며, 오라클인스턴스에접속하는모든프로세스에의해공유된다. 이 Bu

KEEP BUFFER 활용방안 엑셈컨설팅본부 /DB 컨설팅팀장정민 개요 Oracle 은유저가요청한작업을빠르게처리하기위해 Buffer Cache 라는것을사용한다. Buffer Cache 는 SGA 에위치하고있으며, 오라클인스턴스에접속하는모든프로세스에의해공유된다. 이 Bu KEEP BUFFER 활용방안 엑셈컨설팅본부 /DB 컨설팅팀장정민 개요 Oracle 은유저가요청한작업을빠르게처리하기위해 Buffer Cache 라는것을사용한다. Buffer Cache 는 SGA 에위치하고있으며, 오라클인스턴스에접속하는모든프로세스에의해공유된다. 이 Buffer Cache 는오라클 I/O 관리의핵심으로자주사용하는데이터파일의블록들을메모리에상주시킴으로써물리적인

More information

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

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

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

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

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

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

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

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

그리고.. 엑셀에하나둘완료된쿼리가늘어날때마다... 희열을느낀다... 이글을보는당신은어떻게할것인가? 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

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

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

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

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_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

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

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

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

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

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

대량의 DML 작업에대한성능개선방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 대량의데이터를변경해야하는작업은그자체만으로도큰부담으로다가온다. 하지만변경작업자체에만국한되는것이아니라변경되기전데이터와변경이후데이터를각각저장관리해야하는메커니즘이라면성능을개선해야하는입장에서는더욱큰부담

대량의 DML 작업에대한성능개선방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 대량의데이터를변경해야하는작업은그자체만으로도큰부담으로다가온다. 하지만변경작업자체에만국한되는것이아니라변경되기전데이터와변경이후데이터를각각저장관리해야하는메커니즘이라면성능을개선해야하는입장에서는더욱큰부담 대량의 DML 작업에대한성능개선방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 대량의데이터를변경해야하는작업은그자체만으로도큰부담으로다가온다. 하지만변경작업자체에만국한되는것이아니라변경되기전데이터와변경이후데이터를각각저장관리해야하는메커니즘이라면성능을개선해야하는입장에서는더욱큰부담일것이다. 말그대로대량의데이터를변경해야하는작업의특성상 SQL Tuning 만으로성능을개선할여지는많지않을뿐더러개선을한다하더라도극적인효과를기대하기는어렵다.

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

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 과 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

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

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

리눅스 free 메모리의이해 엑셈컨설팅본부 /DB 컨설팅팀임경석 개요 리눅스환경에서메모리사용률을모니터링하기위해명령어를실행하다보면시스템을기동한지얼마되지않아 free 영역의지표가급격히줄어드는것을쉽게확인할수있다. 리눅스어드민경험이있는사람이라면이것이무엇을의미하는지알수있지만그렇

리눅스 free 메모리의이해 엑셈컨설팅본부 /DB 컨설팅팀임경석 개요 리눅스환경에서메모리사용률을모니터링하기위해명령어를실행하다보면시스템을기동한지얼마되지않아 free 영역의지표가급격히줄어드는것을쉽게확인할수있다. 리눅스어드민경험이있는사람이라면이것이무엇을의미하는지알수있지만그렇 리눅스 free 메모리의이해 엑셈컨설팅본부 /DB 컨설팅팀임경석 개요 리눅스환경에서메모리사용률을모니터링하기위해명령어를실행하다보면시스템을기동한지얼마되지않아 free 영역의지표가급격히줄어드는것을쉽게확인할수있다. 리눅스어드민경험이있는사람이라면이것이무엇을의미하는지알수있지만그렇지않을경우흔히들메모리사용률이높다고판단할수있다. 따라서, 결과로보여주는지표들이의미하는바를정확히이해하지못할경우잘못된판단을할수있다.

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

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

문서 템플릿

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

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

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

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

Chapter 1

Chapter 1 3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g

More information

데이터베이스-4부0816

데이터베이스-4부0816 04 269 270 2012 Database White Paper 271 272 2012 Database White Paper 273 274 2012 Database White Paper 275 276 2012 Database White Paper 277 278 2012 Database White Paper 279 280 2012 Database White

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

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

결과보고서

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

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

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

90

90 89 3 차원공간질의를위한효율적인위상학적데이터모델의검증 Validation of Efficient Topological Data Model for 3D Spatial Queries Seokho Lee Jiyeong Lee 요약 키워드 Abstract Keywords 90 91 92 93 94 95 96 -- 3D Brep adjacency_ordering DECLARE

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

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

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

윈백및업그레이드 Tibero Flashback 가이드

윈백및업그레이드 Tibero Flashback 가이드 Tibero Flashback 가이드 2014. 05. 09. 목차 1. FLASHBACK 소개... 3 1.1. Flashback 개요... 3 1.2. Flashback 기능... 3 2. FLASHBACK 기능... 3 2.1. FLASHBACK QUERY... 3 2.1.1. FLASHBACK QUERY 개요... 3 2.1.2. FLASHBACK QUERY

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

最即時的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

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

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

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

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

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

(Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory :

(Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory : #2 (RAD STUDIO) In www.devgear.co.kr 2016.05.18 (Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory : hskim@embarcadero.kr 3! 1 - RAD, 2-3 - 4

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

슬라이드 제목 없음

슬라이드 제목 없음 MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,

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

MySQL-Ch10

MySQL-Ch10 10 Chapter.,,.,, MySQL. MySQL mysqld MySQL.,. MySQL. MySQL....,.,..,,.,. UNIX, MySQL. mysqladm mysqlgrp. MySQL 608 MySQL(2/e) Chapter 10 MySQL. 10.1 (,, ). UNIX MySQL, /usr/local/mysql/var, /usr/local/mysql/data,

More information

원장 차세대 필요성 검토

원장 차세대 필요성 검토 1. Application Architecture Layered Application 개념 Layered Application 개념도 구분 Presentation Layer Business Layer Data Layer Data Sources 내용설명 Business Layer 와 User 간 Interface 제공 Business Logic 구현 Data

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

OCP PL/SQL

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

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

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

untitled

untitled Oracle DBMS 로그인의접근제어우회 취약점분석 2006. 2. 9 인터넷침해사고대응지원센터 (KISC) 본보고서의전부나일부를인용시반드시 [ 자료 : 한국정보보호진흥원 (KISA)] 룰명시하여주시기바랍니다. 개요 o 2005년이후 Oracle Critical Patch Update(CPU) 는 Oracle사제품대상으로다수의보안패치및보안패치와관련된일반패치를발표하는주요수단임

More information

FlashBackt.ppt

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

More information

Smart Power Scope Release Informations.pages

Smart Power Scope Release Informations.pages v2.3.7 (2017.09.07) 1. Galaxy S8 2. SS100, SS200 v2.7.6 (2017.09.07) 1. SS100, SS200 v1.0.7 (2017.09.07) [SHM-SS200 Firmware] 1. UART Command v1.3.9 (2017.09.07) [SHM-SS100 Firmware] 1. UART Command SH모바일

More information

Microsoft PowerPoint - 10Àå.ppt

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

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

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

<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

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

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

Microsoft Word - Oracle Wait 분석 테크닉.doc

Microsoft Word - Oracle Wait 분석 테크닉.doc Reviewed by Oracle Certified Master Korea Community ( http://www.ocmkorea.com http://cafe.daum.net/oraclemanager ) Oracle Wait 분석테크닉 (by Donald K. Burleson) 오라클은현재진행중인오라클트랜잭션의 wait상태에대한정보를자세히제공하는 v$session_wait와

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

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

Microsoft Word - PLSQL.doc

Microsoft Word - PLSQL.doc PL/SQL 2008 DB system and programming 보충자료 PL/SQL의실행절 BEGIN 절에서의몇가지규칙 - 실행문은여러라인에걸쳐사용할수있다. - 변수명의명명규칙은오라클의일반적인명명규칙과동일하다. PL/SQL 블록내에서 SQL 문을사용할때에는컬럼명과같은변수명은피해야한다. - SQL에서와마찬가지로날짜와문자는홑따옴표 ( ) 를사용하여인용하여야한다.

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

오라클 데이터베이스 10g 핵심 요약 노트

오라클 데이터베이스 10g 핵심 요약 노트 1 10g 10g SYSAUX 10g 22 Oracle Database 10g, 10g. 10g. (Grid), 10g.. 10g SYSAUX (ASM, Automatic Storage Management) 10g 10g. g. (DBA).,., 1).,..? 10g,.. (Larry Ellison).. (Leverage Components), (ASM) (

More information

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오. 메 뉴 다음 사항을 꼭 확인하세요! --------------------------------- 2p 안전을 위한 주의 사항 --------------------------------- 3p 구성품 --------------------------------- 4p 각 부분의 명칭 --------------------------------- 5p 제품의 규격

More information

Microsoft PowerPoint Python-DB

Microsoft PowerPoint Python-DB 순천향대학교컴퓨터공학과이상정 순천향대학교컴퓨터공학과 1 학습내용 데이터베이스 SQLite 데이터베이스 파이썬과데이터베이스연결 순천향대학교컴퓨터공학과 2 데이터베이스 (Database) 소개 데이터베이스 DBMS (DataBase Management System) 이라고도함 대용량의데이터를매우효율적으로처리하고저장하는기술 SQLite, 오라클, MySQL 등이있음

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

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

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

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

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

歯PLSQL10.PDF

歯PLSQL10.PDF 10 - SQL*Pl u s Pl / SQL - SQL*P lus 10-1 1 0.1 PL/ SQL SQL*Pl u s. SQL*P lus 10-2 1 0.2 S QL* Pl u s PL/ S QL SQL*Pl u s, Pl / SQL. - PL/ SQL (i npu t ), (s t or e ), (r un). - PL/ SQL s cr i pt,,. -

More information

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

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

More information

Tina Admin

Tina Admin 유니원아이앤씨 DB 기술지원팀 2015 년 09 월 09 일 문서정보 프로젝트명 TTS (Transportable Tablespace) 서브시스템명 버전 1.0 문서명 TTS (Transportable Tablespace) 작성일 2015-08-16 작성자 김성한 최종수정일 2015-09-09 문서번호 UNIONE-201509091051-KSH 재개정이력 일자내용수정인버전

More information

Chap06(Interprocess Communication).PDF

Chap06(Interprocess Communication).PDF Interprocess Communication 2002 2 Hyun-Ju Park Introduction (interprocess communication; IPC) IPC data transfer sharing data event notification resource sharing process control Interprocess Communication

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

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

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

Microsoft Word - 05_SUBPROGRAM.doc

Microsoft Word - 05_SUBPROGRAM.doc ORACLE SUBPROGRAM INTRODUCTION PLSQL 은오라클에서제공하는프로그래밍언어이다. 이는데이터베이스언어인 SQL 과함께효과적으로데이터베이스에접근할수있는방법을제공하고있다. Procedural LanguageSQL 의약자에서볼수있듯이절차적인기능을기본적으로가지는프로그래밍언어이다. PLSQL 은기본적으로블록 (BLOCK) 구조를가지고있다. 블록의기본적인구성은선언부

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

Tina Admin

Tina Admin Oracle 데이터암호화 Crypto_Package 유니원아이앤씨 DB 사업부이대혁 2014 년 12 월 19 일 문서정보 프로젝트명 ORACLE 암호화 서브시스템명 버전 1.0 문서명 ORACLE 암호화 작성일 2014-12-19 작성자 DB사업부이대혁사원 최종수정일 2014-12-19 문서번호 UNIONE-201402060432-LDH. 재개정이력 일자내용수정인버전

More information