<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4350149978198728408</id><updated>2011-12-15T17:28:45.220-08:00</updated><category term='INFORMIX LOGICAL LOG DISCO ARCHIVE'/><category term='Shared Memory not Initialized'/><category term='INFORMIX ROWID PARTNUM 数据库'/><category term='INFORMIX BUFFER CONTENTION BUFFER WAIT'/><category term='INFOSPHERE INFORMIX CHANGE DATA CAPTURE SOLIDDB'/><category term='INFORMIX onmode -P start stop restart listener'/><category term='ORACLE MYSQL'/><category term='INFORMIX ROADMAP'/><category term='INFORMIX DB2 TROUBLESHOOTING DIAGNOSTICS'/><category term='INFORMIX TABLE MONITORING'/><category term='INFORMIX DBINFO SQLCA'/><category term='INFORMIX MYSQL'/><category term='IBM IOD INFORMIX DB2 PURESCALE'/><category term='INFORMIX ELASTIC COMPUTING CLOUD'/><category term='INFORMIX NSF.LOCK DBS_PARTN LONGSPIN MUTEX'/><category term='INFORMIX MSC VP'/><category term='INFORMIX SQLIPRINT SQLIDEBUG TRACE'/><category term='ORACLE PATCHING DATA BLOCK LAYOUT'/><category term='IBM IOD INFORMIX'/><category term='INFORMIX BRIUG'/><category term='INFORMIX VISIONARY'/><category term='INFORMIX IBM DATA SERVER CLIENT CCT DRDA MACH 11 HDR'/><category term='INFORMIX DIRECTIVES OPTIMIZER'/><category term='INFORMIX BLOG PORTUGUESE BRAZIL PORTUGUES BRASIL'/><category term='INFORMIX ALTER IN-PLACE'/><category term='INFORMIX IPCSTR GPFS POWERHA'/><category term='INFORMIX CREATE INDEX PDQPRIORITY'/><category term='INFORMIX TRUNCATE TABLE'/><category term='INFORMIX LOCK BEGIN WORK BRAZIL'/><category term='INFORMIX CURRENT UTC_TO_DATETIME'/><title type='text'>Ask Pontes</title><subtitle type='html'>Prover Informações sobre tecnologias de banco de dados.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-8343998521928484920</id><published>2011-12-15T17:00:00.000-08:00</published><updated>2011-12-15T17:28:45.226-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX IPCSTR GPFS POWERHA'/><category scheme='http://www.blogger.com/atom/ns#' term='IBM IOD INFORMIX'/><title type='text'>Implementando Conexoes IPC entre Servidores</title><content type='html'>Ola amigos,&lt;br /&gt;&lt;br /&gt;Estou ha algum tempo sem postar nenhum artigo, como o ano esta para acabar reservei um tempo para fazer um prova de conceito sobre conexoes stream pipe na plataforma IBM AIX.&lt;br /&gt;&lt;br /&gt;A cerca de 10 anos atras quando ainda trabalhava com Informix rodando sobre Tru64 tinhamos um problema de performance com aplicacoes 4gl que estavam sendo executadas dentro do servidor do banco de dados atraves de conexoes IPCSHM (Shared Memory).&lt;br /&gt;&lt;br /&gt;Um certo momento no lancamento do Bigbrother 1 no Brasil tivemos uma sobrecarga no ambienten e nao pudemos crescer o servidor, e foi necessario segregar os aplicativos 4gl e o banco de dados em servidores distinto, nao preciso dizer que trocamos o metodo de acesso IPCSHM por TCP/IP.&lt;br /&gt;&lt;br /&gt;Apos algum tempo fizemos um estudo com StreamPipe e descobrimos uma oportunidade, o protocolo IPC utiliza o metodo SHM (Shared Memory) para a troca de informacoes entre a aplicacao client e o servidor, no caso do metodo STR (Stream Pipe) sao utilizados arquivos que ficam residentes no cache do filesystem.&lt;br /&gt;&lt;br /&gt;A tecnologia embutida no cluster do Tru64 nos permitia compartilhar arquivos (shared disk) em diversos servidores, configuramos os filesystems $INFORMIXDIR e /INFORMIXTMP para acesso read/write em todos os servidores de forma simultanea e implementamos a conectividade atraves de IPCSTR para todos os aplicativos 4gl.&lt;br /&gt;&lt;br /&gt;O resultado disto foi um ganho de performance grande tendo em vista que removemos a comunicao atraves de TCP/IP e passamos a utilizar o mecanismo interconnect to cluster para transportar a informacao , para o banco de dados tudo isto foi transparente.&lt;br /&gt;&lt;br /&gt;Me lembro que esta configuracao nao era suportada pela Informix, somente pelo fato que nao era comum este tipo de configuracao na epoca.&lt;br /&gt;&lt;br /&gt;Estou elaborando uma prova de conceito desta mesma arquitetura em ambiente AIX com GPFS/PowerHA, caso funcione irei fazer os benchmarks para demonstrar aqui os resultados/ganhos deste POC.&lt;br /&gt;&lt;br /&gt;Quem tiver interesse em acompanhar esses testes pode me contactar atraves do email vagnerpontes@ig.com.br&lt;br /&gt;&lt;br /&gt;Vagner&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-8343998521928484920?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/8343998521928484920/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2011/12/implementando-conexoes-ipc-entre.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/8343998521928484920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/8343998521928484920'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2011/12/implementando-conexoes-ipc-entre.html' title='Implementando Conexoes IPC entre Servidores'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-6066980738866673861</id><published>2010-08-26T19:58:00.000-07:00</published><updated>2010-08-26T20:31:55.080-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX BRIUG'/><title type='text'>BRIUG - Brazilian Informix Users Group</title><content type='html'>Ola,&lt;br /&gt;&lt;br /&gt;Ja ha algum tempo sem blogar estou aqui novamente, a copa do mundo se foi e o Brasil nao ganhou nada, mas pelo visto meu amigo Cesar trabalhou muito e nao assistiu a copa do mundo.&lt;br /&gt;&lt;br /&gt;A novidade de hoje que nasceu oficialmente o BRIUG (Brazilian Informix Users Group), o acesso ao portal do grupo pode ser feito atraves de: http://www.briug.org/&lt;br /&gt;&lt;br /&gt;Um dos objetivo do grupo e integrar a comunidade de usuarios Informix em lingua-portuguesa, nossos amigos Fernando Nunes e Sergio Ferreira suportam o BRIUG.&lt;br /&gt;&lt;br /&gt;Mas voce deve estar se perguntando "porque o Miguel Carbone nomeou o Grupo em Ingles?"&lt;br /&gt;&lt;br /&gt;Eu tenho algumas teorias:&lt;br /&gt;&lt;br /&gt;1. Em portugues ficaria horrivel "Grupo Brasileiro de Usuarios Informix"!&lt;br /&gt;2. BRI lembra BRIC!! Talvez um dia o grupo possa incluir usuarios da Russia e da India&lt;br /&gt;3. Talvez tenha sido coisa do Miguel mesmo.&lt;br /&gt;&lt;br /&gt;Quanto a mim continuarei blogando no ASKPONTES e tambem no BRIUG, alias estou estudando a tecnologia Flashdrive... (opa ja pensei no proximo post)&lt;br /&gt;&lt;br /&gt;Saludos&lt;br /&gt;&lt;br /&gt;Vagner&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-6066980738866673861?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/6066980738866673861/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2010/08/briug-brazilian-informix-user-group.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/6066980738866673861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/6066980738866673861'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2010/08/briug-brazilian-informix-user-group.html' title='BRIUG - Brazilian Informix Users Group'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-6633939936618145733</id><published>2010-05-26T08:12:00.000-07:00</published><updated>2010-05-26T08:42:07.502-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX BUFFER CONTENTION BUFFER WAIT'/><title type='text'>Analisando o Buffer Cache do Informix</title><content type='html'>Olá,&lt;br /&gt;&lt;br /&gt;Hoje vou postar um recurso que hoje em dia é pouco utilizado, como o preço de memória caiu não é mais usual a análise da ocupação do buffer cache no dia a dia do DBA, é feita apenas a valição do PCT de Read/Write, está formula funciona mas não em todos os casos.&lt;br /&gt;&lt;br /&gt;Vamos lá, o primeiro passo é executar o onstat -P que irá exibir um output conforme abaixo:&lt;br /&gt;&lt;br /&gt;partnum  total    btree    data     other    resident dirty&lt;br /&gt;0        215      8        158      49       0        58&lt;br /&gt;1048578  2        1        1        0        0        0&lt;br /&gt;1048579  9        5        4        0        0        0&lt;br /&gt;1048584  4        2        2        0        0        0&lt;br /&gt;1048585  2        1        1        0        0        0&lt;br /&gt;1048747  1        1        0        0        0        0&lt;br /&gt;3145776  60       8        52       0        0        0&lt;br /&gt;9437190  177      177      0        0        0        0&lt;br /&gt;10485762 26826    0        26826    0        0        0&lt;br /&gt;.......&lt;br /&gt;Totals:  300000   53097    246852   51       60       3444&lt;br /&gt;&lt;br /&gt;Vejam a ultima coluna nomeada como DIRTY, calcule quanto esse coluna representa do total de paginas do buffer cache, se este valor for muito alto para uma tabela isto indica uma aplicação não performatica e deve ser revista.&lt;br /&gt;&lt;br /&gt;Outro ponto é a coluna DATA, esta indica a quantidade de paginas de dados alocadas para a tabela , se este valor for igual ao total de paginas alocadas isto indica que ou a tabela sofre sequential scan ou tem alguma aplicação não performática acessando a mesma, causando a HIGH_Priority na LRU mantendo a mesma residente em memória.&lt;br /&gt;&lt;br /&gt;A coluna RESIDENT indica que foi executado um comando para forçar a residência da tabela em memória, a sintaxe do comando é:&lt;br /&gt;&lt;br /&gt;set table your_table memory_resident/set index your_index memory_resident &lt;br /&gt;&lt;br /&gt;Lembre-se que este comando deve ser usado em casos extremos, se você usou se resolveu seu problema já é indicio de que há algo errado, não devemos fazer o uso sem controle deste recurso.&lt;br /&gt;&lt;br /&gt;A coluna BTREE indica a quantidade de paginas de indices, para identificarmos o objeto que está alocado no buffer cache devemos pegar a coluna PARTNUM e pesquisar na sysmaster:systabnames conforme abaixo:&lt;br /&gt;&lt;br /&gt;select tabname, ti_nrows, ti_nptotal &lt;br /&gt;from sysmaster:systabnames, sysmaster:systabinfo&lt;br /&gt;where partnum=1048585&lt;br /&gt;&lt;br /&gt;Lembre-se , indices detachados ou particionados também possuem partnum portanto no onstat -P temos o resumo de utilização de partitions, sendo tabelas e indices.&lt;br /&gt;&lt;br /&gt;Há alguns anos desenvolvi um script e postei no Repositório do IIUG, o mesmo está no link:&lt;br /&gt;&lt;br /&gt;http://www.iiug.org/software/archive/mon_buffer&lt;br /&gt;&lt;br /&gt;By the way, dentro do repositorio do IIUG podemos encontramos muito scripts interessantes, este foram desenvolvidos por DBAS em situações reais do dia-a-dia de um DBA.&lt;br /&gt;&lt;br /&gt;Segue abaixo o link:&lt;br /&gt;http://www.iiug.org/software/index_DBA.html&lt;br /&gt;&lt;br /&gt;A partir do Informix 11 temos é possivel configurar multiplos buffers, um para cada tamanho de pagina (4K, 8K ,16K), para ambientes OLTP é recomendado o uso de paginas de 8K e para DSS/DW é recomendado o uso de páginas de 16K.&lt;br /&gt;&lt;br /&gt;O importante para o DBA é ter o conceito do funcionamento da buffer cache, seguindo este artigo teriamos outras coisas para estudar (LRU, LIGHT SCAN, LIGHT APPEND) mas isto ficará para outro post.&lt;br /&gt;&lt;br /&gt;Vagner&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-6633939936618145733?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/6633939936618145733/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2010/05/analisando-o-buffer-cache-do-informix.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/6633939936618145733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/6633939936618145733'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2010/05/analisando-o-buffer-cache-do-informix.html' title='Analisando o Buffer Cache do Informix'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-4022784859336079351</id><published>2010-04-13T15:22:00.000-07:00</published><updated>2010-04-13T15:39:41.044-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX TABLE MONITORING'/><title type='text'>Monitorando data/hora de último acesso em objetos</title><content type='html'>Olá a todos,&lt;br /&gt;&lt;br /&gt;A carta traduzida do VP da IBM gerou um volume alto de acessos no meu blog, estou postando outro artigo para dar um quebrada no gelo, não é nada novo no Informix porém surgiu de uma necessidade diária de DBAS.&lt;br /&gt;&lt;br /&gt;Para uma necessidade especifica elaborei um script para monitorar a data/hora de acesso.&lt;br /&gt;&lt;br /&gt;Segue abaixo a estrutura da tabela:&lt;br /&gt;&lt;br /&gt;create table dba_tab_stat&lt;br /&gt; (objpartnum integer,&lt;br /&gt;  objname    varchar(28),&lt;br /&gt;  objcreated date,&lt;br /&gt;  objlastacc datetime year to second&lt;br /&gt; ) &lt;br /&gt;&lt;br /&gt;create unique index key001dbatabstat on dba_tab_stat (objpartnum,objname);&lt;br /&gt;create index key002dbatabstat on dba_tab_stat (objname);&lt;br /&gt;&lt;br /&gt;O shell script deve ser construido com o codigo abaixo:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;vi mon_read.sh&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;em&gt;while true&lt;br /&gt;do&lt;br /&gt;&lt;br /&gt;dbaccess ibs &lt;&lt; FIM&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;select partnum, tabname, today created&lt;br /&gt;from sysmaster:systabnames a&lt;br /&gt; where not exists (select 1 from dba_tab_stat where objname = a.tabname)&lt;br /&gt;into temp x with no log;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;insert into ibs:dba_tab_stat (objpartnum, objname, objcreated, objlastacc)&lt;br /&gt; select *, '' from x&lt;br /&gt;  where partnum not in( select dbsnum*1048576 from sysmaster:sysdbspaces&lt;br /&gt;                          where is_temp=1);&lt;br /&gt;&lt;br /&gt;select * from sysmaster:sysptprof into temp prof1 with no log;&lt;br /&gt;!sleep 60&lt;br /&gt;select * from sysmaster:sysptprof into temp prof2 with no log;&lt;br /&gt;&lt;br /&gt;create index ix01prof1 on prof1(partnum);&lt;br /&gt;update statistics low for table prof1;&lt;br /&gt;&lt;br /&gt;select partnum, tabname, bufreads&lt;br /&gt; from prof2&lt;br /&gt;  where not exists (select 1 from prof1 where prof1.partnum=prof2.partnum )&lt;br /&gt;into temp t_buffreads with no log;&lt;br /&gt;&lt;br /&gt;insert into t_buffreads&lt;br /&gt;select partnum, tabname, bufreads&lt;br /&gt; from prof2&lt;br /&gt;  where exists&lt;br /&gt;     (select 1 from prof1 where prof1.partnum=prof2.partnum and prof2.bufreads!=prof1.bufreads);&lt;br /&gt;&lt;br /&gt;update ibs:dba_tab_stat set objlastacc=current&lt;br /&gt;where exists (select 1 from t_buffreads&lt;br /&gt;                where objpartnum=t_buffreads.partnum&lt;br /&gt;                  and objname=t_buffreads.tabname)&lt;br /&gt;&lt;br /&gt;FIM&lt;br /&gt;&lt;br /&gt;done&lt;/em&gt;------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;chmod +x mon_read.sh&lt;br /&gt;&lt;br /&gt;./mon_read.sh&lt;/strong&gt;&lt;br /&gt;O shell ficara executando em loop, para consultar a data/hora de ultimo acesso das tabelas é só executar a query abaixo:&lt;br /&gt;&lt;br /&gt;select objpartnum, objname, objlastacc&lt;br /&gt;from dba_tab_stat&lt;br /&gt;where objlastacc is not null&lt;br /&gt;&lt;br /&gt;objpartnum objname                                       objlastacc&lt;br /&gt;&lt;br /&gt;    1048579 tab_1048579                                  2010-04-13 19:12:02&lt;br /&gt;    1048585 tab_1048585                                  2010-04-13 19:11:13&lt;br /&gt;    1048597 tab_1048597                                  2010-04-13 19:08:58&lt;br /&gt;    7340064 tab_7340064                                  2010-04-13 15:54:35&lt;br /&gt;    9437190 tab_9437190                                  2010-04-13 15:57:39&lt;br /&gt;   10485762 tab_10485762                                 2010-04-13 19:08:58&lt;br /&gt;   11534339 tab_11534339                                 2010-04-13 19:11:13&lt;br /&gt;   11534341 tab_11534341                                 2010-04-13 19:11:13&lt;br /&gt;   11534347 tab_11534347                                 2010-04-13 17:33:57&lt;br /&gt;   11534349 tab_11534349                                 2010-04-13 17:11:13&lt;br /&gt;   11534351 tab_11534351                                 2010-04-13 19:11:13&lt;br /&gt;   11534353 tab_11534353                                 2010-04-13 19:08:58&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;O Script está porém pode ser melhorado, talvez a data/hora de última gravação no objeto, é possivel usar a mesma logica para ter regsitro de ultimo acesso em procedures.&lt;br /&gt;&lt;br /&gt;Espero que este tipo de informação faça parte do catálogo do Informix na versão Panther.&lt;br /&gt;&lt;br /&gt;Frequentemente ouço queixas dos DBAS SQL Server de algumas informações que o Informix não possue, no caso do Informix o produto foi criado para que os dbas criem suas próprias ferramentas.&lt;br /&gt;&lt;br /&gt;Em uma nova versão do script seria interessante converte para a versão 11 do Informix e usar as funções &lt;strong&gt;task() &lt;/strong&gt;e &lt;strong&gt;sensor() &lt;/strong&gt;mas isto vai dar um trabalho e deixo a cargo do Cesar , meu camarada de Jundiai).&lt;br /&gt;&lt;br /&gt;Vagner&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-4022784859336079351?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/4022784859336079351/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2010/04/monitorando-datahora-de-ultimo-acesso.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/4022784859336079351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/4022784859336079351'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2010/04/monitorando-datahora-de-ultimo-acesso.html' title='Monitorando data/hora de último acesso em objetos'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-5378338341660407297</id><published>2010-03-31T15:33:00.000-07:00</published><updated>2010-03-31T16:05:09.368-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX ROADMAP'/><title type='text'>Carta ao Missionários</title><content type='html'>Abaixo segue carta em portugues do Vice-President de Information Management da IBM:&lt;br /&gt;&lt;br /&gt;http://www.iiug.org/Insider/RThomas_Letter_Portuguese.pdf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;À Nossa Comunidade Informix e Clientes:&lt;br /&gt;&lt;br /&gt;Eu gostaria de iniciar esta carta escrevendo sobre George Dantzig. Eu não o&lt;br /&gt;conheço pessoalmente a nunca tive a chance de encontrá-lo, mas sua historia é&lt;br /&gt;muito interessante. George Dantzig era um estudante na Universidade de&lt;br /&gt;Stanford. Como muitos de nós, George não sabia exatamente o que gostaria de&lt;br /&gt;fazer após sua vida acadêmica, mas estava motivado e inspirado a fazer algo&lt;br /&gt;extraordinário. &lt;br /&gt;&lt;br /&gt;Finalmente, ele decidiu iniciar com um cargo na Faculdade de Stanford. Para conseguir esta posição era requerido que ele fosse aprovado nas provas finais.&lt;br /&gt;&lt;br /&gt;Na manhã do teste, ele foi acordado pelo barulho de seus companheiros de quarto. Ele não tinha ouvido seu despertador, e ainda estava na cama, 20 minutos após sua prova começar. Ele correu pelo campus, com as mesmas roupas utilizadas na noite anterior, chegando no local do exame muito atrasado. &lt;br /&gt;&lt;br /&gt;Quando se sentou, percebeu que faria um teste com seis questões escritas, mais duas questões que estavam escritas na lousa. Ele resolveu os seis problemas escritos e estava muito satisfeito em relação ao seu desempenho ate o momento. Contudo, quando ele foi para os problemas da lousa, ele percebeu que estava em um beco sem saída. Uma vez que todos terminavam e entregavam seus testes, ele pediu ao professor que lhe&lt;br /&gt;concedesse mais tempo para os dois problemas, que lhe concedeu até a meia noite. Chegando a meia noite, desanimado, ele entregou seu teste, e havia resolvido apenas uma das duas ultimas questões.&lt;br /&gt;&lt;br /&gt;Na manhã seguinte George foi acordado com um telefonema de seu professor,  cumprimentando George pelo seu incrível desempenho. Ele havia resolvido 1 dos dois problemas escritos pelo professor na lousa. O que George não sabia era que quando o professor passou os problemas para a turma, ele havia mencionado que os dois problemas, que não tinham solução até o momento (“nem mesmo Einstein havia resolvido estes problemas”).&lt;br /&gt;&lt;br /&gt;George não tinha o conhecimento (nem a noção) do que era possível acontecer no dia que ele entrou na sala de aula. Dizendo de maneira diferente, ele não foi influenciado pelos o que os tão chamados experts acreditavam ser possível ou não. George apenas acreditava, e realizou com bilhantismo.&lt;br /&gt;&lt;br /&gt;Assim como ao escrever esta primeira carta para a Comunidade Informix (nossos Clientes, Parceiros e usuários), eu me encontrei numa situação similar a de George. Eu não tenho a pretensão de ser um expert em Informix ou de ter uma longa experiência nesta tecnologia (eu não tenho!). E não fui influenciado pelo o que deveria ter acontecido, ou deveria ter sido no decorrer da historia do Informix (Eu já havia lido sobre isto). &lt;br /&gt;&lt;br /&gt;Contudo, Eu tenho o otimismo de uma pessoa, avaliando esta historia por uma nova perspectiva. Eu acredito no futuro do Informix, como tecnologia e negócio. Eu, juntamente com a IBM, estamos comprometidos com o sucesso do Informix. Se você esta disposto a investir alguns minutos lendo esta carta, vou compartilhar com você como nós planejamos investir para garantir o crescimento desta tecnologia.&lt;br /&gt;***&lt;br /&gt;&lt;br /&gt;Assim como eu gastei alguns meses pesquisando, aprendendo e conversando&lt;br /&gt;com muitas pessoas sobre o status do Informix, uma coisa me impressionou:&lt;br /&gt;&lt;br /&gt;uma paixão permanente que sempre existiu ao redor desta tecnologia.&lt;br /&gt;&lt;br /&gt;Clientes a adoram, parceiros a adoram, usuários a adoram. Todo mundo adora&lt;br /&gt;o Informix!! Juntamente com esta paixão sem igual, eu levantei algumas&lt;br /&gt;questões. Muitas delas quando confrontadas eram válidas. &lt;br /&gt;&lt;br /&gt;&lt;em&gt;Informix é estratégico para a IBM?&lt;br /&gt;Como podemos aumentar a capacitação ao redor do Informix? &lt;br /&gt;Por que a IBM não fala do Informix publicamente?&lt;br /&gt;Qual é o posicionamento do informix no mercado?&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Todas estas questões são justas. Nós estamos focados em garantir que cada&lt;br /&gt;uma destas questões sejam respondidas com ações, ao invés de meras&lt;br /&gt;palavras. Na verdade, nossas respostas a estas e outras questões, irão vir na&lt;br /&gt;forma de uma estratégia de 3 anos para o Informix que será descrita aqui.&lt;br /&gt;Informix tem um histórico que fala por si mesmo. Ao longo dos anos, o&lt;br /&gt;informix foi classificado como o #1 em satisfação do cliente por duas vezes&lt;br /&gt;(2008/2009 pela VendorRate) e premiado com 56 patentes por inovações. Nós&lt;br /&gt;estamos orgulhosos de ter recebidos estes prêmios e elogios e isto é uma&lt;br /&gt;comprovação da paixão mencionada anteriormente. &lt;br /&gt;&lt;br /&gt;Isto levanta uma importante questão a todos: Dada à paixão pelo Informix, sua história, seu sucesso atual, e os inúmeros clientes que continuam a optar pelo Informix, o que a IBM, e a Comunidade Informix pode fazer para impulsionar o sucesso do Informix no Mercado?&lt;br /&gt;***&lt;br /&gt;Informix vai continuar a crescer, como tem acontecido nos últimos 5 anos, em primeiro lugar, vamos preservar o que o tornou grande, enquanto também expandimos para novas áreas, tendo uma abordagem mais agressiva em vendas, marketing e tecnologia. Existem 4 pontos que serão nossas diretrizes para o futuro:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Encantando a Base Instalada&lt;/strong&gt;Como mencionado acima, O Informix continua a impressionar pela perspectiva de satisfação do cliente. Nossa grandeza esta baseada e construída ao redor e pelos nossos clientes e, nós iremos enfatiza isto, em todas nossas atividades daqui para frente.&lt;br /&gt;&lt;br /&gt;Isto se inicia ouvindo, e muito mais importante que isto, compreendendo o que é critico para nossos clientes. Recebemos pedidos de ofertas de suporte estendido e flexível, suporte abrangente às aplicações e inovação contínua.&lt;br /&gt;&lt;br /&gt;Nós concordamos com estes pedidos e já iniciamos a executar cada um deles. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Construir uma estratégia diferenciada&lt;/strong&gt;&lt;br /&gt;Nós acreditamos que é importante esclarecer como e onde o informix esta posicionado na indústria de software. &lt;br /&gt;&lt;br /&gt;&lt;em&gt;Primeiramente &lt;/em&gt;ele esta posicionado em sua base instalada. Em outras palavras, não é simplesmente econômico (ou não apropriado gerencia de risco) que os usuários atuais considerem alternativas. &lt;br /&gt;&lt;br /&gt;De fato, Eu desafiei a todos a me provar o ROI por detrás de uma mudança de plataforma para alguém que esta usando Informix atualmente. &lt;br /&gt;&lt;br /&gt;&lt;em&gt;Em segundo lugar&lt;/em&gt;, Informix continuará o ter foco na indústria ao qual é dominante hoje em dia (telecomunicações e varejo) e expandira onde já temos uma forte presença  entretenimento e saúde). &lt;br /&gt;&lt;br /&gt;&lt;em&gt;Em terceiro lugar&lt;/em&gt;, Informix irá a continuar a ser a base de dados escolhida para as&lt;br /&gt;aplicações embarcadas. O número de eletrônicos, empresas de saúde e empresas de rede que continuam a mudar para informix é impressionante. O problema é que a maioria do mercado não sabe disso pois o informix é leve e invisível. &lt;br /&gt;&lt;br /&gt;&lt;em&gt;Em quarto lugar&lt;/em&gt;, iremos continuar a focar o Informix para o “middle-market”. Empresas que necessitam de infraestutura que “simplesmente funcione”, com administração-nula, Informix é a grande solução. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Criar uma cultura Pró ativa&lt;/strong&gt;Temos que re-energizar a Comunidade Informix, dentro e fora da IBM. Novas&lt;br /&gt;ofertas com uma clara diferenciação são ambos passos para a direção correta.&lt;br /&gt;Contudo, para darmos um passo mais longe, temos que focar em capacitação&lt;br /&gt;técnica, laboratórios hands-on, comprometimento dos nossos laboratórios,&lt;br /&gt;centros de excelência, benchmarks competitivos e uma maior consciência.&lt;br /&gt;&lt;br /&gt;Vamos aumentar o volume e necessitamos de nossa comunidade de parceiros,&lt;br /&gt;clientes e usuários para ajudar.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Construir um fluxo de Novas Receitas&lt;/strong&gt;&lt;br /&gt;Como em qualquer outro negócio, nada é mais importante do que seus clientes atuais. Contudo, para continuar a crescer e prosperar temos que avançar em novas áreas. &lt;br /&gt;&lt;br /&gt;Alinhado ao posicionamento descrito acima, a IBM irá apostar em cada uma destas áreas. Assim como direcionamos nosso foco ao suporte à aplicações, iremos iniciar com os muitos produtos que a IBM adquiriu ao longo dos anos, e alguns deles ainda não suportam Informix. &lt;br /&gt;&lt;br /&gt;Isto por si só, abre um novo cenário de negócios para o Informix e para novas oportunidades e inovações em nossos clientes. Por último, vamos garantir que iremos triplicar o investimento e nosso trabalho em clientes no mercado embarcado. Como&lt;br /&gt;mencionado anteriormente, é um mercado fértil, onde só a IBM pode juntar a tecnologia (Informix) e os sistemas aos sistemas de arquitetura que os clientes demandam. &lt;br /&gt;&lt;br /&gt;Por último, iremos garantir que os Produtos Informix sejam empacotados corretamente, para garantir as necessidades de nossos desenvolvedores, clientes sejam eles  pequenos, médios ou grandes corporações.&lt;br /&gt;&lt;br /&gt;Executar estes 4 prontos não é um evento mas sim um processo que será executado ao longo de 3 anos, e além. Nós acreditamos que estas medidas são passos acertados para garantir o futuro e capitalizar o crescimento gerado nos últimos 5 anos. Tomaremos uma atitude disciplinada para garantir que estas ações sejam executadas, da maneira mais rápida possível, sem sacrificar a qualidade ou foco em tudo o que fizermos.&lt;br /&gt;***&lt;br /&gt;Estamos orgulhosos do Informx e gratos por nossa leal comunidade. Nós nem sempre fomos perfeitos em nossos atos no passado, mas os negócios continuaram crescendo. Eu sei que ainda há alguns que duvidam, mas peço que mantenham a mente aberta. Eu acredito no que estamos fazendo e confiante que estes passos estão certos. &lt;br /&gt;&lt;br /&gt;Vou manter contato com vocês regularmente, mas se quiserem atualizações freqüentes de nosso progresso, os incentivo a visitar o blog de Bruce Weed’s (http://bruceweed.wordpress.com/ ).&lt;br /&gt;&lt;br /&gt;Eu realmente incentivo a todos a visitarem http://iiug.org/president e compartilhar comigo suas duvidas e comentários. Nestes primeiros meses de trabalho temos nos esforçado para manter a transparência e a abertura. &lt;br /&gt;&lt;br /&gt;Qualquer coisa que desejar compartilhar será de grande valia para mim e para&lt;br /&gt;toda a comunidade Continuamos comprometidos com o Informix e focados em liderar, ou orientar cada um dos pontos que identifiquei. &lt;br /&gt;&lt;br /&gt;Não podemos fazer nada disto sem o apoio e o suporte da comunidade Informix: nossos clientes, parceiros e usuários. &lt;br /&gt;&lt;br /&gt;A Comunidade Informix não pode ser um espectador nesta jornada, necessitamos de sua ajuda e orientação em cada um destes pontos.&lt;br /&gt;&lt;br /&gt;Agradecemos a sua fidelidade e lealdade e esperamos que compartilhem de nosso otimismo para com o futuro. Estou ansioso para encontrá-los em Abril na Conferência do IIUG.&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Robert D. Thomas&lt;br /&gt;Vice President, Information Management&lt;br /&gt;IBM Software Group&lt;br /&gt;&lt;em&gt;Translated to Portuguese by Miguel Carbone (IIUG Board of Directors&lt;/strong&gt;)&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-5378338341660407297?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/5378338341660407297/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2010/03/carta-ao-missionarios.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/5378338341660407297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/5378338341660407297'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2010/03/carta-ao-missionarios.html' title='Carta ao Missionários'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-467933987593171572</id><published>2010-03-11T16:51:00.000-08:00</published><updated>2010-03-11T17:21:50.839-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX VISIONARY'/><title type='text'>Informix Visionary</title><content type='html'>Olá,&lt;br /&gt;&lt;br /&gt;Nesta ultima semana estive em uma palestra de um fornecedor e assisti a um show de dashboards, era indicador e graficos para todo igual, era a visão dos sonhos de um executivo.&lt;br /&gt;&lt;br /&gt;Durante a apresentacao lembrei de alguns projetos que eu havia participado e nao tive como nao lembrar do &lt;strong&gt;Informix Visionary&lt;/strong&gt;. &lt;br /&gt;&lt;br /&gt;Para quem nunca ouviu falar deste produto ele foi desenvolvido pela Informix na gestão do &lt;strong&gt;Dr Michael StoneBracker &lt;/strong&gt;quando o mesmo foi CTO da Informix Corp.&lt;br /&gt;&lt;br /&gt;Enfim , em meados do ano 2000, apenas um ano antes da aquisiçao da Informix, eu estava eu aqui na America do Sul fazendo pré-venda desse produto, coisa de louco, alias a única pessoa que conheci que trabalhou com este produto foi a Roseli da própria Informix Brasil, alias tenho que falar do Dirceu que era o cliente neste projeto, vou arriscar dizer que ele foi um dos primeiros DBAs Informix no Brasil. o cara é bom.&lt;br /&gt;&lt;br /&gt;Lembro que na época a dificuldade era muito grande de divulgar o Visionary, faltava a cultura de dashboards por parte da empresas brasileiras, o que eu mais via eram gráficos gerados por planilhas excel e colados na parede.&lt;br /&gt;&lt;br /&gt;Atualmente  quando visito alguma empresa logo me mostram um televisor de LCD ou uma imagem projetada na parede com Dashboards coloridos.&lt;br /&gt;&lt;br /&gt;Resolvi fazr uma pesquisa no google para saber o qoe aconteceu com o Informix Visionary e para minha supresa o produto ainda existe.&lt;br /&gt;&lt;br /&gt;Vejam o link abaixo:&lt;br /&gt;http://www.rocketsoftware.com/category/business-intelligence&lt;br /&gt;&lt;br /&gt;Em meados de 2004 a Rocket Software (Business Partner IBM) comprou o Visionary  da IBM, e não parou por ai, recentemente a Rocket Software comprou a tecnologia U2.&lt;br /&gt;&lt;br /&gt;Então a IBM vendeu parte de sua tecnologia? &lt;br /&gt;&lt;br /&gt;Sim, e não parou por ai, dpois de um tempo a IBM fez a doação de parte do código fonte do CloudScape para Fundação Apache e ai surgiu o Derby DB.&lt;br /&gt;&lt;br /&gt;Em apenas um artigo citei 3 tecnologias da Informix que ainda estão vivas e em pleno funcionamento.&lt;br /&gt;&lt;br /&gt;Acreditem ainda suporto o Informix 7.31.FD9 !!! Vai bem e obrigado!!!&lt;br /&gt;&lt;br /&gt;Quem sabe qual será o destino final do Informix?&lt;br /&gt;&lt;br /&gt;Num mundo globalizado e cheio de incertezas tudo é possivel, vamos aguardar.&lt;br /&gt;&lt;br /&gt;Vagner&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-467933987593171572?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/467933987593171572/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2010/03/informix-visionary.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/467933987593171572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/467933987593171572'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2010/03/informix-visionary.html' title='Informix Visionary'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-5718675795404640249</id><published>2010-01-07T12:43:00.001-08:00</published><updated>2010-01-07T13:03:10.185-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX onmode -P start stop restart listener'/><title type='text'>Restart de Listener</title><content type='html'>Nihao,&lt;br /&gt;&lt;br /&gt;Ja está disponivel o Release FC6 do Informix 11, neste veio embutida uma feature muita simples mas com grande impacto para o DBA.&lt;br /&gt;&lt;br /&gt;Em ambientes de missão critica com servidores de aplicações distribuidos é preciso planejar as portas de banco por onde essas aplicações irão se conectar, recomenda-se distribuir as portas de forma que quando um ambiente pare o outro continue no ar.&lt;br /&gt;&lt;br /&gt;Caso algum aplicação (por exemplo uma aplicação Web) estoure o limite de conexções de uma porta do banco e simule um DOS (Denyal of Services) antigamente era necessário fazer um stop/start do banco para que o Listener voltasse a responder.&lt;br /&gt;&lt;br /&gt;Após o Informix 9.40 foram embutidas 2 novos parametros:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;LISTEN_TIMEOUT&lt;/strong&gt; - determina o timeout da abertura da conexão TCP/IP, mesmo com a conexão em estado established e o thread alocado na instância isto não quer dizer que a conexão já foi estabelecida.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;MAX_INCOMPLETE_CONNECTIONS&lt;/strong&gt; - determina a quantidade de threads em status de abertua de conexão que serão permitidos antes do Informix comecar a descartar as conexões.&lt;br /&gt;&lt;br /&gt;Antes desta implementação o Informix possuia apenas um listener thread (thread responsavel pela abertura de conexões), agora existem multiplos listener threads&lt;br /&gt;(listen_authenticate).&lt;br /&gt;&lt;br /&gt;Mais informações sobre o assunto pesquisar em:&lt;br /&gt;http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.admin.doc/admin210.htm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Após um cenário onde uma aplicação causa estouro de requisições no listener muitas vezes podemos recuperar o ambiente apenas desligando a aplicação causadora e depois fazendo um restart no listener.&lt;br /&gt;&lt;br /&gt;Agora no Informix 11.50.FC6 temos uma opção no onmode que permite manipular o status das portas (listener) sem a necessidade de parar toda a instancia.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&gt;&gt;-onmode-- -P--+-start---+--server_name-----------------------&gt;&lt;&lt;br /&gt;                +-stop----+                &lt;br /&gt;                '-restart-'    &lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;Esta feature tambem é util quando temos multiplas interfaces de rede no servidor, quando é necessário fazer a manutenção em apenas uma podemos indisponibilizar somente as aplicações que acessam esta interface.&lt;br /&gt;&lt;br /&gt;Como falei anteriormente, esta é uma feature que poucos usam, porém em grandes ambientes de missão critica é muito importante, é mais um sinal que o Informix não é um banco de dados para Appliances ou ambientes pequenos, a cada release possui mais e mais features para manutenção online sem causar indisponibilidade de ambiente.&lt;br /&gt;&lt;br /&gt;Saludos&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-5718675795404640249?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/5718675795404640249/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2010/01/restart-de-listener.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/5718675795404640249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/5718675795404640249'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2010/01/restart-de-listener.html' title='Restart de Listener'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-4014691686100283475</id><published>2009-10-28T11:37:00.000-07:00</published><updated>2009-10-28T11:51:28.972-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM IOD INFORMIX DB2 PURESCALE'/><title type='text'>IBM Information on Demand (IOD) - News I</title><content type='html'>Ola,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ontem participei de uma excelente palestra com o Dr. Arvind Krishna, o nome foi "Reduzindo seus custos com gerenciamento de dados com workload otimizado", o objetivo foi apresentar a melhor forma de como otimizar o workload de ambientes produtivos baseados em solucao de hardware e software IBM.&lt;br /&gt;&lt;br /&gt;A palestra comecou com DB2 Pure Scale, a recente solucao da IBM para competir com a Oracle, realmente a solucao 'e muito boa, foi baseado em Arquitetura Power utilizando a feature Power HA, a solucao 'e muito consistente , parece ser algo promissor, muito parecido com o Sysplex que existe no mainframe.&lt;br /&gt;&lt;br /&gt;No final da apresentacao foi apresentada a solucao da Cisco Corp, inclusive a mesma foi premiada como Partner of the year, e fizeram uma bela apresentacao sobre Informix 11.50.&lt;br /&gt;&lt;br /&gt;Tambem participei de diversas sessoes sobre Informix e realmente o release 11.50.xc6 esta repleto com novas funcionalidades, em breve devo postar alguns artigos sobre essas features, para dar um ideia agora 'e possivel configurar listeners online sem ter a necessidade de baixar o banco.&lt;br /&gt;&lt;br /&gt;Creio que depois deste evento terei muita informacao para postar ate o final do ano.&lt;br /&gt;&lt;br /&gt;Abracos&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-4014691686100283475?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/4014691686100283475/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/10/ibm-iod.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/4014691686100283475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/4014691686100283475'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/10/ibm-iod.html' title='IBM Information on Demand (IOD) - News I'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-3768288088874992779</id><published>2009-10-23T07:40:00.000-07:00</published><updated>2009-10-23T07:48:19.725-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM IOD INFORMIX'/><title type='text'>IBM Information on Demand (IOD)</title><content type='html'>Ni-hao,&lt;br /&gt;&lt;br /&gt;Chegou o dia da viagem, estamos indo ao IBM IOD, evento muito importante dentro da Brand de Software da IBM.&lt;br /&gt;&lt;br /&gt;Irei participar de várias palestras e sessões técnicas, claro que estarei nas principais sessões de Informix, mas vou focar em Infosphere, Solidb e soluções para MDM.&lt;br /&gt;&lt;br /&gt;Segue abaixo a lista de palestrasr/sessões técnicas de Informix:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1227 Upgrading Hardware and IBM Informix Dynamic Server with Zero Downtime&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Network IP recently migrated all of their database servers to IBM hardware and upgraded to IBM Dynamic Server 11.5 at the same time. Learn how they achieved this rolling upgrade with zero downtime.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1231 SOA Enablement on IBM Informix 4GL: Reinvigorating Legacy Business Logic&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;IBM Informix 4GL (I4GL) has come up with several releases for the SOA enablement of the product. Prior to I4GL-SOA, organizations seeking flexibility and interoperation of their I4GL code with other languages across diverse locations had only one option -- rewrite the code using a modern programming language. I4GL-SOA has not only enabled customers to publish their business logic as Web services, but also enabled consumption of other Web services on the Internet by I4GL. The product renders flexibility to distributed systems by ensuring seamless operation across multiple programming languages and platforms. Customers save precious dollars in time and effort by reusing code published as Web services in other locations worldwide.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1309 Tuning Informix in a Sandbox Environment&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;At GSN Digital, formerly WorldWinner, the use of Exact Solutions? iCapture and iReplay products to capture and replay 100% of production SQL calls in a dedicated engineering sandbox allows for empirical measurement of these changes before they take place in production. The empirical tests show what gains are achieved with changes to the ONCONFIG parameter values, to table and index fragmentation strategies, and utilization of new IBM Informix Dynamic Server functionality. The ability to automatically and properly handle transactions open when a level 0 begins is one of the valuable features.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1400 Integrating IBM Informix Dynamic Server with the Enterprise: An Overview&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;In this session, we will look at how IBM Informix Dynamic Server can integrate with the enterprise. We will discuss the use of standard interfaces, homogeneous and heterogeneous replication, Web services, message queues and more.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1404 Virtualization and Cloud Computing with IBM Informix Dynamic Server&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;This session outlines IBM's strategy for virtualization and cloud computing with IBM Informix. It includes an overview of the latest Informix virtual machine and cloud computing offerings, and how to start using them. The session will also include how to leverage Informix features, such as high availability, to add value to your solutions deployed in cloud computing environments, such as the Amazon Elastic Compute Cloud (EC2).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1409 Introduction to IBM Informix Dynamic Server 11.5&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The talk will focus on the new features added in IBM Informix Dynamic Server 11.5, and how they help your business.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1410 Using IBM Informix in Telecommunications&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;IBM Informix has become the database of choice in the telecommunications market. Come learn more about why Informix is such a good fit.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1430 IBM Informix Warehouse -- Product and Roadmap&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;This talk will describe the IBM Informix Warehouse product, its architecture, its benefits and its intended users. The Informix Warehouse offering includes data compression and storage optimization. It discusses features that may be attractive to other Informix customers currently running on XPS or Red Brick.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1431 Dimensional Modeling for IBM Informix Warehouse Users&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Data warehouses are designed to enable access to the data to facilitate reporting and analysis. The concepts of design have a language and approach all their own. IBM Informix Dynamic Server customers new to data warehousing should learn about the importance of data modeling and practical techniques for designing a data warehouse to serve their business needs.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1438 IBM Informix Embeddability Enhancements&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Recent releases of IBM Informix Dynamic Server -- IBM's enterprise class embeddable data server -- have included many new features designed to make it easier to deeply embed a data server in your application. This session shows how to use these new features to reduce overhead and cost of embedding Informix Dynamic Server without user interaction.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1467 Building Data Warehouses with IBM Informix&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;IBM Informix is a great data warehouse server and is used by many customers as a warehouse database. With the new IBM Informix Warehouse Feature from IBM, it is an even better tool. This session will focus on our experience building warehouses, best practices for warehouse development and the exciting new features added in the Informix Warehouse Feature.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1538 Overview of Security and IBM Informix Dynamic Server&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;A high-level overview of security issues as they relate to IBM Informix Dynamic Server.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1564 Managing IDS Configuration and Performance with Server Studio and Sentinel&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Are you getting top notch performance from your mission-critical IDS databases? Optimizing and tuning your IDS environment means managing ALL the pieces — not just your SQL. This presentation will introduce IDS developers and DBAs to the various new and updated tools in the Release 7 of Server Studio and Sentinel and demonstrate how and when to apply each to efficiently manage IDS configuration and optimize its performance. Learn some of the best practices, and save countless hours of wrestling with the complexity of your IDS infrastructure. Gain hands-on experience with the new wide-ranging functionality provided by latest release of AGS' Server Studio and Sentinel.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1760 Eat OATs? Open Source Graphical Database Administration with IBM OAT&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Understand the capabilities and architecture of OAT -- OpenAdmin Tool for IBM Informix Dynamic Server. This will be an overview of the capabilities of the OpenAdmin Tool, highlighting such things as replication, query tracing, database compression, performance history graphs, auto update statistics, space management and many other capabilities. An overview of the architecture and what open source components are utilized within OpenAdmin Tool conclude this talk.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1763 Achieving the Ultimate in Performance with IBM Informix Dynamic Server&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;This presentation will focus on how a database administrator can improve the database performance with a concentrated effort on three main areas. First is storage optimization -- how to optimize data and index storage making the disk drives work for you. Second is SQL statements monitoring and turning -- how a database administrator can monitor and improve the performance of queries without modifying the application. Third is new monitoring and administration techniques added to version 11 to make a database administrator's life easier.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1884 Master Informix Enterprise Replication with the OpenAdmin Tool&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The enterprise replication plugin is a free extension to the free OpenAdmin Tool for Informix Dynamic Server that allows one to interact with IBM Informix Dynamic Server Enterprise Replication technology through a browser. It makes enterprise replication easier to understand and use. Do you want to set up enterprise replication from scratch? Do you want to modify existing replicate and server settings? Do you want to monitor your enterprise replication domain? See how fast and easy it is with the OpenAdmin Tool.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1910 Understanding the IBM Informix Dynamic Server System Databases&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;This session is an updated version of last year's session on the same topic. The new syscdcv1 and sysadmin databases, along with the older sysmaster, sysusers and sysutils databases are explained, and examples of how each database might be used are given. These databases provide a way to easily customize administration and monitoring of databases and applications if you understand what is contained in them.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1979 Using the Change Data Capture API with Informix&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Today's databases utilize a "logical log" to record the series of changes made via transactions. Various utilities (e.g., backup/restore tools) utilize this log, and beginning with IBM Informix Dynamic Server 11.50.xC3, user applications can too. The new IBM InfoSphere Change Data Capture API allows a C, Java or .NET application to see changes made to a given table. This enables a new type of user program.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1991 Availability Solutions within IBM Informix Dynamic Server&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The IBM Informix Dynamic Server provides several availability solutions. This talk will provide an overview of the portfolio.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2331 Maximizing Storage Investment with IBM Informix Dynamic Server Compression&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Learn how compression in IBM Informix Dynamic Server can help optimize your database storage and maximize your storage investment.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2351 IBM Cognos Express: BI and Planning for Midsize Organizations&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Midsize companies are not unlike large enterprises in their need for business intelligence (BI) and performance management. However, they often have limited budgets, limited IT resources and limited expertise in these areas. This session will demonstrate the new IBM Cognos Express solution that provides the essential BI and planning capabilities midsize companies need. We will explore features and capabilities, including: - Simplified data modeling and creation of dimensions. - Building a self-service environment for reporting and analysis. - "What-if" scenario modeling. - Transforming spreadsheets for planning, budgeting and forecasting. - Creating actionable dashboards. - Benefits of in-memory OLAP. - Administration and management highlights.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2560 Developing and Prototyping Database Applications in the Cloud&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Cloud computing has evolved to address the explosive growth of Internet-connected devices, and to complement the increasing presence of technology today. In this session, we will discuss best practices and strategies for prototyping and developing IBM database applications (both IBM DB2 and IBM Informix Dynamic Server) in public and private cloud computing platforms.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2631 Deploying IBM Databases in the Cloud with Amazon EC2&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Cloud computing is the new buzzword in the industry, and the hype is getting to be quite intense. Some in the industry have likened it to the impact that microprocessors had on IT in the 1980s. Regardless of the hype, there is real promise. Come to this session to understand what cloud computing really is and how it applies to data and databases, such as IBM DB2 and IBM Informix Dynamic Server. Hear about the experiences of some of the early adopters, and learn the areas where benefits are real and where it is just empty hype.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2683 IBM Informix Dynamic Server Performance and Troubleshooting: Tips &amp;amp; Tricks&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;This session will cover performance and troubleshooting tips and tricks for the IBM Informix&lt;br /&gt;Dynamic Server. Topics will include configurable page sizes, configuring Btree scanners, finding CPU-intensive processes and trigger-based replication for table reorganization.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2806 .NET Application Development in IBM DB2 and IBM Informix Dynamic Server&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;IBM DB2 and IBM Informix Dynamic Server are great fits for applications in the .NET environment. In this session, you will get an in-depth look at the .NET provider and Visual Studio add-ins, as well as the latest enhancements to support LINQ. You've heard about the ability to leverage static performance and security with existing Java applications using client optimization. Now you can drive down MIPS and improve security, stability and accountability for your .NET applications as well. Attention DB2 database administrators: You won't want to miss this talk!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2898 Optimizing IDS Physical Database Design Using Partitioning&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;This session will start with business scenarios (OLTP, warehousing, hybrid) for time cyclic data management and performance requirements, and creates examples of partitioning/fragmentation strategies appropriate for table and indexes. This session will also explain ways to exploit fragment elimination -- one of the crucial ways to improve performance.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3045 Secure &amp;amp; Availabile Public Finances with IBM IDS Continuous Availability&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Secretaria de Finanzas (Sefin) in Mexico is the Jalisco's state agency responsible for all the finances and tax collections. They have been an IBM Informix user since 1998, and now they also use IBM Content Manager, IBM Lotus Notes, IBM Tivoli, IBM WebSphere Application Server, IBM Rational Solutions, IBM DB2 and IBM InfoSphere Warehouse. Sefin manages US$6 billion annually, with more than 300 collection offices and more than 3,500 (up to 8,000) concurrent users. They needed to improve their availability of services and operating hours to a 99.9999 level. To do this, they evaluated and selected IBM Informix Dynamic Server Continuous Availability Feature along with perimetral security, DMZ configuration and hardware actualization.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3046 IBM Informix Roadmap&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Jerry Keesee, director of IBM Informix Database Development, will summarize key highlights of Informix Dynamic Server, including the latest release information and upcoming product plans.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3047 Keeping Costs Low and Maximizing Flexibility for Jamaica Using IDS&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The Jamaican Government relies on IBM Informix Dynamic Server to keep their IT costs low and provide the flexibility needed to react quickly to constantly changing requirements. With over 50 mission critical applications deployed across 40 locations, they rely on the performance, ease of use and reliability of IBM Informix Dynamic Server. Their complex systems incorporate sophisticated business logic and complex SQL to meet the needs of these government solutions. Learn about the best practices that FSL Jamaica uses to deliver high quality and reliable solutions with IDS.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3205 Integrated Data Management - Yesterday, Today &amp;amp; Tomorrow&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Esta agenda consta no link abaixo:&lt;br /&gt;&lt;a href="https://www-950.ibm.com/events/wwe/iod/iod09cms.nsf/Tracks?Open&amp;amp;Category=Technical%20Skill%20Building%20-%20Data%20Management:%20Informix%20Dynamic%20Server%20(IDS"&gt;https://www-950.ibm.com/events/wwe/iod/iod09cms.nsf/Tracks?Open&amp;amp;Category=Technical%20Skill%20Building%20-%20Data%20Management:%20Informix%20Dynamic%20Server%20(IDS&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-3768288088874992779?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/3768288088874992779/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/10/ni-hao-chegou-o-dia-da-viagem-estamos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/3768288088874992779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/3768288088874992779'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/10/ni-hao-chegou-o-dia-da-viagem-estamos.html' title='IBM Information on Demand (IOD)'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-8802538890135183006</id><published>2009-10-20T17:31:00.000-07:00</published><updated>2009-10-20T17:40:13.096-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORACLE MYSQL'/><title type='text'>Oracle pode vender Mysql!!</title><content type='html'>Opa,&lt;br /&gt;&lt;br /&gt;O gato subiu no telhado!! A comissao europeia esta julgando a aquisicao da Sun pela Oracle, e o questionamento forte esta sendo feito em relacao o banco de dados Mysql.&lt;br /&gt;&lt;br /&gt;Uma vez que o Oracle é o lider de mercado de bancos de dados comerciais e o mysql é o lider no segmento open-source, existe conflitos de interesse e a Oracle pode ter que vender o Mysql.&lt;br /&gt;&lt;br /&gt;Vejam o artigo abaixo:&lt;br /&gt;&lt;a href="http://europa.eu/rapid/pressReleasesAction.do?reference=IP/09/1271&amp;amp;format=HTML&amp;amp;aged=0&amp;amp;language=EN&amp;amp;guiLanguage=en"&gt;http://europa.eu/rapid/pressReleasesAction.do?reference=IP/09/1271&amp;amp;format=HTML&amp;amp;aged=0&amp;amp;language=EN&amp;amp;guiLanguage=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O próprio Monty (um dos funcadores do Mysql) fez seus comentários em seu blog:&lt;br /&gt;&lt;a href="http://monty-says.blogspot.com/2009/10/press-release-concerning-oraclesun.html"&gt;http://monty-says.blogspot.com/2009/10/press-release-concerning-oraclesun.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Não costumo postar artigo de Oracle ou Mysql, mas este não pude deixar passar pois durante anos ouvi que o mundo open-source iria acabar com  os bancos de dados comerciais.&lt;br /&gt;&lt;br /&gt;Bom tá ai a resposta do capitalismo em apenas 2 anos a tecnologia Mysql já passou por duas aquisições!!  Viva o mundo open-source!!&lt;br /&gt;&lt;br /&gt;E por aqui na terra da Uva e do trabalho o AIX vive muito bem obrigado!&lt;br /&gt;&lt;br /&gt;Vagner&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-8802538890135183006?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/8802538890135183006/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/10/oracle-pode-vender-mysql.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/8802538890135183006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/8802538890135183006'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/10/oracle-pode-vender-mysql.html' title='Oracle pode vender Mysql!!'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-2121340907569631916</id><published>2009-09-20T16:53:00.000-07:00</published><updated>2009-09-23T16:38:31.718-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX CREATE INDEX PDQPRIORITY'/><title type='text'>Criando Indices em grandes volumes de dados</title><content type='html'>Nihao,&lt;br /&gt;&lt;br /&gt;Outro dia conversando com meu amigo de &lt;strong&gt;Mato Grosso do Sul &lt;/strong&gt;me lembrei de algumas histórias, foi durante uma consultoria em Campo Grande que fiz o meu eject de Sao Paulo para Jundiaí, que deixem os paulistas lá com o Kassab.&lt;br /&gt;&lt;br /&gt;Aliás Campo Grande lembra muito o Kansas , onde fica um dos laboratorios de desenvolvimento do Informix, lá tem muito gado e o povo é friendly, só falta mesmo o &lt;strong&gt;Tererê.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Por isto vou postar algumas informacoes de como criar um indice em uma tabela com tipo uns 256GB de dados, vamos pensar grande mesmo!!!&lt;br /&gt;&lt;br /&gt;Bom primeiro passo, temos que usar o Informix 11 e precisamos saber qual a carga de I/O que nosso storage suporta, isto pode ser feito atraves da analise do TOPAS (AIX) ou TOP (Linux), imaginemos que num momento de pico nosso storage executa muito bem a leitura de 2GB/Seg, nao me lembro qual a media no meu ambiente, deve ser algo acima disto.&lt;br /&gt;&lt;br /&gt;No lado f'isico do banco de dados iremos alocar um dbspace com tamanho de pagina de 16KB para armazenar dados e outro dbspaces com pagina de 16KB para armazenar o indice.&lt;br /&gt;&lt;br /&gt;Lembre-se de criar um buffer pool de 16KB tambem, alias lembre-se de configurar 2 arquivos onconfig, uma que sera usado normalmente e outro que sera usado somente na criacao do indice.&lt;br /&gt;&lt;br /&gt;Sobre o arquivo onconfig usado na criacao do indice devemos configurar o seguinte:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;- Parametros de pre-fetch:&lt;/strong&gt; ra_pages/ra_threshold, esses parametros sao validos para a instancia, inclusive o Cesar me alertou sobre isto.&lt;br /&gt;Com um valor alto para pre-fetch os dados serao lidos mais rapidamente para a memoria e assim acelera a criacao do indice.&lt;br /&gt;Na minha opniao este parametro deveria ser definido no escopo de buffer pool, pois assim poderiamos ter um pre-fetch agressivo para situacoes especificas.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;- Parametros de LRU:&lt;/strong&gt; os parametros de LRU_MIN e LRU_MAX tambem foram incluidos no parametro de criacao de buffer pool, a ideia 'e colocar valores altos para que a instancia nao entre em contencao de processos background para fazer flush.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;- Parametros de Checkpoint:&lt;/strong&gt; agora o Informix nao bloqueia a instancia durante o checkpoint, mas seria interessante desligar o parametro de checkpoint automatico.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;- Area temporaria:&lt;/strong&gt; procure criar dbspaces temporarios do mesmo tamanho do indice a ser criado, se a tabela for particionada tambem crie dbspaces temporarios de acordo com a quantidade de partitions que voce criar na sua tabela. Nao use filesystem para fazer sort do indice, por exemplo setando a variavel DBSPACETEMP ou DBTEMP para um diretorio, sempre direcione para um dbspace temporario.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;- Parametros de PDQ:&lt;/strong&gt; Procure setar os parametros de paralelismo (DS_*) , por default os valores estao definidos de forma ilimitada, isto pode causar contencao na criacao do indice.&lt;br /&gt;&lt;br /&gt;Para a tabela ser criada com 256GB é necessario que o dbspace seja criado com página de 16KB, com isto será possivel criar a tabela com apenas um fragmento, porém a criaçao do indice vai demorar, entao procure particionar a tabela de acordo com alguma regra/coluna especifica de modo que os fragmentos comportem até 64GB.&lt;br /&gt;&lt;br /&gt;É claro que não executei a criação de indice de tabelas com 256GB, no meu cenário atual fiz somente com 64GB e o tempo foi legal.&lt;br /&gt;&lt;br /&gt;Se tiver algum problema como configurar o PDQ Priority dê uma olhada no site do Cesar (Se nao tiver nenhuma sessao falando de PDQ pode mandar email pra ele!!)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.imartins.com.br/informix/"&gt;http://www.imartins.com.br/informix/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Agora imaginem que voce nao tenha uma janela de downtime de 6 horas para criar o indice o que voce deve fazer?&lt;br /&gt;&lt;br /&gt;Neste caso voce pode clonar seu ambiente para um outro ambiente identico e neste criar o indice, ai com um pouco de bruxaria podemos transportar o indice inteiro para a producao sem ter que fazer rebuild, como ? (onunload/onload)&lt;br /&gt;&lt;br /&gt;O onload/onunload permite fazer move de grandes volumes muito parecido com o recurso de transportable tablespace do Oracle, essas ferramentas existem desde a versao 7 e realmente sao muitos boas.&lt;br /&gt;&lt;br /&gt;Vou deixar na lista de pendencias um post sobre onload/onunload, como sempre procurei passar o conceito de como criar um indice em um tabela com grande volume de dados, agora o como fazer fica como licao de casa.&lt;br /&gt;&lt;br /&gt;Se eu esqueci de algum truque e alguem lembra por favor comentem.&lt;br /&gt;&lt;br /&gt;Vagner&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-2121340907569631916?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/2121340907569631916/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/09/criando-indices-em-grandes-volumes-de.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/2121340907569631916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/2121340907569631916'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/09/criando-indices-em-grandes-volumes-de.html' title='Criando Indices em grandes volumes de dados'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-5218930480690525147</id><published>2009-09-15T14:14:00.000-07:00</published><updated>2009-09-15T15:08:51.510-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX TRUNCATE TABLE'/><title type='text'>Truncate Table no Informix</title><content type='html'>Ni-hao,&lt;br /&gt;&lt;br /&gt;Muitas vezes precisamos eliminar todo o conteudo tabela , isto deve ocorrer de forma rápida e sem impactos.&lt;br /&gt;&lt;br /&gt;Até a versão 7 do Informix era comum executarmos um drop/create table, pois fazer um delete de todas as linhas da tabela não era algo eficiente.&lt;br /&gt;&lt;br /&gt;A partir da versão 9.40 temos o truncate table, o mesmo foi melhorada e na versão 11.50 chegou a um excelente nivel de funcionalidade.&lt;br /&gt;&lt;br /&gt;Segue abaixo as sintaxes do comando:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Truncate table&lt;/strong&gt; your_table;&lt;br /&gt;Truncate table your_table &lt;strong&gt;drop storage&lt;/strong&gt; ;&lt;br /&gt;Truncate table your_table &lt;strong&gt;reuse storage&lt;/strong&gt;;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;TRUNCATE TABLE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Este comando irá zerar o conteudo da tabela, a eliminacao de linhas nao ocorre, o Informix apenas elimina as referencias ao extent dentro da partition page, somente o extent inicial permance.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CLAUSULA DROP STORAGE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Tem a mesma função padrão do truncate table, ou seja elimina os extents subsequentes e insere esses espaços contiguos na free list do dbspace onde a tabela reside, assim outras tabelas ou indices podem reutilizar este espaco.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CLAUSULA REUSE STORAGE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Esta clausula é muito util, pois os extents não são removidos da tabela, as paginas de dados e bitmap apenas são marcadas como free , este recurso é muito útil em tabelas usadas por processos batches, onde são truncadas e populadas com frequência.&lt;br /&gt;&lt;br /&gt;Vagner&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-5218930480690525147?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/5218930480690525147/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/09/truncate-table-no-informix.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/5218930480690525147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/5218930480690525147'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/09/truncate-table-no-informix.html' title='Truncate Table no Informix'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-8968417187541021247</id><published>2009-08-31T17:51:00.001-07:00</published><updated>2009-08-31T17:53:24.795-07:00</updated><title type='text'>Informix Road Show no Brasil!</title><content type='html'>Clique na imagem abaixo para mais detalhes do evento.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_c3v5o3sFMYo/SpxwJsSMx0I/AAAAAAAAACA/07gG-aAZbSA/s1600-h/convite_informix.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5376295366982158146" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 282px; CURSOR: hand; HEIGHT: 400px" alt="" src="http://1.bp.blogspot.com/_c3v5o3sFMYo/SpxwJsSMx0I/AAAAAAAAACA/07gG-aAZbSA/s400/convite_informix.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-8968417187541021247?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/8968417187541021247/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/08/informix-road-show.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/8968417187541021247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/8968417187541021247'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/08/informix-road-show.html' title='Informix Road Show no Brasil!'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_c3v5o3sFMYo/SpxwJsSMx0I/AAAAAAAAACA/07gG-aAZbSA/s72-c/convite_informix.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-2567045756788326788</id><published>2009-08-21T16:22:00.000-07:00</published><updated>2009-08-22T12:37:04.637-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX NSF.LOCK DBS_PARTN LONGSPIN MUTEX'/><title type='text'>Mutex Contention - Parte I</title><content type='html'>Ni-hao,&lt;br /&gt;&lt;br /&gt;Para quem gosta de estudar sobre software com arquitetura multithread irei falar um pouco sobre como o Informix utiliza a Arquitetura DSA (Dynamic Server Architecture) para implementar o controle de threads.&lt;br /&gt;&lt;br /&gt;Basicamente quando um thread tenta acessar algum recurso em modo exclusivo o mesmo precisa que um latch ou mutex seja alocado.&lt;br /&gt;&lt;br /&gt;No Informix existem diversas formas de identificarmos os mutexes e seus status, basta usar o onstat:&lt;br /&gt;&lt;br /&gt;onstat -g lmx: lista todos os latches que estao bloqueados, ou sejam um thread foi marcado com holder e outros threads estao waiters.&lt;br /&gt;&lt;br /&gt;onstat -g amx: similar ao anterior porem lista todos os latches independentes de status.&lt;br /&gt;&lt;br /&gt;E muito comum alguns tipos de contencao abaixo:&lt;br /&gt;&lt;br /&gt;- NSF.LOCK&lt;br /&gt;  Este latch indica que o sistema operacional pode estar com o kernel mal-configurado, por exemplo o numero de file descriptors 'e pequeno.&lt;br /&gt;&lt;br /&gt;  Em toda nova conexao ao banco de dados um file descriptor 'e alocado, em ambiente AIX esse parametro costuma ser definido como ilimitado.&lt;br /&gt;  &lt;br /&gt;  Para checar sua configuracao conecte-se como usuario informix e rode ulimit -a&lt;br /&gt;&lt;br /&gt;  Existes outro cenario que esta contencao pode ocorrer, nao e um problema muito comum na maioria das vezes recomendo que o Suporte da IBM seja acionado.&lt;br /&gt;&lt;br /&gt;  Neste link tem uma nota da IBM sobre este tipo de contencao:&lt;br /&gt;  http://www-01.ibm.com/support/docview.wss?uid=swg21145897&lt;br /&gt;&lt;br /&gt;  A contenção também pode ser um defect:&lt;br /&gt;  http://www-01.ibm.com/support/docview.wss?uid=swg1IC50796&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- DBS_PARTN&lt;br /&gt;  Este tipo de latch indica contencao na TBLSPACE, para reduzir isto voce deve distribuir suas tabelas em diversos dbspaces.&lt;br /&gt;  Esta contencao ocorre em instancias com um alto volume de threads concorrentes e muitas tabelas no catalogo.&lt;br /&gt;&lt;br /&gt;http://www-01.ibm.com/support/docview.wss?rs=630&amp;context=SSGU8G&amp;dc=DA400&amp;uid=swg27015907&amp;loc=en_US&amp;cs=UTF-8&amp;lang=en&amp;rss=ct630db2&lt;br /&gt;&lt;br /&gt;- PT_??????&lt;br /&gt;  Aqui sao contencoes de tabelas mesmo, PT significa partition, meios de reduzir este tipo de contencao:&lt;br /&gt;  &lt;br /&gt;  Onde consta ????? 'e o partnum em hexa, voce deve converte-lo para decimal e acessar a tabela sysmaster:systabnames e identificar o objeto atraves do partnum.&lt;br /&gt;&lt;br /&gt;  Caso seja um indice , voce deve checar a quantidade de extents ou niveis do indice.&lt;br /&gt;&lt;br /&gt;  Caso seja uma tabela, voce deve checar a quantidade de extents, ocorrencias de lock wait etc.&lt;br /&gt;&lt;br /&gt;De forma geral voce deve verificar os caches de dicionario, distribuicao e procedure:&lt;br /&gt;&lt;br /&gt;onstat -g dic  -&gt; ver parametro DD_HASHSIZE / DD_MAXSIZE&lt;br /&gt;onstat -g dsc  -&gt; ver parametro DS_HASHSIZE / DS_POOLSIZE&lt;br /&gt;onstat -g prc  -&gt; ver parametro PC_POOLSIZE&lt;br /&gt;&lt;br /&gt;Lembrete: muitas instalacoes Informix trabalham com estes parametros com valores default.&lt;br /&gt;&lt;br /&gt;O Cesar Martins tem um artigo muito interessante sobre o tunning no cache de distrbuicao:&lt;br /&gt;&lt;br /&gt;http://www.imartins.com.br/informix/artigos/configurando-cache-distribuicao-dados&lt;br /&gt;&lt;br /&gt;Aguardem no proximo capitulo, irei colocar alguns exemplos de como identificar longspings.&lt;br /&gt;&lt;br /&gt;Saludos&lt;br /&gt; &lt;br /&gt;Vagner&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-2567045756788326788?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/2567045756788326788/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/08/mutex-contention-parte-i.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/2567045756788326788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/2567045756788326788'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/08/mutex-contention-parte-i.html' title='Mutex Contention - Parte I'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-8193210027086050746</id><published>2009-08-07T07:58:00.000-07:00</published><updated>2009-08-07T09:47:01.954-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX DBINFO SQLCA'/><title type='text'>Detalhes sobre DBINFO</title><content type='html'>Ni-hao,&lt;br /&gt;&lt;br /&gt;Outro dia expliquei ao meu amigo Lud alguns detalhes sobre o DBINFO, achei interessante expor aqui essa dúvida.&lt;br /&gt;&lt;br /&gt;Lá em meados de 1996 quando eu começei a programar em Informix 4gl (bons tempos!) eu fazia uso de uma estrutura chamada SQLCA, a mesma me retornava algumas informações do tipo:&lt;br /&gt;&lt;br /&gt;- Numero de linhas processadas no comando SQL&lt;br /&gt;- Ultimo numero inserido em um coluna do tipo serial&lt;br /&gt;- Isam error&lt;br /&gt;&lt;br /&gt;Nos dias atuais as linguagens de programação não trabalham ligadas diretamente ao banco de dados, é comum existir o ODBC, OLEDB ou outra camada entre a aplicação e o banco de dados.&lt;br /&gt;&lt;br /&gt;No caso da funcao DBINFO a duvida do meu amigo foi "Mas oque realmente faz o DBINFO?"&lt;br /&gt;&lt;br /&gt;A explicação é o DBINFO apenas acessa a estrutura ifx_sqlca_t que é estrutura correspondente ao SQLCA que conhecemos no Informix 4gl.&lt;br /&gt;&lt;br /&gt;A definição da estrutura ifx_sqlca_t pode ser visualizada em $INFORMIXDIR/incl/esql/sqlca.h&lt;br /&gt;&lt;br /&gt;Abracos&lt;br /&gt;&lt;br /&gt;Vagner&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-8193210027086050746?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/8193210027086050746/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/08/detalhes-sobre-dbinfo.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/8193210027086050746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/8193210027086050746'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/08/detalhes-sobre-dbinfo.html' title='Detalhes sobre DBINFO'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-6685015820395540060</id><published>2009-08-02T07:10:00.000-07:00</published><updated>2009-08-02T07:16:11.160-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX CURRENT UTC_TO_DATETIME'/><title type='text'>Usando cláusula Current em Stored Procedure</title><content type='html'>Ni-hao,&lt;br /&gt;&lt;br /&gt;Hoje irei falar de uma coisa que ocorre no Informix 7, quando executamos uma procedure e dentro dela temos que usar a cláusula CURRENT, temos um problema pois está cláusula não reflete a data e hora corrente quando a procedure tem um longo tempo de duração.&lt;br /&gt;&lt;br /&gt;Para este tipo de situação eu criei a procedure abaixo:&lt;br /&gt;&lt;br /&gt;create procedure "informix".timestamp()&lt;br /&gt;returning datetime year to second;&lt;br /&gt;&lt;br /&gt;define whora datetime year to second;&lt;br /&gt;&lt;br /&gt;SELECT DBINFO( 'UTC_TO_DATETIME', sh_curtime ) into whora&lt;br /&gt; FROM sysmaster:sysshmvals;&lt;br /&gt;&lt;br /&gt;return whora;&lt;br /&gt;&lt;br /&gt;end procedure;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;O select abaixo acessa a coluna sh_curtime que representa o relógio interno do banco de dados, a função DBINFO converte a coluna sh_curtime do formato integer para data/hora.&lt;br /&gt;&lt;br /&gt;SELECT DBINFO( 'UTC_TO_DATETIME', sh_curtime ) into whora&lt;br /&gt; FROM sysmaster:sysshmvals;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Saludos&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-6685015820395540060?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/6685015820395540060/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/08/usando-clausula-current-em-stored.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/6685015820395540060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/6685015820395540060'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/08/usando-clausula-current-em-stored.html' title='Usando cláusula Current em Stored Procedure'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-166879670433487652</id><published>2009-06-25T14:19:00.000-07:00</published><updated>2009-06-25T14:25:58.009-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX MSC VP'/><title type='text'>Acelerando a abertura de conexões</title><content type='html'>Olá,&lt;br /&gt;&lt;br /&gt;A partir da versão 11.10 do Informix podemos usar um artificio que permite que o processo de abertura de conexões seja acelerado.&lt;br /&gt;&lt;br /&gt;Quando um cliente solicita a abertura de uma nova conexão o &lt;strong&gt;VP MSC&lt;/strong&gt; é oVP responsável pela autenticação da senha no sistema operacional.&lt;br /&gt;&lt;br /&gt;A idéia aqui é adicionar mais um VP  do MSC é reduzir a contenção na chamada de funções dentro deste VP.&lt;br /&gt;&lt;br /&gt;Para adicionar o novo VP MSC:&lt;br /&gt;&lt;br /&gt;onmode -p +1 MSC&lt;br /&gt;&lt;br /&gt;No online.log aparecerá a mensagem abaixo:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dynamically Added 1 msc vp&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Para veificar a quantidade de VPs alocados:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;onstat -g glo&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Abraços&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-166879670433487652?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/166879670433487652/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/06/acelerando-abertura-de-conexoes.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/166879670433487652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/166879670433487652'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/06/acelerando-abertura-de-conexoes.html' title='Acelerando a abertura de conexões'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-2142889075649706909</id><published>2009-05-27T12:41:00.000-07:00</published><updated>2009-06-05T12:33:54.784-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX LOCK BEGIN WORK BRAZIL'/><title type='text'>Identificando Transação Aberta</title><content type='html'>Olá,&lt;br /&gt;&lt;br /&gt;Muitos desenvolvedores 4gl necessitam saber se na sessão corrente existe uma transação aberta (begin work).&lt;br /&gt;&lt;br /&gt;O primeiro passo é identificar o ID da sessão corrente através do comando dbinfo.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;select dbinfo('sessionid') into wsid&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;from sysdual&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Depois faça um acesso em sysmaster:sysrstcb (Rsam Thread Control Block) e identifique o endereço físico da sessão em memória:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;select address into waddress from sysrstcb &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;where sid=wsid&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Com este endereço procure algumas transação aberta onde o owner seja igual a waddress:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;select bitval(flags,2) from systxptab where owner= waddress&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Se a query retornar valor 1 quer dizer que na sessão especificada foi executado o comando &lt;strong&gt;BEGIN WORK.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Abrazos&lt;br /&gt;&lt;br /&gt;Vagner&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-2142889075649706909?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/2142889075649706909/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/05/identificando-transacao-aberta.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/2142889075649706909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/2142889075649706909'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/05/identificando-transacao-aberta.html' title='Identificando Transação Aberta'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-1131885784970654477</id><published>2009-05-21T06:16:00.001-07:00</published><updated>2009-05-21T06:28:12.545-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX LOGICAL LOG DISCO ARCHIVE'/><title type='text'>Backup de Logical Log para disco</title><content type='html'>Olá,&lt;br /&gt;&lt;br /&gt;Muita gente se pergunta porque o Informix não faz backup de logical log para disco em pequenos arquivos, como é feito no Oracle.&lt;br /&gt;&lt;br /&gt;Bom a explicação é que na versão 7 é possivel fazer isto, mas é preciso de efetuar algumas alterações no alarmprogram.sh, é um configuração trabalhosa, mas o recurso existe.&lt;br /&gt;&lt;br /&gt;Na versão 11 esta necessidade foi implementada de forma muito fácil.&lt;br /&gt;&lt;br /&gt;Segue abaixo os passos necessários para habilitar esta funcionalidade:&lt;br /&gt;&lt;br /&gt;No arquivo onconfig define o parâmetro &lt;strong&gt;LTAPEDEV&lt;/strong&gt; para um diretório valido:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;LTAPEDEV /myinformixlogs&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Agora é preciso configurar o informix para fazer o backup automático do logs:&lt;br /&gt;&lt;br /&gt;Editar o arquivo &lt;em&gt;$INFORMIXDIR/etc/alarmprogram.sh&lt;/em&gt; e alterar o parâmetros conforme abaixo :&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;BACKUPLOGS=Y&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;BACKUP_CMD="ontape -a -d"&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A partir desta todo log será gravada e um arquivo distinto no diretório informado, o formato padrão do nome dos arquivos é:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;hostname_servernum_Ln = serv1_11_307&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Esta nomenclatura pode ser alterada através da variavel de ambiente:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;IFX_ONTAPE_FILE_PREFIX&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Este recurso é muito útil em pequenas instalações informix, onde os logs são direcionados para disco e serão armazenados posteriormente pois uma solução de backup de file-system.&lt;br /&gt;&lt;br /&gt;Para quem trabalha com &lt;strong&gt;HDR/RSS&lt;/strong&gt; é muito interessante implementar esta feature, pois é possivel enviar os logs do servidor primário para o servidor secundário logo após a sua gravação em disco.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;Apenas lembre-se que o file-system que contém os logs precisa ter redundância configurada pelo Administrador de Sistema!!&lt;/em&gt; &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Vagner&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-1131885784970654477?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/1131885784970654477/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/05/backup-de-logical-log-para-disco.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/1131885784970654477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/1131885784970654477'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/05/backup-de-logical-log-para-disco.html' title='Backup de Logical Log para disco'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-9036995868546624048</id><published>2009-05-15T15:45:00.000-07:00</published><updated>2009-05-18T08:05:32.227-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX ROWID PARTNUM 数据库'/><title type='text'>Calculando Limites de Particao</title><content type='html'>Ola,&lt;br /&gt;&lt;br /&gt;Estou envolvido em um estudo de sizing para determinado ambiente, e me deparei com algo interessante que os Dbas Informix devem estar atentos, que e o limite de alocacao de paginas por particao.&lt;br /&gt;&lt;br /&gt;Para explicar o problema, a referencia logica de um registro e feita atraves do rowid, no caso do Informix o rowid tem o seguinte format:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;0xPPPPPPSS&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;P=Indica a Pagina logica dentro do extent&lt;br /&gt;S=Indica o slot onde a linha se encontra dentro na pagina&lt;br /&gt;&lt;br /&gt;O &lt;strong&gt;rowid &lt;/strong&gt;257 quando transformamos para hexadecimal temos 0x101, isto indica pagina logica 1 e slot 01, dentro do slot temos duas informacoes:&lt;br /&gt;&lt;br /&gt;Offset=E o endereco do byte onde a linha se encontra na pagina&lt;br /&gt;len=indica a quantidade de bytes que a linha possui&lt;br /&gt;&lt;br /&gt;Portanto o Informix para acessar o registros se posiciona na pagina logica, vai ate o slot e le o byte onde inicia a linha e faz a leituras de N (Len) bytes a partir desta posicao.&lt;br /&gt;&lt;br /&gt;E onde esta o problema citado no inicio do post?&lt;br /&gt;&lt;br /&gt;Bom, neste formato enderecamos uma quantidade limitada de paginas , por exemplo:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;0xFFFFFF = 16777215&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Digamos que o tamanho da pagina logica do dbspace 'e de 2K, teremos 2*16777215 = 33.554.430 de paginas ou seja 32GB, se quisermos expandir o limite para 128GB temos que criar um dbspace com tamanho de pagina de 8K.&lt;br /&gt;&lt;br /&gt;Após esta alteração caso o limite seja atingido ai a solução e particionar a tabela mesmo.&lt;br /&gt;&lt;br /&gt;Lembre-se de nunca fazer isto:&lt;br /&gt;&lt;br /&gt;select max(rowid) from tabela&lt;br /&gt;&lt;br /&gt;Isto nao ira retornar o ultimo registros inserido!!&lt;br /&gt;&lt;br /&gt;Saludos&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-9036995868546624048?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/9036995868546624048/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/05/calculando-limites-de-particao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/9036995868546624048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/9036995868546624048'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/05/calculando-limites-de-particao.html' title='Calculando Limites de Particao'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-3055357635366134385</id><published>2009-04-21T12:09:00.000-07:00</published><updated>2009-04-21T12:35:30.925-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX MYSQL'/><title type='text'>Oracle X Sun, e o Mysql?</title><content type='html'>De acordo com os anúncios da midia após a IBM desistir de adquirir a Sun, a Oracle anunciou a intenção de aquisição.&lt;br /&gt;&lt;br /&gt;O que mais me deixa curioso é o futuro do Mysql, apesar de pouco contato com o produto ele possui uma participação expressiva no mercado de soluções embarcadas , principalmente nos pequenos ISVs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Vejam alguns numeros sobre o Mysql:&lt;br /&gt;&lt;br /&gt;- 70.000 Downloads por Dia!!&lt;br /&gt;- Mais de 12.000.000 de instancias em producao!! (Claro que isto inclui as instalacoes open-source).&lt;br /&gt;&lt;br /&gt;Se a IBM tivese comprado a Sun com certeza o Mysql seria continuado, pois este e o perfil da IBM, manter software legado , o Mysql seria integrado a Divisao de IM e iria coexistir com o DB2 e Informix, com este cenário seria possivel que a IBM voltasse para a primeira posição no market share de bancos de dados.&lt;br /&gt;&lt;br /&gt;Em relação ao suporte do Mysql, quando a empresa foi adquirida pela Sun muitas pessoas de suporte e desenvolvimento se desligaram da empresa, inclusive um dos fundados (monty) foi atuar em uma empresa startup e agora se dedica ao MariaDb.&lt;br /&gt;&lt;br /&gt;Inclusive o próprio monty ja postou algo em seu blog:&lt;br /&gt;&lt;a href="http://monty-says.blogspot.com/2009/04/to-be-free-or-not-to-be-free.html"&gt;http://monty-says.blogspot.com/2009/04/to-be-free-or-not-to-be-free.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Com esta aquisição a Oracle abocanhou 2 tecnologias open-source de uma só vez, que foram o Java e o Mysql, agora a coisa fica menos interessante para a SAP e IBM que pregam o uso de java extensivamente.&lt;br /&gt;&lt;br /&gt;Historicamente falando de tecnologia de banco de dados a Oracle ja Adquiriu:&lt;br /&gt;&lt;br /&gt;- RDB da Digital , foi o que deu muita base para o OPS (Parallel Server)&lt;br /&gt;- Berkeley DB&lt;br /&gt;- Timesten (In-memory database)&lt;br /&gt;- Mysql&lt;br /&gt;&lt;br /&gt;Agora a Oracle se torna uma empresa completa com soluções que vão de Hardware, Software para infra-estrutura a ERP etc.&lt;br /&gt;&lt;br /&gt;Sera que agora a Oracle quer ser a Digital Corporation e peitar a IBM?&lt;br /&gt;&lt;br /&gt;Vamos aguardar as cenas do próximo capitulo.&lt;br /&gt;&lt;br /&gt;Vagner&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-3055357635366134385?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/3055357635366134385/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/04/oracle-x-sun-e-o-mysql.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/3055357635366134385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/3055357635366134385'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/04/oracle-x-sun-e-o-mysql.html' title='Oracle X Sun, e o Mysql?'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-5574911619522100407</id><published>2009-04-06T18:14:00.000-07:00</published><updated>2009-04-06T18:36:18.123-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX ALTER IN-PLACE'/><title type='text'>Alter In-Place</title><content type='html'>Alter In-Place é uma daquelas features que ninguém sabe que existe até no dia que é preciso fazer um alter table no Oracle ou Db2.&lt;br /&gt;&lt;br /&gt;Veja a tabela abaixo:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;create table tabela1&lt;br /&gt;( codigo integer,&lt;br /&gt;campo1 char(30)&lt;br /&gt;)&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Aqui neste ponto insermos 10GB de dados na Tabela!!!&lt;br /&gt;&lt;br /&gt;Agora por uma mudança na área de negócio a tabela irá receber mais uma coluna, porém ela será criada antes da coluna campo1.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;alter table tabela1&lt;br /&gt;add (novo_campo integer) before campo1;&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Quanto tempo o Informix demorou para adicionar uma coluna na tabela? 1 Segundo!!!&lt;br /&gt;&lt;br /&gt;Como isto é possivel magia negra? Não, pra quem é safo sabe que o Informix apenas fez o versionamento da estrutura da tabela, os dados antigos estão com a mesma estrutura, os novos inserts farão com que os dados sejam inseridos no novo lay-out.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Se é tão fácil assim porque no Oracle/Db2 tenho que recriar a tabela para fazer este tipo de alteração?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;É simples, nos outros RDBMS a estrutura da tabela é armazenada fisicamente no mesmo bloco com os dados, isto é bom se olharmos no caso de um crash onde a partition page seja destruida, os dados continuam no disco e é possivel extrair com as ferramentas de suporte avançado.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Então a estrutura do Informix é pior?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Claro que não, o produto foi projetado para operar com esforço reduzido de administração, com este tipo de feature é possivel criar appliances (soluções) onde não é necessário intervenção manual.&lt;br /&gt;&lt;br /&gt;Resumindo um bom Arquiteto de Soluções ou um bom Desenvolvedor pode criar soluções embutidas e espalhar sua solução por ai sem ter que se preocupar com o banco de dados.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Se eu escrevo solução embarcada porque não usar Mysql ou Postgress?&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Bom o Mysql acabou de ser adquirido pela Sun, o Postgress é questão de tempo até alguem adquirir, o sonho do open-source acabou, só é bom para o fornecedor que economizou milhões em pesquisa e desenvolvimento que foi feito pela comunidade open-source.&lt;br /&gt;&lt;br /&gt;Voltando ao comando alter table do Informix, existem três tipos de alter in-place:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Slow Alter&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Neste caso o Informix efetua o reorg da tabela inteira, caso a tabela seja muito grande pode-se correr o risco de long-transaction, um exemplo pode ser um alter table que altera o tipo de dados de uma coluna de varchar(20) para char(40).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;In-Place Alter&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Quando ocorre alteracao na estrutura da tabela e o Informix efetua o versionamento do layout, assim nao executando reorg da tabela.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Fast Alter&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;O fast alter ocorre quando:&lt;br /&gt;&lt;br /&gt;- ocorre alteracao do next extent size&lt;br /&gt;- uma constraint é criada ou dropada&lt;br /&gt;- o lock mode da tabela é alterado&lt;br /&gt;- um atributo da tabela é alterado para único.&lt;br /&gt;&lt;br /&gt;Como sempre quem quiser mais informações sobre alter in-place acesse:&lt;br /&gt;&lt;a href="http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp"&gt;http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O objetivo deste post foi por em cena uma feature bacana que muitas vezes ninguém nem sabe que existe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-5574911619522100407?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/5574911619522100407/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/04/alter-in-place.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/5574911619522100407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/5574911619522100407'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/04/alter-in-place.html' title='Alter In-Place'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-6194499958578710528</id><published>2009-03-27T18:44:00.000-07:00</published><updated>2009-03-27T19:22:46.001-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Shared Memory not Initialized'/><title type='text'>Shared Memory not Initialized</title><content type='html'>Algumas vezes me deparei com ambientes de produção onde o Informix não executava nenhuma comando administrativo no UNIX, ao rodar algum comando administrativo recebia a mensagem abaixo:&lt;br /&gt;&lt;br /&gt;shared memory not initialized for &lt;strong&gt;INFORMIXSERVER&lt;/strong&gt; 'demo_on'&lt;br /&gt;&lt;br /&gt;A primeira coisa que alguem diria é que a variavel &lt;strong&gt;INFORMIXSERVER&lt;/strong&gt; não está setada corretamente, isto também é verdade, porém após checar minha variável de ambiente constatei que o ambiente estava ok.&lt;br /&gt;&lt;br /&gt;Nestes casos algumas vezes o DBA preferiu efetuar um bounce na instância e o ambiente voltou ao normal, porém foi necessário entender o porque isto ocorreu, nenhum gestor gosta de ter este tipo de resolução de problema.&lt;br /&gt;&lt;br /&gt;Vamos a explicação do problema:&lt;br /&gt;&lt;br /&gt;Após o Informix inicializar a shared memory o mesmo cria um arquivo de configuraçao em $INFORMIXDIR/etc chamado infos.dbservername , onde dbservername é o nome da sua instância.&lt;br /&gt;&lt;br /&gt;Esse arquivo contém informações básicas para que alguns comandos administrativos (onstat, onmode, oncheck) possam fazr um attach na shared memory, sem esse arquivo não é possivel identificar a SHMKEY que foi gerada na inicialização.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Como vizualizar o arquivo de configuração?&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;ls -las $INFORMIXDIR/etc/.infos*&lt;br /&gt;&lt;br /&gt;Para visualizar o conteudo:&lt;br /&gt;&lt;br /&gt;onstat -g pos&lt;br /&gt;&lt;br /&gt;Agora vem o conhecimento perdido, e para recriar o arquivo sem ter que reinicializar a instancia?&lt;br /&gt;&lt;br /&gt;onmode -R&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Quando este arquivo é removido?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Ahhhh , buena pregunta!! Quando tem alguém alterando configuração de servicos (/etc/services) ou fazer limpeza no file-system para recuperar espaço livre.&lt;br /&gt;&lt;br /&gt;Caso você queira saber se realmente o problema é arquivo de configuração execute um trace no onstat:&lt;br /&gt;&lt;br /&gt;strace onstat -&lt;br /&gt;&lt;br /&gt;open("/opt/IBM/informix/etc/.&lt;strong&gt;infos.demo_on&lt;/strong&gt;", O_RDONLYO_LARGEFILE) = -1 ENOENT (No such file or directory)access("/opt/IBM/informix/msg/en_us/0333/olutil.iem", R_OK) = 0close(3) = 0&lt;br /&gt;&lt;br /&gt;No linux usamos o strace, em Aix costumo usar o truss, lembre-se de um post anterior que eu falei sobre alocação da shared memory, o IDS na inicialização faz o calculo da &lt;strong&gt;SHMKEY&lt;/strong&gt; através dò cálculo &lt;strong&gt;(SERVERNUM * 65536) + shmkey&lt;/strong&gt; , se o arquivo está lá é bom se a shared memory ainda está alocada , pode ser através do&lt;strong&gt; &lt;/strong&gt;comando &lt;strong&gt;ipcs&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Este post me faz lembrar dos anos de Telesp Celular, velhos e bons tempos, mais pra frente irei postar algo sobre conexões IPC Stream Pipe (rodando em Tru64 dava pra fazer magia negra).&lt;br /&gt;&lt;br /&gt;Hasta Luego!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-6194499958578710528?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/6194499958578710528/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/03/shared-memory-not-initialized.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/6194499958578710528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/6194499958578710528'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/03/shared-memory-not-initialized.html' title='Shared Memory not Initialized'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-6387480611008585480</id><published>2009-03-26T07:56:00.000-07:00</published><updated>2009-03-26T07:57:34.955-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFOSPHERE INFORMIX CHANGE DATA CAPTURE SOLIDDB'/><title type='text'>InfoSphere Change Data Capture</title><content type='html'>&lt;p&gt;Essa é a mais nova viagem para o DBA, essa feature veio após a aquisição da &lt;strong&gt;DataMirror&lt;/strong&gt; , para integra-la ao Informix foi necessário aplicar uma nova feature chamada &lt;em&gt;CDC (change data capture). &lt;/em&gt;&lt;/p&gt;&lt;p&gt;Através do CDC é possivel capturar os eventos registrados no log buffer e com isto definir alguma ações, do tipo replicar , transformar etc. &lt;/p&gt;&lt;p&gt;Lembram-se de &lt;strong&gt;SolidbDB&lt;/strong&gt;? &lt;/p&gt;&lt;p&gt;Então com o CDC podemos replicar informações do Informix para uma base &lt;strong&gt;SolidDb&lt;/strong&gt;, isto permite que o DBA distribua a informação em uma instância do tipo In-Memory e redirecione para este aplicações que requerem um response time muito rápido mesmo. &lt;/p&gt;&lt;p&gt;Para saber mais sobre &lt;strong&gt;InfoSphere Change Data Capture&lt;/strong&gt; leia este artigo direto no developer works :&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.ibm.com/developerworks/data/library/techarticle/dm-0902govindarajan/"&gt;http://www.ibm.com/developerworks/data/library/techarticle/dm-0902govindarajan/&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-6387480611008585480?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/6387480611008585480/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/03/infosphere-change-data-capture.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/6387480611008585480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/6387480611008585480'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/03/infosphere-change-data-capture.html' title='InfoSphere Change Data Capture'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-2511705528017127974</id><published>2009-03-13T14:54:00.000-07:00</published><updated>2009-03-20T03:13:04.535-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX IBM DATA SERVER CLIENT CCT DRDA MACH 11 HDR'/><title type='text'>IBM Data Server Common Client</title><content type='html'>Bom o que é o IBM Data Server Common Client?&lt;br /&gt;&lt;br /&gt;Resumindo é um client para se conectar a qualquer banco de dados IBM, como assim a IBM só tem o DB2!!&lt;br /&gt;&lt;br /&gt;Isto não é verdade, no decorrer dos anos a IBM desenvolveu e adquiriu diversas tecnologias de banco de dados, tais como: System R, IMS, DB2 Z/os, Db2 LUW, Informix Dynamic Server, Informix Extended Parallel Server, Universe , Unidata, Redbrick e outros mais.&lt;br /&gt;&lt;br /&gt;Para quem trabalha com DB2 é bom dar uma olhada neste artigo do Paulz:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/data/library/techarticle/dm-0804zikopoulos/"&gt;http://www.ibm.com/developerworks/data/library/techarticle/dm-0804zikopoulos/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Este client é mais conhecido como CCT ( Commom Client Technology), e realmente é muito produtivo para o desenvolvedor.&lt;br /&gt;&lt;br /&gt;Explico o porque: muitos desenvolvedores de ferramentas open-source precisam fazer acessos em banco de dados da IBM, sejam eles informix ou db2.&lt;br /&gt;&lt;br /&gt;Para trabalhar com as linguages PHP, Perl, Phyton era necessário configurar o cliente fazendo algumas compilações de biblioteca, era algo extremamente dificil, e não era suportado pela IBM.&lt;br /&gt;&lt;br /&gt;Agora com o CCT após a instalação do client já temos instalado as bibliotecas para linguagens open-source, e a melhor parte é que caso você tenha qualquer problema com o client você pode abrir um chamado.&lt;br /&gt;&lt;br /&gt;Estava de esquecendo do Informix, recentemente foi lancado o Informix Client SDK 3.50, com versão 64 bits, o produto está estável e o suporte para Windows 64 bits está Ok.&lt;br /&gt;&lt;br /&gt;Trabalhando com Informix 11.X + CCT podemos usar o client do Db2 (db2clp) para acessar a base e até mesmo usar o .Net Provider do Db2 para acessar o Informix.&lt;br /&gt;&lt;br /&gt;Quais o benefícios deste client?&lt;br /&gt;&lt;br /&gt;- Portabilidade&lt;br /&gt;- Suporte da IBM&lt;br /&gt;- Recursos adicionais&lt;br /&gt;&lt;br /&gt;Bata utilizar o CCT no Informix 11.X é necessário ativar um listener DRDA no Informix, desta forma o Informix estará ouvindo no formato DRDA.&lt;br /&gt;&lt;br /&gt;O que é DRDA?&lt;br /&gt;&lt;br /&gt;Significa Distibuted Relation Database Architecture, foi definido pelo Open Group como um padrão de interoperabilidade para banco de dados.&lt;br /&gt;&lt;br /&gt;Mais sobre o open group:&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/The_Open_Group"&gt;http://en.wikipedia.org/wiki/The_Open_Group&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Curiosidade:&lt;br /&gt;&lt;br /&gt;Em 1992 o opengroup definiu o padrão CLI (Call Level Interface) para as linguagens C e Cobol, porteriormente o padrão CLI foi utilizado como base para a criação do padrão ODBC.&lt;br /&gt;&lt;br /&gt;As informações que postei aqui são simples, porém são essencias para um desenvolvedor.&lt;br /&gt;&lt;br /&gt;Creio que pouca gente imagina que antes do CCT era necessário compilar um driver para que seu programa conect-se a um banco de dados.&lt;br /&gt;&lt;br /&gt;Essa dúvida sobre client surgiu numa conversa com meus amigos de Jundiai (terra da uva, do trabalho e da tecnologia), espero que tenha sido útil.&lt;br /&gt;&lt;br /&gt;Dúvidas? Somos nozes!! E só perguntar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-2511705528017127974?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/2511705528017127974/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/03/ibm-data-server-common-client.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/2511705528017127974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/2511705528017127974'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/03/ibm-data-server-common-client.html' title='IBM Data Server Common Client'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-2014148097205722642</id><published>2009-03-05T18:18:00.001-08:00</published><updated>2009-03-06T02:07:32.532-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX DIRECTIVES OPTIMIZER'/><title type='text'>INFORMIX: Otimizando Queries com Diretivas</title><content type='html'>Para quem não está acostumado com o termo "diretiva do otimizador" irei dar um breve descrição:&lt;br /&gt;&lt;br /&gt;- Um componente que faz a diferença em um RDBMS é otimizador de plano acesso de queries, este utiliza-se de cálculos baseados em custo ou regra.&lt;br /&gt;&lt;br /&gt;No caso do Informix desde a versão 7.X (1994?) o otimizador é baseada em custo, no Informix Online (1990?) lembro-me que não tinha histograma mas creio que já era baseado em custo, porque estou contando esta histórinha?&lt;br /&gt;&lt;br /&gt;Bom o Oracle passou a utilizar otimizador baseado em custo a partir da versão 10.X (2004?) , na versão 9.i o otimizador era hibrido o DBA escolhia: custo ou regra. (É mole!!?)&lt;br /&gt;&lt;br /&gt;Voltando a nossas diretivas, temos os seguintes tipos:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Diretivas de Métodos de Acesso&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;São diretivas que influenciam no caminho usado no plano de acesso, tais como acesso full, indexado etc.&lt;/p&gt;&lt;p&gt;Segue abaixo lista de diretivas:&lt;/p&gt;&lt;p&gt;FULL - Força um acesso sequencial na tabela&lt;/p&gt;&lt;p&gt;AVOID_FULL - Evita que seja executado um acesso sequencial na tabela&lt;/p&gt;&lt;p&gt;INDEX - Força a pesquisa no indice informado&lt;/p&gt;&lt;p&gt;AVOID_INDEX - Desconsidera o indice informado&lt;/p&gt;&lt;p&gt;INDEX_SJ - Força a auto-junção pelo indice informado&lt;/p&gt;&lt;p&gt;AVOID_INDEX_SJ - Evita a auto-junção através do índice informado.&lt;br /&gt;&lt;/p&gt;&lt;strong&gt;Diretivas de Métodos de Join&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;São diretivas que influenciam a forma como a junção entre as tabelas será feita, por exemplo ler tabela a e buscar ocorrência na tabela B (Nested Loop)&lt;/p&gt;&lt;p&gt;Segue abaixo lista de diretivas:&lt;/p&gt;&lt;p&gt;USE_NL &lt;/p&gt;&lt;p&gt;AVOID_NL &lt;/p&gt;&lt;p&gt;USE_HASH &lt;/p&gt;&lt;p&gt;USE_HASH (tabname) &lt;/p&gt;&lt;p&gt;USE_HASH (tabname/BUILD) &lt;/p&gt;&lt;p&gt;USE_HASH (tabname/PROBE AVOID_HASH&lt;br /&gt;&lt;/p&gt;&lt;strong&gt;Diretivas de Ordem&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Existe somente uma, indica que a ordem de acesso das tabelas na junção será de acordo com a ordem das tabelas na cláusula from do SQL.&lt;br /&gt;&lt;br /&gt;ORDERED&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Diretivas de Metas&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Estas definem o comportamento do otimizador em relação ao retorno do resultado da query.&lt;br /&gt;&lt;br /&gt;FIRST_ROWS - O retorno da query ocorre logo após a leitura das primeiras linhas, com isto é mais fácil interromper uma query quando vemos que a mesma não está rápida.&lt;br /&gt;&lt;br /&gt;ALL_ROWS - O retorno das primeiras linhas da query ocorre após a leitura de todas as linhas envolvidas na consulta.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Diretivas de Explain&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;No exemplo abaixo usamo uma diretiva para que o otimizador exiba ao output do plano de acesso no arquivo de explain.&lt;/p&gt;&lt;p&gt;&lt;em&gt;SELECT {+ EXPLAIN } *&lt;br /&gt;FROM Tabela1 a, Tabela2 b&lt;br /&gt;WHERE b.customer_num = a.customer_num &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;No exemplo abaixo usamo uma diretiva para que o otimizador exiba ao output do plano de acesso no arquivo de explain, porém a query não será executada, somente será criado o plano fe acesso.&lt;/p&gt;&lt;p&gt;SELECT {+ EXPLAIN AVOID_EXECUTE} ......&lt;/p&gt;&lt;strong&gt;Definindo Diretivas Externas&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Uma diretiva externa é aquela que pode ser armazenada dentro do banco de dados, imagine um ERP onde você não tenha acesso ao código fonte, e foi detectada uma query onde o plano de acesso não esta legal.&lt;br /&gt;&lt;br /&gt;Bom neste caso é possível armazenar esta query juntamente com as diretivas dentro de uma tabela de catálogo do Informix, sempre que este comando sql for parseado o engine irá aplicar as diretivas.&lt;br /&gt;&lt;br /&gt;Veja exemplo abaixo:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;save external directives {+ ORDERED USE_NL(u)} active for SELECT * FROM Tabela1 a, Tabela2 b WHERE b.cod_emp = a.cod_emp&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Para consultar as diretivas externas em catálogo:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;select * from sysmaster:sysdirectives&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Para desativar uma diretiva externa:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;UPDATE sysdirectives set active = 0 where id = ?&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Para excluir uma diretiva externa:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;DELETE from sysdirectives where id = 2&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Normalmente quando falamos do otimizador temos que falar de várias tópicos, pois o cálculo do custo está relacionado ao custo de I/O, Network, CPU e seletividade.&lt;br /&gt;&lt;br /&gt;Não quero entrar em update statistics mas vale lembrar que além de atualizar as estatisticas do catálogo e gerar os bins do histograma o mesmo tem mais funções, dentre elas varrer as páginas de índices que foram marcadas como excluídas e reenviar para a fila do B-Tree cleaner para que as mesmas sejam removidas.&lt;br /&gt;&lt;br /&gt;Eu já tinha ouvido algumas discussões sobre o assunto: Update Statistics reorganiza os índices? Não é bem assim, ele apenas remove entradas marcadas como excluídas dos índices.&lt;br /&gt;&lt;br /&gt;Por isto não esqueça de atualizar a estatisticas de suas tabelas e procedures, se você ainda não usa a versão 11.50 começa a pensar em usá-la, pois nesta versão a atualização de estatisticas é automática.&lt;br /&gt;&lt;br /&gt;Dúvidas? Pregutas? Questions? Askpuentes!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-2014148097205722642?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/2014148097205722642/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/03/informix-otimizando-queries-com.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/2014148097205722642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/2014148097205722642'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/03/informix-otimizando-queries-com.html' title='INFORMIX: Otimizando Queries com Diretivas'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-7398892479045154093</id><published>2009-03-03T16:47:00.001-08:00</published><updated>2009-03-05T19:12:47.950-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX DB2 TROUBLESHOOTING DIAGNOSTICS'/><title type='text'>Suportando Informix/DB2</title><content type='html'>Muitos vezes atuando em suporte/consultoria podemos encontrar 2 tipos de problemas:&lt;br /&gt;&lt;br /&gt;- Performance&lt;br /&gt;- Down System&lt;br /&gt;&lt;br /&gt;Vamos descrever mais sobre esses assuntos, mas lembrem-se vou dar o caminho das pedras, o how-to depende de cada um aplicar o conhecimento..&lt;br /&gt;&lt;br /&gt;Performance&lt;br /&gt;-------------&lt;br /&gt;No caso de performance a coisa pode estar tão ruim que não conseguimos executar nem um comando no prompt , muito menos uma query para acessar o catálogo.&lt;br /&gt;&lt;br /&gt;Nestes casos podemos utilizar o comando onstat (Informix) ou db2pd (db2), estes trabalham de uma forma diferente das outras ferramentas, através da funçao shmat se atacham a shared memory e executam leituras direta nas estruturas em memória.&lt;br /&gt;&lt;br /&gt;Imaginem um ambiente com multiplas instâncias, a qual segmento de memoria o comando irá atachar-se?&lt;br /&gt;&lt;br /&gt;Durante o startup da instancia o engine define uma chave (SHMKEY) para o segmento e atrav'es desta chave o onstat/db2pd podem fazer o attach na shared memory.&lt;br /&gt;&lt;br /&gt;Alias para saber qual o SHMKEY de cada segmento 'e so executar o comando IPCS (no caso em ambiente UNIX), e possivel relacionar o SHMID com a saida do comando onstat -g seg.&lt;br /&gt;&lt;br /&gt;Exemplos:&lt;br /&gt;&lt;br /&gt;No informix temos um comando para identificar a quantidade de comandos DML que foram submetidos em uma tabela:&lt;br /&gt;&lt;br /&gt;onstat -g ppf --&gt; (e necessario setar o parametro TBLSTATS 1)&lt;br /&gt;&lt;br /&gt;No db2 temos um comando com a mesma funcionalidade.&lt;br /&gt;&lt;br /&gt;db2pd -db dbname -tcbstats&lt;br /&gt;&lt;br /&gt;Down-System&lt;br /&gt;----------------&lt;br /&gt;&lt;br /&gt;Agora sabemos que e possivel acessar a shared memory diretamente atrav'es dos comandos onstat/db2pd, mas em caso de Down-System como faremos diagnostico se o engine nao passa pelo startup?&lt;br /&gt;&lt;br /&gt;Neste caso 'e necessario utilizar ferramentas com acesso direto ao disco, tais como oncheck (Informix) ou db2dart (Db2).&lt;br /&gt;&lt;br /&gt;Para executar o dump de uma pagina no Informix:&lt;br /&gt;oncheck -pP&lt;br /&gt;&lt;br /&gt;Para visualizar o conteudo de pagina reservada:&lt;br /&gt;oncheck -pr&lt;br /&gt;&lt;br /&gt;Para executar o dump de uma pagina no Db2:&lt;br /&gt;&lt;br /&gt;db2dart dbname /ddel&lt;br /&gt;&lt;br /&gt;Para DBAS Informix que queiram treinar db2dart este link vai dar uma ajuda:&lt;br /&gt;&lt;a href="http://www-01.ibm.com/support/docview.wss?rs=71&amp;amp;uid=swg21244563"&gt;http://www-01.ibm.com/support/docview.wss?rs=71&amp;amp;uid=swg21244563&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lembre-se que para usar db2dart com DB2_KEYDATACHECK em uma tabela com compressão é necessário aplicar o APAR IY87739&lt;br /&gt;&lt;a href="http://www-01.ibm.com/support/docview.wss?uid=swg1IY87739"&gt;http://www-01.ibm.com/support/docview.wss?uid=swg1IY87739&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Alias o que e DB2_KEYDATACHECK?? Lembram-se do CCFLAGS no Informix, bom isto e assunto pra outro post.&lt;br /&gt;&lt;br /&gt;Maiores informações sobre o db2pd estão no Information Center:&lt;a href="http://publib.boulder.ibm.com/infocenter/db2luw/v9//index.jsp"&gt;http://publib.boulder.ibm.com/infocenter/db2luw/v9//index.jsp&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-7398892479045154093?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/7398892479045154093/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/03/suportando-informixdb2.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/7398892479045154093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/7398892479045154093'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/03/suportando-informixdb2.html' title='Suportando Informix/DB2'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-4822564687640923252</id><published>2009-03-01T15:26:00.000-08:00</published><updated>2009-03-05T19:19:33.380-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX SQLIPRINT SQLIDEBUG TRACE'/><title type='text'>INFORMIX: Usando SQLIDEBUG/SQLIPRINT</title><content type='html'>Bom muitos ja sabem como fazer trace dos pacotes de rede do Informix, é só ativar a variável SQLIDEBUG conforme abaixo:&lt;br /&gt;&lt;br /&gt;export SQLIDEBUG=2:/tmp/sqli_files&lt;br /&gt;&lt;br /&gt;Caso voce defina este parâmetro antes de iniciar a instância todos os acessos ao banco irão gerar os arquivos de trace em /tmp com o nom dos arquivos iniciando com sqi_filesXXXX.&lt;br /&gt;&lt;br /&gt;Mas e ai? Gerei o trace como faço para interpretá-lo?&lt;br /&gt;&lt;br /&gt;Veja a nota oficial no site da IBM:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www-01.ibm.com/support/docview.wss?rs=630&amp;amp;context=SSGU8G&amp;amp;dc=DB520&amp;amp;uid=swg21104625&amp;amp;loc=en_US&amp;amp;cs=UTF-8&amp;amp;lang=en&amp;amp;rss=ct630db2"&gt;http://www-01.ibm.com/support/docview.wss?rs=630&amp;amp;context=SSGU8G&amp;amp;dc=DB520&amp;amp;uid=swg21104625&amp;amp;loc=en_US&amp;amp;cs=UTF-8&amp;amp;lang=en&amp;amp;rss=ct630db2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Para interpretar o trace é necessário utilizar um utilitário chamado SQLIPRINT, até há alguns anos este era somente de uso do suporte avançado , porém o mesmo está sendo distribuido com o Client SDK 2.90 a partir do release 2.90.XC4.&lt;br /&gt;&lt;br /&gt;Após a instalação do Informix 11.50+Client SDK você pode verificar se o SQLIPRINT está instalado.&lt;br /&gt;&lt;br /&gt;cd $INFORMIXDIR&lt;br /&gt;find . -name SQLIPRINT&lt;br /&gt;&lt;br /&gt;Afinal de contas, para que necessito de fazer trace do protocolo de comunicaçao do Informix?&lt;br /&gt;&lt;br /&gt;Bom, por vários razões, auto-estudo, troubleshooting ou questões de performance, neste caso você quer ajustar os parâmetros FET_BUF_SIZE, OPTMSG, OPTOFC, ou até mesmo ajustar os parâmetros de TCP/IP do sistema operacional.&lt;br /&gt;&lt;br /&gt;Onde conseguir mais informações sobre SQLIDEBUG?&lt;br /&gt;&lt;br /&gt;Existem algumas apresentações da Informix Conference 2008 postadas no IIUG (&lt;a href="http://www.iiug.org/"&gt;http://www.iiug.org/&lt;/a&gt;), na área de usuários registrados é possivel baixá-las.&lt;br /&gt;&lt;br /&gt;Lembre-se, o SQLIDEBUG é valido somente para conexoes Informix (SQLI), caso você esteja usando um listener DRDA com o IBM Data Server Client (DRDA) ai você deve usar as features do próprio client, mas isto vai ficar pendente para um post dedicado para DRDA.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-4822564687640923252?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/4822564687640923252/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/03/usando-sqlidebugsqliprint.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/4822564687640923252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/4822564687640923252'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/03/usando-sqlidebugsqliprint.html' title='INFORMIX: Usando SQLIDEBUG/SQLIPRINT'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-4305192135405074395</id><published>2009-02-24T18:36:00.000-08:00</published><updated>2009-03-05T19:19:00.469-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORACLE PATCHING DATA BLOCK LAYOUT'/><title type='text'>ORACLE: Patch de Blocos</title><content type='html'>Algums amigos ja me perguntaram porque no Informix existe ferramenta para fazer correcoes manuais diretamente no disco enquanto o engine esta off-line. Primeiramente esta tecnica se chama patch, o uso nao é comum, e algo muito reservado.&lt;br /&gt;&lt;br /&gt;Bom quer dizer que no Informix temos que corrigir as coisas manualmente? No Oracle e no Db2 isto nao existe?&lt;br /&gt;&lt;br /&gt;Nao e comum termos corrupcao no Informix!! No Oracle ou DB2 essa técnica também existe!!&lt;br /&gt;&lt;br /&gt;Por isto vou citar uma ferramenta que encontrei postada e disponível no site da Oracle. A ferramenta se chama BBED (Block Browse Editor)&lt;br /&gt;&lt;br /&gt;No link abaixo voce pode encontrar o PDF com o How-to, por isto nao irei colocar o passo a passo aqui no blog.&lt;br /&gt;&lt;a href="http://orafaq.com/papers/dissassembling_the_data_block.pdf"&gt;http://orafaq.com/papers/dissassembling_the_data_block.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Quais os cenários onde este recurso é necessario?&lt;br /&gt;&lt;br /&gt;Óbvio que ocorre quando sua empresa comeca a perder muito dinheiro, e a pressão sobe no suporte do fabricante.&lt;br /&gt;&lt;br /&gt;Imagine um banco de dados de DW com mais de 10TB, e o cliente passou o mes inteiro com problemas na solucao de backup, tiveram um crash de hardware apos aplicar um upgrade no software da SAN, não da pra restaurar o banco pois nao tem backup recente, mesmo se tivessem o impacto na área usuária seria muito grande.&lt;br /&gt;&lt;br /&gt;Possiveis cenários da corrupção?&lt;br /&gt;&lt;br /&gt;1o caso : Corrupcao de bitmap, as paginas bitmaps do extent definem o quando os blocos estao utilizados, em geral isto é igual em qualquer banco de dados, imaginem uma corrupcao em uma pagina bitmap em uma tabela com 4 tb , neste caso sera necessario varrer os blocos e verificar o percentual de espaco livre para recriar a pagina bitmap, uma alternativa seria recriar a pagina bitmap com os bits marcados como full e novos inserts irao ocorrer somente em novos blocos, e assim a vida continua.&lt;br /&gt;&lt;br /&gt;20 caso: Checksum inválido, em alguns bancos é gerado uma chave para consistência do bloco, esta é gravada no início e no final o bloco, caso essas chaves não possuam o mesmo valor o bloco é considerado inválido, o erro pode ter ocorrido no hardware e você queria continuar com o bloco do jeito que está e posteriormente você fará o reorg da tabela, neste caso apenas sincronize o checksum e a vida volta ao normal.&lt;br /&gt;&lt;br /&gt;Lembrem-se esse post é apenas informativo, para nerds incuráveis que gostam de saber como as coisas funcionam. Nunca faça laboratório em seu ambiente de produçao.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-4305192135405074395?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/4305192135405074395/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/02/patch-de-blocos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/4305192135405074395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/4305192135405074395'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/02/patch-de-blocos.html' title='ORACLE: Patch de Blocos'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-5661290063411895330</id><published>2009-02-22T18:21:00.000-08:00</published><updated>2009-03-05T19:19:16.756-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX ELASTIC COMPUTING CLOUD'/><title type='text'>INFORMIX: Amazon EC2</title><content type='html'>Voce ja ouviu falar sobre Elastic Computing ?&lt;br /&gt;&lt;br /&gt;Este e nome do servico de virtualizacao oferecido pela Amazon, sim ela mesma aquela empresa de vendas pela internet, agora estao vendendo a infra-estrutura deles, e possivel alugar servidores virtuais dentro desta infra.&lt;br /&gt;&lt;br /&gt;Veja no wikipedia mais informacoes sobre o Amazon EC2:&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud"&gt;http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Agora veja aqui alguns produtos compativeis com esta arquitetura:&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/downloads/im/ids/ec2.html"&gt;http://www.ibm.com/developerworks/downloads/im/ids/ec2.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gostou? Em breve irei postar algumas coisas sobre o Informix Mach 11 e Enterprise Replication.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-5661290063411895330?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/5661290063411895330/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/02/amazon-ec2.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/5661290063411895330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/5661290063411895330'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/02/amazon-ec2.html' title='INFORMIX: Amazon EC2'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4350149978198728408.post-6200911163342687056</id><published>2009-02-22T18:12:00.000-08:00</published><updated>2009-03-05T19:20:01.904-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='INFORMIX BLOG PORTUGUESE BRAZIL PORTUGUES BRASIL'/><title type='text'>ASKPONTES: Inicio</title><content type='html'>Em pleno feriado, coloquei as criancas pra dormir, e estou bolando um blog para falar sobre banco de dados Informix/Oracle.&lt;br /&gt;&lt;br /&gt;Durante muito tempo meus amigos dbas me perguntam sobre informacoes e ajuda sobre os mais diversos assuntos, mas nunca temos tempo entao vamos tentar expor essas informacoes por aqui.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4350149978198728408-6200911163342687056?l=askpontes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://askpontes.blogspot.com/feeds/6200911163342687056/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://askpontes.blogspot.com/2009/02/inicio.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/6200911163342687056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4350149978198728408/posts/default/6200911163342687056'/><link rel='alternate' type='text/html' href='http://askpontes.blogspot.com/2009/02/inicio.html' title='ASKPONTES: Inicio'/><author><name>Ask Pontes</name><uri>http://www.blogger.com/profile/17629906286038623053</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_c3v5o3sFMYo/SaIHdKa4tfI/AAAAAAAAAAM/P2_ZBF-Tf7w/S220/F1000022.JPG'/></author><thr:total>2</thr:total></entry></feed>
