{"id":1114,"date":"2017-08-03T22:42:56","date_gmt":"2017-08-04T01:42:56","guid":{"rendered":"http:\/\/dbtimewizard.com.br\/blog\/?p=1114"},"modified":"2019-11-11T18:50:37","modified_gmt":"2019-11-11T21:50:37","slug":"sqlldr-x-ctas-qual-recurso-tem-melhor-desempenho","status":"publish","type":"post","link":"http:\/\/dbtimewizard.com.br\/blog\/sqlldr-x-ctas-qual-recurso-tem-melhor-desempenho\/","title":{"rendered":"SQLLDR x CTAS: Qual recurso tem melhor desempenho?"},"content":{"rendered":"<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Um processo muito utilizado nos bancos de dados \u00e9 a carga de dados em tabelas, esse processo pode ser feito de varias formas e utilizando in\u00fameras ferramentas, neste artigo vamos testar o desempenho de duas dessas ferramentas e verificar qual delas \u00e9 mais eficiente (SQLLDR ou CTAS), esses recursos suportam paralelismo mas em nosso teste n\u00e3o vamos utilizar a op\u00e7\u00e3o de paralelismo.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Os dois m\u00e9todos v\u00e3o utilizar uma massa de dados em formato texto que vai estar dispon\u00edvel em um filesystem no servidor do banco Oracle, essa massa de dados tem 2.000.000 linhas e ocupa um espa\u00e7o de 417M.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Vamos realizar a simula\u00e7\u00e3o de carga desse arquivo com o utilit\u00e1rio SQL*LOADER (SQLLDR) e com a DDL &#8220;CREATE TABLE AS SELECT&#8221; que vai ler os dados de origem de uma tabela &#8220;EXTERNAL TABLE&#8221;.<\/span><\/p>\n<h2 style=\"text-align: justify;\"><span style=\"font-size: 14pt;\">Demonstra\u00e7\u00e3o pr\u00e1tica<\/span><\/h2>\n<p><span style=\"font-size: 12pt;\">1) Gerar a massa de dados em formato TXT no servidor de banco<\/span><br \/>\n<span style=\"font-size: 12pt;\">2) Fazer a carga no banco utilizando SQL*LOADER <\/span><br \/>\n<span style=\"font-size: 12pt;\">3) Fazer a carga no banco utilizando CTAS com EXTERNAL TABLE<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\">1) Gerar a massa de dados em formato TXT<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Para gerar a massa de dados vamos criar uma tabela normal no banco de dados com 2.000.000 linhas, criar um diret\u00f3rio apontando para um filesystem do servidor de banco e executar uma bloco PLSQL para copiar as linhas da tabela para um arquivo TXT no diret\u00f3rio criado.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:800px;height:520px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/>22<br \/>23<br \/>24<br \/>25<br \/>26<br \/>27<br \/>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/>35<br \/>36<br \/>37<br \/>38<br \/>39<br \/>40<br \/>41<br \/>42<br \/>43<br \/>44<br \/>45<br \/>46<br \/>47<br \/>48<br \/>49<br \/>50<br \/>51<br \/>52<br \/>53<br \/>54<br \/>55<br \/>56<br \/>57<br \/>58<br \/>59<br \/>60<br \/>61<br \/>62<br \/>63<br \/>64<br \/>65<br \/>66<br \/>67<br \/>68<br \/>69<br \/>70<br \/>71<br \/>72<br \/>73<br \/>74<br \/>75<br \/>76<br \/>77<br \/>78<br \/>79<br \/>80<br \/>81<br \/>82<br \/>83<br \/>84<br \/>85<br \/>86<br \/>87<br \/>88<br \/>89<br \/>90<br \/>91<br \/>92<br \/>93<br \/>94<br \/>95<br \/>96<br \/>97<br \/>98<br \/>99<br \/>100<br \/>101<br \/>102<br \/>103<br \/>104<br \/><\/div><\/td><td><div class=\"php codecolorer\">SQL<span class=\"sy0\">&gt;<\/span> SELECT <span class=\"sy0\">*<\/span> FROM V<span class=\"re0\">$VERSION<\/span> where rownum <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">2<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nBANNER<br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/span><br \/>\nOracle Database 11g Enterprise Edition Release 11<span class=\"sy0\">.<\/span>2<span class=\"sy0\">.<\/span>0<span class=\"sy0\">.<\/span>4<span class=\"sy0\">.<\/span>0 <span class=\"sy0\">-<\/span> Production<br \/>\n<br \/>\nSQL<span class=\"sy0\">&gt;<\/span><br \/>\nSQL<span class=\"sy0\">&gt;<\/span> alter session set workarea_size_policy<span class=\"sy0\">=<\/span>MANUAL<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSess\u00e3o alterada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL<span class=\"sy0\">&gt;<\/span><br \/>\nSQL<span class=\"sy0\">&gt;<\/span> alter session set sort_area_size<span class=\"sy0\">=<\/span><span class=\"nu0\">2000000000<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSess\u00e3o alterada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL<span class=\"sy0\">&gt;<\/span> create table tab_dbtw01<br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp;<span class=\"kw1\">as<\/span><br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp;select rownum &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;id<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; &nbsp; &nbsp; mod<span class=\"br0\">&#40;<\/span>rownum<span class=\"sy0\">,<\/span><span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; codvar<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; &nbsp; &nbsp; trunc<span class=\"br0\">&#40;<\/span>dbms_random<span class=\"sy0\">.<\/span>value<span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span><span class=\"nu0\">100000<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> &nbsp;categoria<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span> &nbsp; &nbsp; &nbsp; &nbsp; lpad<span class=\"br0\">&#40;<\/span>rownum<span class=\"sy0\">,<\/span><span class=\"nu0\">10<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'0'<\/span><span class=\"br0\">&#41;<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;criterio<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">7<\/span> &nbsp; &nbsp; &nbsp; &nbsp; rpad<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'x'<\/span><span class=\"sy0\">,<\/span><span class=\"nu0\">60<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'x'<\/span><span class=\"br0\">&#41;<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; texto1<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">8<\/span> &nbsp; &nbsp; &nbsp; &nbsp; rpad<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'y'<\/span><span class=\"sy0\">,<\/span><span class=\"nu0\">60<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'y'<\/span><span class=\"br0\">&#41;<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; texto2<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">9<\/span> &nbsp; &nbsp; &nbsp; &nbsp; rpad<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'z'<\/span><span class=\"sy0\">,<\/span><span class=\"nu0\">60<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'z'<\/span><span class=\"br0\">&#41;<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; texto3<br \/>\n&nbsp;<span class=\"nu0\">10<\/span> &nbsp; &nbsp;from dual connect by level<span class=\"sy0\">&lt;=<\/span><span class=\"nu19\">2e6<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nTabela criada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL<span class=\"sy0\">&gt;<\/span> <br \/>\nSQL<span class=\"sy0\">&gt;<\/span> conn sys<span class=\"sy0\">\/<\/span>oracle<span class=\"sy0\">@<\/span>lab11 <span class=\"kw1\">as<\/span> sysdba<br \/>\nConectado<span class=\"sy0\">.<\/span><br \/>\nSQL<span class=\"sy0\">&gt;<\/span><br \/>\nSQL<span class=\"sy0\">&gt;<\/span> create directory DBTW <span class=\"kw1\">as<\/span> <span class=\"st_h\">'\/oracle\/load'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nDiret\u00f3rio criado<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL<span class=\"sy0\">&gt;<\/span><br \/>\nSQL<span class=\"sy0\">&gt;<\/span> grant read<span class=\"sy0\">,<\/span>write on directory DBTW to CURSO01<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nConcess\u00e3o bem<span class=\"sy0\">-<\/span>sucedida<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL<span class=\"sy0\">&gt;<\/span><br \/>\nSQL<span class=\"sy0\">&gt;<\/span> <span class=\"kw2\">DECLARE<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;v_finaltxt &nbsp;VARCHAR2<span class=\"br0\">&#40;<\/span><span class=\"nu0\">4000<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp;v_v_val &nbsp; &nbsp; VARCHAR2<span class=\"br0\">&#40;<\/span><span class=\"nu0\">4000<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp;v_n_val &nbsp; &nbsp; NUMBER<span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp;v_d_val &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/date\"><span class=\"kw3\">DATE<\/span><\/a><span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span> &nbsp; &nbsp;v_ret &nbsp; &nbsp; &nbsp; NUMBER<span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">7<\/span> &nbsp; &nbsp;c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NUMBER<span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">8<\/span> &nbsp; &nbsp;d &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NUMBER<span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">9<\/span> &nbsp; &nbsp;col_cnt &nbsp; &nbsp; INTEGER<span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">10<\/span> &nbsp; &nbsp;rec_tab &nbsp; &nbsp; DBMS_SQL<span class=\"sy0\">.<\/span>DESC_TAB<span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">11<\/span> &nbsp; &nbsp;col_num &nbsp; &nbsp; NUMBER<span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">12<\/span> &nbsp; &nbsp;v_fh &nbsp; &nbsp; &nbsp; &nbsp;UTL_FILE<span class=\"sy0\">.<\/span>FILE_TYPE<span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">13<\/span> &nbsp; &nbsp;p_data_file VARCHAR2<span class=\"br0\">&#40;<\/span><span class=\"nu0\">20<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">:=<\/span> <span class=\"st_h\">'et_dbtw01.txt'<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">14<\/span> &nbsp; &nbsp;p_dir &nbsp; &nbsp; &nbsp; VARCHAR2<span class=\"br0\">&#40;<\/span><span class=\"nu0\">20<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">:=<\/span> <span class=\"st_h\">'DBTW'<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">15<\/span> &nbsp; &nbsp;p_sql &nbsp; &nbsp; &nbsp; VARCHAR2<span class=\"br0\">&#40;<\/span><span class=\"nu0\">4000<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">:=<\/span> <span class=\"st_h\">'SELECT * FROM TAB_DBTW01'<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">16<\/span> &nbsp;BEGIN<br \/>\n&nbsp;<span class=\"nu0\">17<\/span> &nbsp; &nbsp;c <span class=\"sy0\">:=<\/span> DBMS_SQL<span class=\"sy0\">.<\/span>OPEN_CURSOR<span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">18<\/span> &nbsp; &nbsp;DBMS_SQL<span class=\"sy0\">.<\/span>PARSE<span class=\"br0\">&#40;<\/span>c<span class=\"sy0\">,<\/span> p_sql<span class=\"sy0\">,<\/span> DBMS_SQL<span class=\"sy0\">.<\/span>NATIVE<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">19<\/span> &nbsp; &nbsp;d <span class=\"sy0\">:=<\/span> DBMS_SQL<span class=\"sy0\">.<\/span>EXECUTE<span class=\"br0\">&#40;<\/span>c<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">20<\/span> &nbsp; &nbsp;DBMS_SQL<span class=\"sy0\">.<\/span>DESCRIBE_COLUMNS<span class=\"br0\">&#40;<\/span>c<span class=\"sy0\">,<\/span> col_cnt<span class=\"sy0\">,<\/span> rec_tab<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">21<\/span> &nbsp; &nbsp;<span class=\"kw1\">FOR<\/span> j in <span class=\"nu0\">1<\/span><span class=\"sy0\">..<\/span>col_cnt<br \/>\n&nbsp;<span class=\"nu0\">22<\/span> &nbsp; &nbsp;LOOP<br \/>\n&nbsp;<span class=\"nu0\">23<\/span> &nbsp; &nbsp; &nbsp;<span class=\"kw1\">CASE<\/span> rec_tab<span class=\"br0\">&#40;<\/span>j<span class=\"br0\">&#41;<\/span><span class=\"sy0\">.<\/span>col_type<br \/>\n&nbsp;<span class=\"nu0\">24<\/span> &nbsp; &nbsp; &nbsp; &nbsp;WHEN <span class=\"nu0\">1<\/span> THEN DBMS_SQL<span class=\"sy0\">.<\/span>DEFINE_COLUMN<span class=\"br0\">&#40;<\/span>c<span class=\"sy0\">,<\/span>j<span class=\"sy0\">,<\/span>v_v_val<span class=\"sy0\">,<\/span><span class=\"nu0\">2000<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">25<\/span> &nbsp; &nbsp; &nbsp; &nbsp;WHEN <span class=\"nu0\">2<\/span> THEN DBMS_SQL<span class=\"sy0\">.<\/span>DEFINE_COLUMN<span class=\"br0\">&#40;<\/span>c<span class=\"sy0\">,<\/span>j<span class=\"sy0\">,<\/span>v_n_val<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">26<\/span> &nbsp; &nbsp; &nbsp; &nbsp;WHEN <span class=\"nu0\">12<\/span> THEN DBMS_SQL<span class=\"sy0\">.<\/span>DEFINE_COLUMN<span class=\"br0\">&#40;<\/span>c<span class=\"sy0\">,<\/span>j<span class=\"sy0\">,<\/span>v_d_val<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">27<\/span> &nbsp; &nbsp; &nbsp;<span class=\"kw1\">ELSE<\/span><br \/>\n&nbsp;<span class=\"nu0\">28<\/span> &nbsp; &nbsp; &nbsp; &nbsp;DBMS_SQL<span class=\"sy0\">.<\/span>DEFINE_COLUMN<span class=\"br0\">&#40;<\/span>c<span class=\"sy0\">,<\/span>j<span class=\"sy0\">,<\/span>v_v_val<span class=\"sy0\">,<\/span><span class=\"nu0\">2000<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">29<\/span> &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/end\"><span class=\"kw3\">END<\/span><\/a> <span class=\"kw1\">CASE<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">30<\/span> &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/end\"><span class=\"kw3\">END<\/span><\/a> LOOP<span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">31<\/span> &nbsp; &nbsp;<span class=\"sy0\">--<\/span><br \/>\n&nbsp;<span class=\"nu0\">32<\/span> &nbsp; &nbsp;<span class=\"sy0\">--<\/span> This part outputs the DATA<br \/>\n&nbsp;<span class=\"nu0\">33<\/span> &nbsp; &nbsp;<span class=\"sy0\">--<\/span><br \/>\n&nbsp;<span class=\"nu0\">34<\/span> &nbsp; &nbsp;v_fh <span class=\"sy0\">:=<\/span> UTL_FILE<span class=\"sy0\">.<\/span><a href=\"http:\/\/www.php.net\/fopen\"><span class=\"kw3\">FOPEN<\/span><\/a><span class=\"br0\">&#40;<\/span>upper<span class=\"br0\">&#40;<\/span>p_dir<span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span>p_data_file<span class=\"sy0\">,<\/span><span class=\"st_h\">'w'<\/span><span class=\"sy0\">,<\/span><span class=\"nu0\">32767<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">35<\/span> &nbsp; &nbsp;LOOP<br \/>\n&nbsp;<span class=\"nu0\">36<\/span> &nbsp; &nbsp; &nbsp;v_ret <span class=\"sy0\">:=<\/span> DBMS_SQL<span class=\"sy0\">.<\/span>FETCH_ROWS<span class=\"br0\">&#40;<\/span>c<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">37<\/span> &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/exit\"><span class=\"kw3\">EXIT<\/span><\/a> WHEN v_ret <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">38<\/span> &nbsp; &nbsp; &nbsp;v_finaltxt <span class=\"sy0\">:=<\/span> <span class=\"kw4\">NULL<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">39<\/span> &nbsp; &nbsp; &nbsp;<span class=\"kw1\">FOR<\/span> j in <span class=\"nu0\">1<\/span><span class=\"sy0\">..<\/span>col_cnt<br \/>\n&nbsp;<span class=\"nu0\">40<\/span> &nbsp; &nbsp; &nbsp;LOOP<br \/>\n&nbsp;<span class=\"nu0\">41<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"kw1\">CASE<\/span> rec_tab<span class=\"br0\">&#40;<\/span>j<span class=\"br0\">&#41;<\/span><span class=\"sy0\">.<\/span>col_type<br \/>\n&nbsp;<span class=\"nu0\">42<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;WHEN <span class=\"nu0\">1<\/span> THEN DBMS_SQL<span class=\"sy0\">.<\/span>COLUMN_VALUE<span class=\"br0\">&#40;<\/span>c<span class=\"sy0\">,<\/span>j<span class=\"sy0\">,<\/span>v_v_val<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">43<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;v_finaltxt <span class=\"sy0\">:=<\/span> <a href=\"http:\/\/www.php.net\/ltrim\"><span class=\"kw3\">ltrim<\/span><\/a><span class=\"br0\">&#40;<\/span>v_finaltxt<span class=\"sy0\">||<\/span><span class=\"st_h\">',&quot;'<\/span><span class=\"sy0\">||<\/span>v_v_val<span class=\"sy0\">||<\/span><span class=\"st_h\">'&quot;'<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">','<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">44<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;WHEN <span class=\"nu0\">2<\/span> THEN DBMS_SQL<span class=\"sy0\">.<\/span>COLUMN_VALUE<span class=\"br0\">&#40;<\/span>c<span class=\"sy0\">,<\/span>j<span class=\"sy0\">,<\/span>v_n_val<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">45<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;v_finaltxt <span class=\"sy0\">:=<\/span> <a href=\"http:\/\/www.php.net\/ltrim\"><span class=\"kw3\">ltrim<\/span><\/a><span class=\"br0\">&#40;<\/span>v_finaltxt<span class=\"sy0\">||<\/span><span class=\"st_h\">','<\/span><span class=\"sy0\">||<\/span>v_n_val<span class=\"sy0\">,<\/span><span class=\"st_h\">','<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">46<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;WHEN <span class=\"nu0\">12<\/span> THEN DBMS_SQL<span class=\"sy0\">.<\/span>COLUMN_VALUE<span class=\"br0\">&#40;<\/span>c<span class=\"sy0\">,<\/span>j<span class=\"sy0\">,<\/span>v_d_val<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">47<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;v_finaltxt <span class=\"sy0\">:=<\/span> <a href=\"http:\/\/www.php.net\/ltrim\"><span class=\"kw3\">ltrim<\/span><\/a><span class=\"br0\">&#40;<\/span>v_finaltxt<span class=\"sy0\">||<\/span><span class=\"st_h\">','<\/span><span class=\"sy0\">||<\/span>to_char<span class=\"br0\">&#40;<\/span>v_d_val<span class=\"sy0\">,<\/span><span class=\"st_h\">'DD\/MM\/YYYY HH24:MI:SS'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">','<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">48<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"kw1\">ELSE<\/span><br \/>\n&nbsp;<span class=\"nu0\">49<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;v_finaltxt <span class=\"sy0\">:=<\/span> <a href=\"http:\/\/www.php.net\/ltrim\"><span class=\"kw3\">ltrim<\/span><\/a><span class=\"br0\">&#40;<\/span>v_finaltxt<span class=\"sy0\">||<\/span><span class=\"st_h\">',&quot;'<\/span><span class=\"sy0\">||<\/span>v_v_val<span class=\"sy0\">||<\/span><span class=\"st_h\">'&quot;'<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">','<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">50<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/end\"><span class=\"kw3\">END<\/span><\/a> <span class=\"kw1\">CASE<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">51<\/span> &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/end\"><span class=\"kw3\">END<\/span><\/a> LOOP<span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">52<\/span> &nbsp; &nbsp; &nbsp;UTL_FILE<span class=\"sy0\">.<\/span>PUT_LINE<span class=\"br0\">&#40;<\/span>v_fh<span class=\"sy0\">,<\/span> v_finaltxt<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">53<\/span> &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/end\"><span class=\"kw3\">END<\/span><\/a> LOOP<span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">54<\/span> &nbsp; &nbsp;UTL_FILE<span class=\"sy0\">.<\/span><a href=\"http:\/\/www.php.net\/fclose\"><span class=\"kw3\">FCLOSE<\/span><\/a><span class=\"br0\">&#40;<\/span>v_fh<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">55<\/span> &nbsp; &nbsp;DBMS_SQL<span class=\"sy0\">.<\/span>CLOSE_CURSOR<span class=\"br0\">&#40;<\/span>c<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">56<\/span> &nbsp;<a href=\"http:\/\/www.php.net\/end\"><span class=\"kw3\">END<\/span><\/a><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<span class=\"nu0\">57<\/span> &nbsp;<span class=\"sy0\">\/<\/span><br \/>\n<br \/>\nProcedimento PL<span class=\"sy0\">\/<\/span>SQL conclu\u00ed<span class=\"kw1\">do<\/span> com sucesso<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL<span class=\"sy0\">&gt;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>&nbsp;<\/p>\n<h2 style=\"text-align: justify;\"><span style=\"font-size: 14pt;\"><strong>2) Fazer a carga no banco utilizando SQL*LOADER<\/strong><\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Para realizar a carga atrav\u00e9s do utilit\u00e1rio SQL*LOADER, vamos criar uma tabela no banco onde ser\u00e3o carregados os dados que foram armazenados no arquivo TXT gerado na primeira etapa, para executar o comando sqlldr criamos um arquivo de controle chamado &#8220;carga_dbtw02.ctl&#8221;.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:800px;height:520px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/>22<br \/>23<br \/>24<br \/>25<br \/>26<br \/>27<br \/>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/>35<br \/>36<br \/>37<br \/>38<br \/>39<br \/>40<br \/>41<br \/>42<br \/>43<br \/>44<br \/>45<br \/>46<br \/>47<br \/>48<br \/>49<br \/>50<br \/>51<br \/>52<br \/>53<br \/>54<br \/>55<br \/>56<br \/>57<br \/>58<br \/>59<br \/>60<br \/>61<br \/>62<br \/>63<br \/>64<br \/>65<br \/>66<br \/>67<br \/>68<br \/>69<br \/>70<br \/>71<br \/>72<br \/>73<br \/>74<br \/>75<br \/>76<br \/>77<br \/>78<br \/>79<br \/>80<br \/>81<br \/>82<br \/>83<br \/>84<br \/>85<br \/>86<br \/>87<br \/>88<br \/>89<br \/>90<br \/>91<br \/>92<br \/>93<br \/>94<br \/>95<br \/>96<br \/>97<br \/>98<br \/><\/div><\/td><td><div class=\"php codecolorer\">SQL<span class=\"sy0\">&gt;<\/span> CREATE TABLE <span class=\"st0\">&quot;CURSO01&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CARGA_DBTW02&quot;<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"br0\">&#40;<\/span> &nbsp; &nbsp;<span class=\"st0\">&quot;ID&quot;<\/span> NUMBER<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"st0\">&quot;CODVAR&quot;<\/span> NUMBER<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"st0\">&quot;CATEGORIA&quot;<\/span> NUMBER<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"st0\">&quot;CRITERIO&quot;<\/span> VARCHAR2<span class=\"br0\">&#40;<\/span><span class=\"nu0\">10<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"st0\">&quot;TEXTO1&quot;<\/span> VARCHAR2<span class=\"br0\">&#40;<\/span><span class=\"nu0\">60<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">7<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"st0\">&quot;TEXTO2&quot;<\/span> VARCHAR2<span class=\"br0\">&#40;<\/span><span class=\"nu0\">60<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">8<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"st0\">&quot;TEXTO3&quot;<\/span> VARCHAR2<span class=\"br0\">&#40;<\/span><span class=\"nu0\">60<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; <span class=\"nu0\">9<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp;<span class=\"nu0\">10<\/span> &nbsp; &nbsp; &nbsp; TABLESPACE <span class=\"st0\">&quot;USERS&quot;<\/span> <span class=\"sy0\">;<\/span><br \/>\n<br \/>\nTabela criada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL<span class=\"sy0\">&gt;<\/span><br \/>\n<br \/>\n<span class=\"br0\">&#91;<\/span>oracle<span class=\"sy0\">@<\/span>odbsrv11 ~<span class=\"br0\">&#93;<\/span>$ cd <span class=\"sy0\">\/<\/span>oracle<span class=\"sy0\">\/<\/span>load<br \/>\n<span class=\"br0\">&#91;<\/span>oracle<span class=\"sy0\">@<\/span>odbsrv11 load<span class=\"br0\">&#93;<\/span>$ ll<br \/>\ntotal <span class=\"nu0\">426668<\/span><br \/>\n<span class=\"sy0\">-<\/span>rw<span class=\"sy0\">-<\/span>r<span class=\"sy0\">--<\/span>r<span class=\"sy0\">--<\/span> <span class=\"nu0\">1<\/span> oracle oinstall &nbsp; &nbsp; &nbsp; <span class=\"nu0\">330<\/span> Jul <span class=\"nu0\">24<\/span> <span class=\"nu0\">18<\/span><span class=\"sy0\">:<\/span><span class=\"nu0\">42<\/span> carga_dbtw02<span class=\"sy0\">.<\/span>ctl<br \/>\n<span class=\"sy0\">-<\/span>rw<span class=\"sy0\">-<\/span>r<span class=\"sy0\">--<\/span>r<span class=\"sy0\">--<\/span> <span class=\"nu0\">1<\/span> oracle oinstall <span class=\"nu0\">436466791<\/span> Jul <span class=\"nu0\">24<\/span> <span class=\"nu0\">18<\/span><span class=\"sy0\">:<\/span><span class=\"nu0\">33<\/span> et_dbtw01<span class=\"sy0\">.<\/span>txt<br \/>\n<span class=\"br0\">&#91;<\/span>oracle<span class=\"sy0\">@<\/span>odbsrv11 load<span class=\"br0\">&#93;<\/span>$ cat carga_dbtw02<span class=\"sy0\">.<\/span>ctl<br \/>\noptions <span class=\"br0\">&#40;<\/span>errors<span class=\"sy0\">=<\/span><span class=\"nu0\">50<\/span><span class=\"br0\">&#41;<\/span><br \/>\nload data<br \/>\n&nbsp;characterset WE8ISO8859P1<br \/>\n&nbsp;infile <span class=\"st_h\">'\/oracle\/load\/et_dbtw01.txt'<\/span><br \/>\n&nbsp;badfile <span class=\"st_h\">'\/oracle\/load\/carga_dbtw02.bad'<\/span><br \/>\n&nbsp;discardfile <span class=\"st_h\">'\/oracle\/load\/carga_dbtw02.dsc'<\/span><br \/>\n&nbsp;into table carga_dbtw02<br \/>\n&nbsp;fields terminated by <span class=\"st0\">&quot;,&quot;<\/span><br \/>\n&nbsp;optionally enclosed by <span class=\"st_h\">'&quot;'<\/span><br \/>\n&nbsp;<span class=\"br0\">&#40;<\/span> id<span class=\"sy0\">,<\/span> codvar<span class=\"sy0\">,<\/span> categoria<span class=\"sy0\">,<\/span> criterio<span class=\"sy0\">,<\/span> texto1<span class=\"sy0\">,<\/span> texto2<span class=\"sy0\">,<\/span> texto3 <span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"br0\">&#91;<\/span>oracle<span class=\"sy0\">@<\/span>odbsrv11 load<span class=\"br0\">&#93;<\/span>$<br \/>\n<span class=\"br0\">&#91;<\/span>oracle<span class=\"sy0\">@<\/span>odbsrv11 load<span class=\"br0\">&#93;<\/span>$ sqlldr CURSO01<span class=\"sy0\">\/<\/span>oracle &nbsp;control<span class=\"sy0\">=<\/span>carga_dbtw02<span class=\"sy0\">.<\/span>ctl direct<span class=\"sy0\">=<\/span><span class=\"kw4\">true<\/span><br \/>\n<br \/>\nSQL<span class=\"sy0\">*<\/span>Loader<span class=\"sy0\">:<\/span> Release 11<span class=\"sy0\">.<\/span>2<span class=\"sy0\">.<\/span>0<span class=\"sy0\">.<\/span>4<span class=\"sy0\">.<\/span>0 <span class=\"sy0\">-<\/span> Production on Mon Jul <span class=\"nu0\">24<\/span> <span class=\"nu0\">18<\/span><span class=\"sy0\">:<\/span><span class=\"nu0\">49<\/span><span class=\"sy0\">:<\/span><span class=\"nu0\">40<\/span> <span class=\"nu0\">2017<\/span><br \/>\n<br \/>\nCopyright <span class=\"br0\">&#40;<\/span>c<span class=\"br0\">&#41;<\/span> <span class=\"nu0\">1982<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">2011<\/span><span class=\"sy0\">,<\/span> Oracle and<span class=\"sy0\">\/<\/span>or its affiliates<span class=\"sy0\">.<\/span> &nbsp;All rights reserved<span class=\"sy0\">.<\/span><br \/>\n<br \/>\n<br \/>\nLoad completed <span class=\"sy0\">-<\/span> logical record <a href=\"http:\/\/www.php.net\/count\"><span class=\"kw3\">count<\/span><\/a> <span class=\"nu0\">2000000<\/span><span class=\"sy0\">.<\/span><br \/>\n<span class=\"br0\">&#91;<\/span>oracle<span class=\"sy0\">@<\/span>odbsrv11 load<span class=\"br0\">&#93;<\/span>$<br \/>\n<span class=\"br0\">&#91;<\/span>oracle<span class=\"sy0\">@<\/span>odbsrv11 load<span class=\"br0\">&#93;<\/span>$ cat carga_dbtw02<span class=\"sy0\">.<\/span><a href=\"http:\/\/www.php.net\/log\"><span class=\"kw3\">log<\/span><\/a><br \/>\n<br \/>\nSQL<span class=\"sy0\">*<\/span>Loader<span class=\"sy0\">:<\/span> Release 11<span class=\"sy0\">.<\/span>2<span class=\"sy0\">.<\/span>0<span class=\"sy0\">.<\/span>4<span class=\"sy0\">.<\/span>0 <span class=\"sy0\">-<\/span> Production on Mon Jul <span class=\"nu0\">24<\/span> <span class=\"nu0\">18<\/span><span class=\"sy0\">:<\/span><span class=\"nu0\">49<\/span><span class=\"sy0\">:<\/span><span class=\"nu0\">40<\/span> <span class=\"nu0\">2017<\/span><br \/>\n<br \/>\nCopyright <span class=\"br0\">&#40;<\/span>c<span class=\"br0\">&#41;<\/span> <span class=\"nu0\">1982<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">2011<\/span><span class=\"sy0\">,<\/span> Oracle and<span class=\"sy0\">\/<\/span>or its affiliates<span class=\"sy0\">.<\/span> &nbsp;All rights reserved<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nControl <a href=\"http:\/\/www.php.net\/file\"><span class=\"kw3\">File<\/span><\/a><span class=\"sy0\">:<\/span> &nbsp; carga_dbtw02<span class=\"sy0\">.<\/span>ctl<br \/>\nCharacter Set WE8ISO8859P1 specified <span class=\"kw1\">for<\/span> all input<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nData <a href=\"http:\/\/www.php.net\/file\"><span class=\"kw3\">File<\/span><\/a><span class=\"sy0\">:<\/span> &nbsp; &nbsp; &nbsp;<span class=\"sy0\">\/<\/span>oracle<span class=\"sy0\">\/<\/span>load<span class=\"sy0\">\/<\/span>et_dbtw01<span class=\"sy0\">.<\/span>txt<br \/>\n&nbsp; Bad <a href=\"http:\/\/www.php.net\/file\"><span class=\"kw3\">File<\/span><\/a><span class=\"sy0\">:<\/span> &nbsp; &nbsp; <span class=\"sy0\">\/<\/span>oracle<span class=\"sy0\">\/<\/span>load<span class=\"sy0\">\/<\/span>carga_dbtw02<span class=\"sy0\">.<\/span>bad<br \/>\n&nbsp; Discard <a href=\"http:\/\/www.php.net\/file\"><span class=\"kw3\">File<\/span><\/a><span class=\"sy0\">:<\/span> <span class=\"sy0\">\/<\/span>oracle<span class=\"sy0\">\/<\/span>load<span class=\"sy0\">\/<\/span>carga_dbtw02<span class=\"sy0\">.<\/span>dsc<br \/>\n&nbsp;<span class=\"br0\">&#40;<\/span>Allow all discards<span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\nNumber to load<span class=\"sy0\">:<\/span> ALL<br \/>\nNumber to skip<span class=\"sy0\">:<\/span> <span class=\"nu0\">0<\/span><br \/>\nErrors allowed<span class=\"sy0\">:<\/span> <span class=\"nu0\">50<\/span><br \/>\nContinuation<span class=\"sy0\">:<\/span> &nbsp; &nbsp;none specified<br \/>\nPath used<span class=\"sy0\">:<\/span> &nbsp; &nbsp; &nbsp;Direct<br \/>\n<br \/>\nTable CARGA_DBTW02<span class=\"sy0\">,<\/span> loaded from every logical record<span class=\"sy0\">.<\/span><br \/>\nInsert option in effect <span class=\"kw1\">for<\/span> this table<span class=\"sy0\">:<\/span> INSERT<br \/>\n<br \/>\n&nbsp; &nbsp;Column Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Position &nbsp; Len &nbsp;Term Encl Datatype<br \/>\n<span class=\"sy0\">------------------------------<\/span> <span class=\"sy0\">----------<\/span> <span class=\"sy0\">-----<\/span> <span class=\"sy0\">----<\/span> <span class=\"sy0\">----<\/span> <span class=\"sy0\">---------------------<\/span><br \/>\nID &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIRST &nbsp; &nbsp; <span class=\"sy0\">*<\/span> &nbsp; <span class=\"sy0\">,<\/span> &nbsp;O<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;) CHARACTER<br \/>\nCODVAR &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NEXT &nbsp; &nbsp; * &nbsp; , &nbsp;O(&quot;<\/span><span class=\"br0\">&#41;<\/span> CHARACTER<br \/>\nCATEGORIA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/next\"><span class=\"kw3\">NEXT<\/span><\/a> &nbsp; &nbsp; <span class=\"sy0\">*<\/span> &nbsp; <span class=\"sy0\">,<\/span> &nbsp;O<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;) CHARACTER<br \/>\nCRITERIO &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NEXT &nbsp; &nbsp; * &nbsp; , &nbsp;O(&quot;<\/span><span class=\"br0\">&#41;<\/span> CHARACTER<br \/>\nTEXTO1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/next\"><span class=\"kw3\">NEXT<\/span><\/a> &nbsp; &nbsp; <span class=\"sy0\">*<\/span> &nbsp; <span class=\"sy0\">,<\/span> &nbsp;O<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;) CHARACTER<br \/>\nTEXTO2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NEXT &nbsp; &nbsp; * &nbsp; , &nbsp;O(&quot;<\/span><span class=\"br0\">&#41;<\/span> CHARACTER<br \/>\nTEXTO3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/next\"><span class=\"kw3\">NEXT<\/span><\/a> &nbsp; &nbsp; <span class=\"sy0\">*<\/span> &nbsp; <span class=\"sy0\">,<\/span> &nbsp;O<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;) CHARACTER<br \/>\n<br \/>\n<br \/>\nTable CARGA_DBTW02:<br \/>\n&nbsp; 2000000 Rows successfully loaded.<br \/>\n&nbsp; 0 Rows not loaded due to data errors.<br \/>\n&nbsp; 0 Rows not loaded because all WHEN clauses were failed.<br \/>\n&nbsp; 0 Rows not loaded because all fields were null.<br \/>\n<br \/>\nBind array size not used in direct path.<br \/>\nColumn array &nbsp;rows : &nbsp; &nbsp;5000<br \/>\nStream buffer bytes: &nbsp;256000<br \/>\nRead &nbsp; buffer bytes: 1048576<br \/>\n<br \/>\nTotal logical records skipped: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0<br \/>\nTotal logical records read: &nbsp; &nbsp; &nbsp; 2000000<br \/>\nTotal logical records rejected: &nbsp; &nbsp; &nbsp; &nbsp; 0<br \/>\nTotal logical records discarded: &nbsp; &nbsp; &nbsp; &nbsp;0<br \/>\nDirect path multithreading optimization is disabled<br \/>\n<br \/>\nRun began on Mon Jul 24 18:49:40 2017<br \/>\nRun ended on Mon Jul 24 18:50:30 2017<br \/>\n<br \/>\nElapsed time was: &nbsp; &nbsp; 00:00:50.22<br \/>\nCPU time was: &nbsp; &nbsp; &nbsp; &nbsp; 00:00:03.82<br \/>\n[oracle@odbsrv11 load]$<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Para evitar que as \u00e1reas de cache do sistema operacional interferissem no resultado final, realizamos a carga duas vezes e na log acima inclu\u00edmos somente o resultado da segunda execu\u00e7\u00e3o que foi mais r\u00e1pida que a primeira. Na log do SQL*LOADER podemos verificar que as 2.000.000 de linhas foram carregadas em 50.22 segundos (linha 96).<\/span><\/p>\n<h2 style=\"text-align: justify;\"><span style=\"font-size: 14pt;\"><strong>3) Fazer a carga no banco utilizando CTAS com EXTERNAL TABLE<\/strong><\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Para fazer a carga utilizando CTAS (Create Table As Select) vamos criar uma External Table apontando para o aquivo TXT gerado na primeira etapa e na sequ\u00eancia executar a cria\u00e7\u00e3o da tabela no banco lendo os registros da External Table.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:800px;height:520px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/>22<br \/>23<br \/>24<br \/>25<br \/>26<br \/>27<br \/>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/>35<br \/>36<br \/>37<br \/>38<br \/>39<br \/>40<br \/>41<br \/>42<br \/>43<br \/>44<br \/>45<br \/>46<br \/>47<br \/>48<br \/>49<br \/>50<br \/>51<br \/>52<br \/>53<br \/>54<br \/>55<br \/>56<br \/>57<br \/>58<br \/>59<br \/>60<br \/>61<br \/>62<br \/>63<br \/>64<br \/>65<br \/><\/div><\/td><td><div class=\"php codecolorer\">SQL<span class=\"sy0\">&gt;<\/span> CREATE TABLE et_dbtw01 <span class=\"br0\">&#40;<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;id &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NUMBER<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp;codvar &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NUMBER<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp;categoria &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NUMBER<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp;criterio &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;VARCHAR2<span class=\"br0\">&#40;<\/span><span class=\"nu0\">10<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span> &nbsp; &nbsp;texto1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VARCHAR2<span class=\"br0\">&#40;<\/span><span class=\"nu0\">60<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">7<\/span> &nbsp; &nbsp;texto2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VARCHAR2<span class=\"br0\">&#40;<\/span><span class=\"nu0\">60<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">8<\/span> &nbsp; &nbsp;texto3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VARCHAR2<span class=\"br0\">&#40;<\/span><span class=\"nu0\">60<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; <span class=\"nu0\">9<\/span> &nbsp;<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp;<span class=\"nu0\">10<\/span> &nbsp;ORGANIZATION EXTERNAL <span class=\"br0\">&#40;<\/span><br \/>\n&nbsp;<span class=\"nu0\">11<\/span> &nbsp; &nbsp;TYPE ORACLE_LOADER<br \/>\n&nbsp;<span class=\"nu0\">12<\/span> &nbsp; &nbsp;<span class=\"kw1\">DEFAULT<\/span> DIRECTORY DBTW<br \/>\n&nbsp;<span class=\"nu0\">13<\/span> &nbsp; &nbsp;ACCESS PARAMETERS <span class=\"br0\">&#40;<\/span><br \/>\n&nbsp;<span class=\"nu0\">14<\/span> &nbsp; &nbsp; &nbsp;RECORDS DELIMITED BY NEWLINE<br \/>\n&nbsp;<span class=\"nu0\">15<\/span> &nbsp; &nbsp; &nbsp;FIELDS TERMINATED BY <span class=\"st_h\">','<\/span><br \/>\n&nbsp;<span class=\"nu0\">16<\/span> &nbsp; &nbsp; &nbsp;OPTIONALLY ENCLOSED BY <span class=\"st_h\">'&quot;'<\/span><br \/>\n&nbsp;<span class=\"nu0\">17<\/span> &nbsp; &nbsp; &nbsp;MISSING FIELD VALUES ARE <span class=\"kw4\">NULL<\/span><br \/>\n&nbsp;<span class=\"nu0\">18<\/span> &nbsp; &nbsp; &nbsp;<span class=\"br0\">&#40;<\/span><br \/>\n&nbsp;<span class=\"nu0\">19<\/span> &nbsp; &nbsp; &nbsp; &nbsp;id &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CHAR<span class=\"br0\">&#40;<\/span><span class=\"nu0\">32<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp;<span class=\"nu0\">20<\/span> &nbsp; &nbsp; &nbsp; &nbsp;codvar &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CHAR<span class=\"br0\">&#40;<\/span><span class=\"nu0\">32<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp;<span class=\"nu0\">21<\/span> &nbsp; &nbsp; &nbsp; &nbsp;categoria &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CHAR<span class=\"br0\">&#40;<\/span><span class=\"nu0\">32<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp;<span class=\"nu0\">22<\/span> &nbsp; &nbsp; &nbsp; &nbsp;criterio &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CHAR<span class=\"br0\">&#40;<\/span><span class=\"nu0\">10<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp;<span class=\"nu0\">23<\/span> &nbsp; &nbsp; &nbsp; &nbsp;texto1 &nbsp; &nbsp; &nbsp; CHAR<span class=\"br0\">&#40;<\/span><span class=\"nu0\">60<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp;<span class=\"nu0\">24<\/span> &nbsp; &nbsp; &nbsp; &nbsp;texto2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CHAR<span class=\"br0\">&#40;<\/span><span class=\"nu0\">60<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp;<span class=\"nu0\">25<\/span> &nbsp; &nbsp; &nbsp; &nbsp;texto3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CHAR<span class=\"br0\">&#40;<\/span><span class=\"nu0\">60<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp;<span class=\"nu0\">26<\/span> &nbsp; &nbsp; &nbsp;<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp;<span class=\"nu0\">27<\/span> &nbsp; &nbsp;<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp;<span class=\"nu0\">28<\/span> &nbsp; &nbsp;LOCATION <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'et_dbtw01.txt'<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp;<span class=\"nu0\">29<\/span> &nbsp;<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp;<span class=\"nu0\">30<\/span> &nbsp;REJECT LIMIT UNLIMITED<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nTabela criada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL<span class=\"sy0\">&gt;<\/span> set timing on<span class=\"sy0\">;<\/span><br \/>\nSQL<span class=\"sy0\">&gt;<\/span> create table CARGA_DBTW03 <span class=\"kw1\">as<\/span> select <span class=\"sy0\">*<\/span> from &nbsp;ET_DBTW01<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nTabela criada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nDecorrido<span class=\"sy0\">:<\/span> <span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">01<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">26.21<\/span><br \/>\nSQL<span class=\"sy0\">&gt;<\/span> drop table CARGA_DBTW03 purge<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nTabela eliminada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nDecorrido<span class=\"sy0\">:<\/span> <span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">05.44<\/span><br \/>\nSQL<span class=\"sy0\">&gt;<\/span> create table CARGA_DBTW03 <span class=\"kw1\">as<\/span> select <span class=\"sy0\">*<\/span> from &nbsp;ET_DBTW01<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nTabela criada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nDecorrido<span class=\"sy0\">:<\/span> <span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">41.72<\/span><br \/>\nSQL<span class=\"sy0\">&gt;<\/span> select <a href=\"http:\/\/www.php.net\/count\"><span class=\"kw3\">count<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span> from CARGA_DBTW03<span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; <a href=\"http:\/\/www.php.net\/count\"><span class=\"kw3\">COUNT<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"sy0\">----------<\/span><br \/>\n&nbsp; &nbsp;<span class=\"nu0\">2000000<\/span><br \/>\n<br \/>\nDecorrido<span class=\"sy0\">:<\/span> <span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">09.68<\/span><br \/>\nSQL<span class=\"sy0\">&gt;<\/span> select segment_name<span class=\"sy0\">,<\/span> <a href=\"http:\/\/www.php.net\/round\"><span class=\"kw3\">round<\/span><\/a><span class=\"br0\">&#40;<\/span>bytes<span class=\"br0\">&#41;<\/span> from user_segments where segment_name like <span class=\"st_h\">'CARGA_DBTW%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSEGMENT_NAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/round\"><span class=\"kw3\">ROUND<\/span><\/a><span class=\"br0\">&#40;<\/span>BYTES<span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"sy0\">---------------------------------------------------------------------------------<\/span> <span class=\"sy0\">------------<\/span><br \/>\nCARGA_DBTW02 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">486539264<\/span><br \/>\nCARGA_DBTW03 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">494927872<\/span><br \/>\n<br \/>\nDecorrido<span class=\"sy0\">:<\/span> <span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">00.33<\/span><br \/>\nSQL<span class=\"sy0\">&gt;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Como foi feito no SQL*LOADER executamos o CTAS duas vezes para eliminar a interfer\u00eancia das \u00e1reas de cache e vamos considerar somente a segunda carga que foi executada em 41.72 segundos (linha 49).<\/span><\/p>\n<h2 style=\"text-align: justify;\"><span style=\"font-size: 14pt;\">Conclus\u00e3o<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Baseado nos testes acima, realizados numa m\u00e1quina virtual com recursos limitados, podemos concluir que o CTAS foi 16,9% mais r\u00e1pido que o SQL*LOADER, porem repetindo esse mesmo teste em outro servidor com mais recursos obtivemos outro resultado e o SQL*LOADER foi 21,4% mais r\u00e1pido que o CTAS. Como podemos observar os recursos de memoria, configura\u00e7\u00f5es e capacidade do processador influenciaram o resultado destes testes. Convido voc\u00ea a reproduzir este teste e publicar aqui o resultados incluindo a configura\u00e7\u00e3o do servidor e do banco de dados como refer\u00eancia.<\/span><\/p>\n<h2 style=\"text-align: justify;\"><span style=\"font-size: 14pt;\">Configura\u00e7\u00f5es das m\u00e1quinas testadas<\/span><\/h2>\n<p><strong>MAQUINA VIRTUA<\/strong>L<br \/>\nLinux 2.6.18-164.el5 i686<br \/>\n1 processador<br \/>\n1024M Memoria RAM<br \/>\nIntel(R) Core(TM) i5-2450M CPU @ 2.50GHz<\/p>\n<p>BANCO ORACLE<br \/>\nOracle Database 11g Enterprise Edition Release 11.2.0.4.0 &#8211; Production<br \/>\nMEMORY_TARGET = 632M<br \/>\n<strong>SERVIDOR DELL<\/strong><br \/>\nLinux 2.6.32-642.6.2.el6.x86_64<br \/>\n16 processadores<br \/>\n193649M Memoria RAM<br \/>\nIntel(R) Xeon(R) CPU E5-2637 v2 @ 3.50GHz<\/p>\n<p>BANCO ORACLE<br \/>\nOracle Database 11g Enterprise Edition Release 11.2.0.4.0 &#8211; 64bit Production<br \/>\nSGA_TARGET = 2000M<br \/>\nPGA_AGGREGATE_TARGET = 800M<br \/>\n&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/><\/div><\/td><td><div class=\"php codecolorer\"><span class=\"sy0\">.<\/span>______________________________________________________________________________<span class=\"sy0\">.<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp;SERVIVOR &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp;TEMPO SQL<span class=\"sy0\">*<\/span>LOADER &nbsp;<span class=\"sy0\">|<\/span> &nbsp;TEMPO CTAS &nbsp;<span class=\"sy0\">|<\/span> &nbsp;DIFEREN\u00c7A PERCENTUAL <span class=\"sy0\">|<\/span> <br \/>\n<span class=\"sy0\">|------------------|--------------------|--------------|-----------------------|<\/span><br \/>\n<span class=\"sy0\">|<\/span> MAQUINA <a href=\"http:\/\/www.php.net\/virtual\"><span class=\"kw3\">VIRTUAL<\/span><\/a> &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu19\">50.22<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu19\">41.72<\/span> &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">16<\/span><span class=\"sy0\">,<\/span><span class=\"nu0\">9<\/span><span class=\"sy0\">%<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|------------------|--------------------|--------------|-----------------------|<\/span><br \/>\n<span class=\"sy0\">|<\/span> SERVIDOR DELL &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"nu19\">4.86<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu19\">6.18<\/span> &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">21<\/span><span class=\"sy0\">,<\/span><span class=\"nu0\">4<\/span><span class=\"sy0\">%<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"st_h\">'------------------------------------------------------------------------------'<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\"><strong>Refer\u00eancias<\/strong><\/span><\/h2>\n<p><span style=\"font-size: 12pt;\"><strong><a href=\"http:\/\/www.oracle.com\/technetwork\/pt\/articles\/database-performance\/oracle-sql-loader-3703843-ptb.html\" target=\"_blank\">http:\/\/www.oracle.com\/technetwork\/pt\/articles\/database-performance\/oracle-sql-loader-3703843-ptb.html<\/a><\/strong><\/span><\/p>\n<p><strong><a href=\"https:\/\/oracle-base.com\/articles\/9i\/external-tables-9i\" target=\"_blank\">https:\/\/oracle-base.com\/articles\/9i\/external-tables-9i<\/a><\/strong><\/p>\n<p>&nbsp;<br \/>\n&nbsp;<br \/>\n<a href=\"http:\/\/dbtimewizard.com.br\/treinamento\/\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1255\" src=\"http:\/\/dbtimewizard.com.br\/blog\/wp-content\/uploads\/2017\/11\/promocao2u.jpg\" alt=\"Promo-D75L\" width=\"330\" height=\"242\" \/><\/a><\/p>\n<p><a href=\"https:\/\/youtu.be\/l6OphhTle9I\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1215\" src=\"http:\/\/dbtimewizard.com.br\/wp-content\/uploads\/2018\/01\/video-02-300x168.jpg\" alt=\"video-02\" width=\"330\" height=\"242\" \/><\/a><br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um processo muito utilizado nos bancos de dados \u00e9 a carga de dados em tabelas, esse processo pode ser feito de varias formas e utilizando in\u00fameras ferramentas, neste artigo vamos testar o desempenho de duas dessas ferramentas e verificar qual delas \u00e9 mais eficiente (SQLLDR ou CTAS), esses recursos suportam paralelismo mas em nosso teste n\u00e3o vamos utilizar a op\u00e7\u00e3o<\/p>\n","protected":false},"author":2,"featured_media":1113,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[174,175,172,173],"class_list":["post-1114","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tuning-tools","tag-ctas","tag-external-table","tag-sqlloader","tag-sqlldr"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/1114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1114"}],"version-history":[{"count":12,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/1114\/revisions"}],"predecessor-version":[{"id":2083,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/1114\/revisions\/2083"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/media\/1113"}],"wp:attachment":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1114"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}