tag:blogger.com,1999:blog-50467036976857792232024-03-05T05:10:54.151-08:00Juliano ClaitonJuliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.comBlogger39125tag:blogger.com,1999:blog-5046703697685779223.post-65370327536219508302016-05-20T12:23:00.000-07:002016-05-20T12:28:36.988-07:00Sucesso pessoal e finaceiroDefino como sucesso pessoal estar de bem consigo mesmo tanto mentalmente como financeiramente. Duas leituras fundamentais para ser grande: leia com calma e reflita com atenção sobre cada paragráfo: todos são importantes.<br />
<br />
<b>Os segredos da mente milionária, T. Harv Eker</b><br />
Você irá aprender a pensar positivo, para frente e transformar todos os seus medos, anseios e desejos em realidade financeira de sucesso. Tudo depende de você: começe hoje sua riqueza e crie hábitos saudáveis para seu sucesso financeiro.<br />
<br />
<b>Como fazer amigos e influenceiar pessoas, Dale Carnigie</b><br />
Você irá aprender a se tornar uma pressoa grandiosa e iluminada. E, com toda certeza, sua luz irá iluminar todos as pessoas e caminhos por onde andar. Influenciar pessoas será apenas um reflexo natural de sua luz.<br />
<br />
Guia:<br />
<ul>
<li>Gaste menos do que ganha;</li>
<li>Guarde um pouco do que sobra: não tem um número mágico, crie o hábito de guardar;</li>
<li>Crie o hábito de gerenciar o seu dinheiro e, com o tempo, aprenda sobre investimentos.</li>
</ul>
<br />
Não sei como fazer isso:<br />
<ul>
<li>Compre produtos ou utilize serviços de qualidade similar com preço menor;</li>
<li>Só compre aquilo que precisa. Não se deixe levar por promoções ou para querer se mostrar;</li>
<li>Tire o dinheiro de sua conta o mais rápido possível. Tem dinheiro na conta, carteira ou em qualquer outro lugar... dê um jeito de colocá-lo na sua conta de investimento e deixe somente aquilo que precisa;</li>
<li>Aprenda sobre investimentos para alanvancar seus rendimentos financeiros;</li>
<li>Invista em passivos: investimentos que rendem para você sem ter que trabalhar;</li>
<li>Seja equilibrado: guarde dinheiro e tempo para satisfações pessoais. Saiba conciliar investimentos com prazeres para levar uma vida saudável;</li>
<li>Seja maior do que seus problemas.</li>
</ul>
<br />
<b>O mar e o deserto são enormes e lindos, mas feitos de pequenas gotas de água e grãos de areia que construíram suas grandezas e amornia a longo prazo.</b><br />
<br />
<b>Pequenas ações diárias (hábitos) irão contruir seu sucesso pessoal e financeiro e o tornará tão grande e maravilhoso quanto eles.</b><br />
<i>(Juliano Claiton Silva)</i>Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-46034999493613108702015-11-17T08:44:00.001-08:002015-11-17T08:44:23.703-08:00Websphere MQ Client, rc=2058 rc=MQRC_Q_MGR_NAME_ERROR<b>Troubleshooting aplicações que utilizam o MQ Client.</b><br />
<br />
Vamos analisar o rc=2058, MQRC_Q_MGR_NAME_ERROR, visto nos logs de uma aplicação que se conecta via MQ Client.<br />
<br />
Resumidamente, habilitamos o trace no MQ Client: strmqtrc -e -t all -t detail -l 100<br />
<br />
Nos traces foi possível identificar que a aplicação não estava enviando as informações de conectividade com o MQ, através da liinha no trace destacada abaixo.<br /><br />
<ul>
<li>000E9C96 09:32:04.816994 26884.2 RSESS:001381 --------{ xcsWaitThreadEvent </li>
</ul>
<ul>
<li>000E9C9B 09:32:04.826892 26884.182 : Constructing IBM.WMQ.MQQueueManager#0294AD3E MQMBID sn=p750-005-150424 su=_cGGLkOp9EeSJoq1UhPFS6Q pn=lib/dotnet/pc/winnt/baseclasses/MQManagedObject.cs</li>
</ul>
<ul>
<li> 000E9C9C 09:32:04.826924 26884.182 : Constructing IBM.WMQ.MQQueueManager#0294AD3E MQMBID sn=p750-005-150424 su=_cGGLkOp9EeSJoq1UhPFS6Q pn=lib/dotnet/pc/winnt/baseclasses/MQQueueManager.cs</li>
</ul>
<ul>
<li> 000E9C9D 09:32:04.826939 26884.182 : --{ MQQueueManager.Connect()</li>
</ul>
<ul>
<li> 000E9C9E 09:32:04.826950 26884.182 : SCCSID: '@(#) MQMBID sn=p750-005-150424 su=_cGGLkOp9EeSJoq1UhPFS6Q pn=lib/dotnet/pc/winnt/baseclasses/MQQueueManager.cs'</li>
</ul>
<ul>
<li> 000E9C9F 09:32:04.826965 26884.182 : MQQueueManager.IsConnected False HConn: (null)</li>
</ul>
<ul>
<li> 000E9CA0 09:32:04.826979 26884.182 : <b>ConnectOptions: QMgr = '', ConnName = '', Channel = ''</b></li>
</ul>
<br />
Por isso ocorreu o reason code 2058<ul>
<li>000EA05F 09:32:04.845598 26884.182 : IBM.WMQ.MQQueueManager#0294AD3E throwing MQException: cc=2 <b>rc=2058</b></li>
</ul>
<ul>
<li> 000EA060 09:32:04.845617 26884.182 : New MQException CompCode: 2 Reason: 2058</li>
</ul>
<ul>
<li> 000EA061 09:32:04.845677 26884.182 : --}! MQQueueManager.Connect() (<b>rc=MQRC_Q_MGR_NAME_ERROR</b>)</li>
</ul>
<br />
Para uma conectividade normal com o MQ, os dados de conectividade irão aparecer como abaixo:<br />
<ul>
<li> 00001545 16:35:21.486811 36520.8 : ConnectOptions: QMgr = '<b>Nome-Queue-Manager</b>', ConnName = '', Channel = ''</li>
</ul>
<ul>
<li>00001546 16:35:21.486843 36520.8 : Connection Name: <b>Ip-MQ-Server(Porta-MQ-Server)</b></li>
</ul>
<ul>
<li>00001547 16:35:21.486861 36520.8 : Channel: <b>Nome-do-canal</b></li>
</ul>
<br />
Com isso, vimos como analisar o trace e identificar uma falha de conexão de aplicações que se conectam diretamente no MQ Server via MQ Client..<br />
Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-56181598942884227392015-07-21T12:54:00.002-07:002015-07-21T12:54:53.416-07:00WebSphere MQ - Troubleshhoting MQ Server - Activity traceExistem várias situações que precisamos habilitar trace para troubleshooting.</br></br>
O trace padrão do MQ pode ser habilitado via comando:</br>
strmqtrc -e -t all -t detail -l 100</br></br>
Para desabilitar o trace:</br>
endmqtrc -a</br></br>
Os traces serão gerados no diretório padrão [../qmgrs/nome_queue_manager/trace] no formato AMQ...</br></br>
Há casos onde precisamos de informações mais detalhadas de todas as atividades realizadas no MQ (Activity trace).</br>
Podemos, por exemplo, obter o conteúdo de todas as mensagens e o correlation id das mesmas para troubleshooting envolvendo o Message Broker. Para isso:</br></br>
1. Editar o arquivo de Activity trace, [../qmgrs/nome_queue_manager/mqat.ini].</br>
Exemplo de valores: TraceLevel=HIGH, TraceMessageData=100, StopOnGetTraceMsg=OFF</br></br>
2. Habilitar Activity trace: via MQ Explorer clique com o botão direito em cima do Queue Manager > Online monitoring > Activity trace > ON. Ou, via comando ALTER QMGR ACTVTRC(ON).</br></br>
3. Efetuar as operações desejadas no MQ Server</br></br>
4. Desabilitar o Activity trace</br></br>
5. Visualizar os traces: /usr/mqm/samp/bin/amqsact -m nome_queue_manager -v > saida.txt</br></br>
6. Visualizar o conteúdo do arquivo saida.txt</br></br>
Vale ressaltar que Activity trace tem um grande peso sobre a performance do ambiente. Só habilite em momentos de troubleshooting e de modo controlado.</br></br>
Link de referência: http://www.ibm.com/developerworks/websphere/library/techarticles/1306_bushby/1306_bushby.html
Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-65692170241615637202015-07-15T13:38:00.000-07:002015-08-10T12:51:59.465-07:00WebSphere MQ - Troubleshhoting MQ ClientEm alguns casos há falha de conectividade entre as aplicações que utilizam MQ Client e o MQ Server como, por exemplo, reason code 2539 [RC2539): MQRC_CHANNEL_CONFIG_ERROR]<br /><br />
Através do MQ Client podemos testar a conectividade com o MQ Server através dos próprios utilitários do MQ, normalmente localizado em "c:\program files (x86)\ibm\websphere mq\tools\c\samples\bin", utilizando os comandos abaixo.<br /><br />
1. Validar a conexão entre o MQ Client e MQ Server<br />
amqscnxc.exe -x nome_do_servidor -c nome_do_canal nome_do_queue_manager<br /><br />
Exemplo: amqscnxc.exe -x servidor01 -c canal01 QM01<br />
Nesse caso, será possível validar se realmente há um problema de conectividade entre o MQ Client e o MQ Server ou se há algum erro vindo da aplicação.<br />
Em algumas situações, foi possível ver que o nome do servidor está configurado incorretamente na aplicação.<br /><br />
2. Inserir uma mensagem na fila<br />
set MQSERVER=nome_do_canal/TCP/nome_do_servidor(1414)<br />
amqsputc nome_da_fila nome_do_queue_manager<br /><br />
Exemplo:<br />
set MQSERVER=SYSTEM.DEF.SVRCONN/TCP/servidor01(1414)<br />
amqsput fila01 QM01<br />
Nesse caso, será possível validar se há algum problema para inserir uma mensagen na fila.<br />
Em algumas situações, foi possível identificar que o usuário utilizado na aplicação não tem permissão para inserir mensagem na fila. Quando isso ocorre, é possível identificar com precisão a falta de permissão no MQ Server no arquivos "../errors/AMQERR01.LOG"<br /><br />
3. Habilitar traces<br />
Em situações mais complexas pode ser necessário habilitar trace e reproduzir o problema para análise ou mesmo encaminhar traces para o Fornecedor (IBM).
Os traces ficam gravados no diretório "..\websphere mq\trace" do MQ Client.<br /><br />
- Habilitar trace no MQ Client<br />
strmqtrc -e -t all -t detail -l 100<br /><br />
- Desabilitar trace no MQ Client<br />
endmqtrc -a<br /><br />
4. Verificar lentidão<br />
E alguns casos pode ser percebdio lentidão de conexão entre o MQ Client e o MQ Server. Uma das causas é IPv6 lookup.<br />
Links de referência: http://www-01.ibm.com/support/docview.wss?uid=swg21306138 e http://www-01.ibm.com/support/docview.wss?uid=swg21515397<br />
Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-34461860092506068202012-03-23T13:48:00.000-07:002012-03-23T13:48:17.739-07:00Vmware Sistema Operacional 64-bitsPara trabalhar com vmware que tenha Sistema Operacional 64-bits como, por exemplo, Windows 2008 R2 64bits é necessário habilitar um recurso adicional na sua máquina.<br />
<br />
Esse recurso é chamado VT (Virtualization Technology) e é habilitado na BIOS do computador.<br />
<br />
Para isso, reinicie o Computador e fique pressionando F2. Vá na aba "Configuration" e troque essa propriedade para "enabled".<br />
<br />
Quando você tenta iniciar a vmware sem esse recurso irá obter a mensagem "Continue without 64-bit support?". Se você continuar, a vmware ficará em loop eterno com a mensagem "Windows is loading files".<br />
<br />
A própria vmware disponibiliza um aplicativo chamado "Processor Check for 64-Bit Compatibility" para verificar se sua máquina é compatível com vms 64-bits.<br />
Link de referência: http://downloads.vmware.com/d/details/processor_check_5_5_dt/dCpiQGhkYmRAZQ==Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com2tag:blogger.com,1999:blog-5046703697685779223.post-51625314399538073682011-09-02T11:49:00.000-07:002011-09-02T11:49:00.797-07:00sqlcode=-803 - IBM WebSphere Process ServerOutro dia verifiquei sqlcode=-803 nos logs do ambiente do Process Server.<br />
<br />
A solução é utilizar o rippleStart no Cluster do Process ao invés do Start normal. Isso, porque há concorrência dos Application Servers com o Banco de Dados quando utilizamos o start. Com o rippleStart isso não ocorre porque cada Application Server é iniciado em sequencia.<br />
<br />
Rastreamento do problema:<br />
<br />
1. Verifiquei que o código -803 está relacionado com comandos DDL no Banco de Dados.<br />
http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z9.doc.codes%2Fsrc%2Ftpc%2Fn803.htm<br />
<br />
2. Em seguida, procurei por erros relacionados ao código -803 no ambiente do Process e obtive o seguinte report:<br />
http://www-01.ibm.com/support/docview.wss?uid=swg21474394<br />
<br />
3. Verifiquei documentação sobre o rippleStart<br />
http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/index.jsp?topic=/com.ibm.websphere.wps.doc/doc/tadm_start_cluster.html<br />
<br />
4. O ambiente está automatizado para utilizar jython ao parar e iniciar o ambiente WebSphere BPM. Então tive a pequena curiosidade de ver as diferenças entre jacl e jython<br />
http://en.wikipedia.org/wiki/wsadmin<br />
<br />
5. Como iniciar um Cluster via jacl ou jython<br />
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.nd.doc%2Finfo%2Fae%2Fae%2Ftxml_startcluster.html<br />
<br />
Uma segunda documentação sobre ripplestart em jacl e jython<br />
http://www-01.ibm.com/support/docview.wss?uid=swg1PK11560<br />
<br />
Uma terceira documentação muito boa sobre ripplestart em jacl (script pronto)<br />
http://www.webspheretools.com/sites/webspheretools.nsf/docs/Ripple%20Start%20cluster%20in%20WebSphere%20using%20JACL<br />
<br />
Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-6550205823705518872011-08-31T07:53:00.000-07:002011-08-31T09:22:30.936-07:00Como visualizar conexões JDBC no WebSphere Application ServerNa versão 7 do WebSphere Application Server (WAS) existe a ferramenta Tivoli Performance Viewer nativa.<br />
<br />
Para entrar na Ferramenta faça login no Console Administrativo e vá em Monitoring and Tuning > Performance Viewer > Current activity e selecione o Application Server desejado.<br />
<br />
Após selecionar o Application Server, vá em Performance Modules > JDBC Connection Pools > DB2 Universal JDBC Driver Provider (XA) e selecione o jdbc desejado.<br />
. No meu caso, estamos utilizando conexão com o DB2<br />
<br />
Selecione as propriedades<br />
. CreateCount: quantidade de conexões que foram abertas no Banco de Dados<br />
. CloseCount: quantidade de conexões fechadas<br />
. PoolSize: quantidade de conexões correntemente abertas<br />
<br />
Em outras palavras, o PoolSize indica quantas conexões estão abertas no momento.<br />
Para visualizar a quantidade total de conexões JDBC abertas no Banco de Dados, será necessário somar os valores do PoolSize de cada Application Server.<br />
<br />
Com o Performance Viewer é possível iniciar log (através do botão "Start Logging") e salvar esses valores para visualização futura. Os arquivos são salvos em formato xml e compactado com formato zip após clicar em "Stop Logging" - no diretório ".../logs/tpv"<br />
<br />
No Console Administrativo vá em Monitoring and Tuning > Performance Viewer > View logs e selecione o arquivo desejado (formato zip dito no parágrafo anterior) para visualizar os logs.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAltL3aPpRkfojwjZWTo8LhzF0sg52CKlgoDF30U2zslcORF20zslqu_HxKwkR-9vC9ikqJZBwGYzuqKa6N9SwVkduiEQURs6muR36rhIsi5RgcgW4QRXwQlzQ_W_D0KxVn4biAK3uzpCO/s1600/performance-viewer.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="175" width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAltL3aPpRkfojwjZWTo8LhzF0sg52CKlgoDF30U2zslcORF20zslqu_HxKwkR-9vC9ikqJZBwGYzuqKa6N9SwVkduiEQURs6muR36rhIsi5RgcgW4QRXwQlzQ_W_D0KxVn4biAK3uzpCO/s320/performance-viewer.jpg" /></a></div><br />
Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-51271234761253541442011-08-22T12:17:00.000-07:002011-08-22T12:17:07.166-07:00Segurança (autenticação) no WebSphere Application ServerDica para habilitar Segurança no WAS (WebSphere Application Server) quando há vários nós e Applications Servers.<br />
<br />
1. Pare todos os Applications Servers<br />
2. Pare todos os nós (nodeagents)<br />
Portanto, deixe somente o dmgr (Deployment Manager) iniciado<br />
3. Aplique a segurança desejada<br />
4. Reinicie o dmgr e verifique se está tudo Ok<br />
5. Faça o syncnode para cada nó. Nesse momento (após a segurança habilitada) o was irá solicitar usuário/senha para autenticar no dmgr<br />
<br />
Faça isso para cada nó e depois inicie os Applications Servers.<br />
<br />
Em outras palavras, habilite a segurança somente o dmgr iniciado.Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-25319853133784697082011-07-01T07:45:00.000-07:002011-07-01T07:45:30.904-07:00Nome distinto na busca de usuários do Windows - ADEm algumas situações desejamos visualizar o nome distinto do usuário no AD. Exemplo:<br />
CN=Juliano Claiton,OU=Administradores,OU=XPTO,DC=BR,DC=COM,DC=BR<br />
<br />
O "Procurar" padrão do Windows não exibe essa coluna e não permitir selecionar-mos as colunas desejadas.<br />
Para isso podemos utilizar o seguinte comando:<br />
<br />
%windir%\system32\rundll32.exe dsquery,OpenQueryWindow<br />
<br />
Então, encontre o usuário desejado --> clique Exibir, Escolher Colunas --> Selecione a coluna "Nome Distinto".Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-48982727282104066952011-05-13T10:53:00.000-07:002011-05-13T10:55:20.421-07:00Lotus Notes Client Portable - USBPara ter o Lotus Notes Portable, basta executar a instalação do Client Notes do seguinte modo:<br />
<br />
<ul><li>lotus_notes852_basic_win_en.exe /a /a /v"NOMAD=1 TARGETDIR=E:\Lotus-8.5.2 /qb+"</li>
</ul><br />
Onde:<br />
<ul><li>lotus_notes852_basic_win_en.exe: excutável do Lotus Notes. Nesse caso é o IBM Lotus Notes Client 8.5.2 em Inglês para Windows</li>
</ul><ul><li>E:\Lotus-8.5.2: é o diretório onde se deseja instalar o Lotus Notes. "E:\" é o drive onde o pen-drive está mapeado.</li>
</ul>Depois da instalação, copie suas bases (arquivos .nsf) e os arquivos de autenticação (arquivos .id) para o pen-drive e visualize seus emails, por exemplo, de qualquer computador. <br />
<ul></ul>Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-40760964219762068372011-05-11T06:50:00.000-07:002011-05-11T06:55:06.604-07:00Componente de Menu não renderiza link - BWCM_URL%20path=Construímos uma Intranet no IBM Workplace Web Content Management (WCM) e criamos um componente de Menu para fazer a "rolagem" de notícias.<br />
<br />
O preview do Menu exibiu as notícias como desejado e o preview do Modelo de Apresentação (Presentation Template) também exibiu corretamente.<br />
<br />
Entretanto, ao colocar essa visualização em uma página do Portal, o componente de Menu não estava renderizando os links para as URLs das notícias. Sempre aparecia "BWCM_URL%20path=" no final do link. O caminho para o conteúdo estava vazio.<br />
<br />
Isso acontece porque estamos utilizando o "JSR 286 Content Web Viewer". Existem alguma limitações sobre essse Portlet do WebSphere Portal. É necessário trocar a tag placeholder tag="href" por placeholder tag="href" end="&isPopup=false".<br />
<br />
Em outras palavras, deve ser acrescentada a tag end="&isPopup=false" no Placeholder - no componente de Menu.<br />
<br />
Link de Referência: http://www-10.lotus.com/ldd/portalwiki.nsf/dx/wcm-jsr-286-portlet-tips-issues-and-limitationsJuliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-61479564449524366012011-04-12T07:34:00.001-07:002011-04-12T07:47:01.135-07:00Configurando sessão persistente de usuário no WebSphere PortalPara configurar sessão persistenten de usuário no IBM WebSphere Portal como, por exemplo, os estados "Normal, minimized, maximized" dos Portlets, devem ser realizados os passos abaixo.<br /><br />Entrar no Console Administrativo do Portal, em "Resources --> Resource Enviroment --> Resource Enviroment Providers --> WP ConfigService --> Custom Properties"<br />Acrescenstar as variáveis<br /><ul><li>persistent.session.option, valor igual a 1 (String)<br /></li><li>persistent.session.level, valor igual a 2 (String)<br /></li></ul>Reiniciar o ambiente ou utilizar o seguinte comando:<br />./ConfigEngine.sh -DWasUserid=userid -DWasPassword=password update-properties<br /><br />Link de Referência<br />http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1/index.jsp?topic=/com.ibm.wp.ent.doc_v615/welcome_main.htmlJuliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-56168065595851193202011-04-08T06:13:00.000-07:002011-04-12T07:49:47.829-07:00Webservice client - RAD / WID - CoreExceptionApós criar um projeto Client para teste de webservice no WID (WebSphere Integration Developer) ocorreu o seguinte erro:<br /><br /><ul><li>java.lang.NoClassDefFoundError: org.eclipse.core.runtime.CoreException</li></ul><br />Para corrigir esse erro é necessário acrescentar a biblioteca "com.ibm.ws.webservices.thinclient_6.1.0.jar" no "build path" do projeto.<br /><br />A biblioteca fica localizada no diretório "wid_home/runtimes/base_v61/runtimes", por exemplo. Ou "rad_home" para o Rational Application Developer.<br /><br />Link de referência:<br />http://www-01.ibm.com/support/docview.wss?uid=swg21272643Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-16476830672139099762010-10-27T05:49:00.000-07:002010-10-27T06:24:50.234-07:00Como mudar (trocar) o nome da máquina e manter o Sql Server 2000 funcionandoNa última semana realizamos alteração do nome de um servidor Sql Server e os Jobs do Sql Server Agent pararam de funcionar.<br />Tentamos excluir os Jobs e ocorreu a mensagem abaixo.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZFzszdZTt_sy-xYYjCqPmFTht7H_2-NnsRR2teCV2rMGOVRkdeSP7vPbEiyKMdLlW8hUegCgm68M0ml_4VGQfylfInJC9ZLsYLTAosOWmsmIaqK_-ZfjZ98dge8cDPnFfK0giwy8wiVYd/s1600/error_14274.jpg"><img style="cursor: pointer; width: 320px; height: 62px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZFzszdZTt_sy-xYYjCqPmFTht7H_2-NnsRR2teCV2rMGOVRkdeSP7vPbEiyKMdLlW8hUegCgm68M0ml_4VGQfylfInJC9ZLsYLTAosOWmsmIaqK_-ZfjZ98dge8cDPnFfK0giwy8wiVYd/s320/error_14274.jpg" alt="" id="BLOGGER_PHOTO_ID_5532715625510921026" border="0" /></a><br /><br />Realizamos 2 alterações para que o serviço tivesse seu funcionamento normalizado:<br />1. Atualizamos nome do Servidor<br /><blockquote>SELECT @@servername<br />sp_dropserver <'name_returned'><br />sp_addserver <'correct_servername'>, 'local'<br /></blockquote><br />2. Atualizamos o valor do campo "originating_server" da tabela de jobs<br /><blockquote>USE msdb<br />GO<br />DECLARE @server sysname<br />SET @server = CAST(SERVERPROPERTY('ServerName')AS sysname)<br />UPDATE sysjobs<br />SET originating_server = @server<br />WHERE originating_server = 'wrong_servername'</blockquote><br />Após atualizar as configurações do Sql Server foi possível excluir os Jobs que não mais desejados<br /><br />Link de referência:<br />http://blog.sqlauthority.com/2006/12/20/sql-server-fix-error-14274-cannot-add-update-or-delete-a-job-or-its-steps-or-schedules-that-originated-from-an-msx-server-the-job-was-not-saved/Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-27863920205134369542010-10-25T10:08:00.000-07:002010-10-25T10:13:57.284-07:00Como importar tabelas para uma tablespace diferente no OracleNo nosso exemplo iremos mover as tabelas do usuario01 para o usuario02<br /><br />Usuários<br /><blockquote>usuario01/senha00<br />usuario02/senha00<br />system/senha01<br /></blockquote><br />Tablespaces<br /><blockquote>tsd_usuario02.dbf: tablespace de dados para o usuário02<br />tsi_usuario02.dbf: tablespace de indíces para o usuário02</blockquote><br /><br />O modo mais comum para mover as tablespace é utilizar o comando "move tablespace" após utilizar os campos "exp" e "imp"<br />Exemplo: select 'alter table usuario02.' || table_name || ' move tablespace tsd_usuario02;' from user_tables<br /><br />Quando há campos do tipo blob nas tabelas, também é necessário utilizado o comando "move lob".<br />Exemplo: select 'alter table usuario02.' || table_name || ' move lob (' || column_name || ') store as (tablespace tsd_usuario02);' from dba_lobs where owner = 'USUARIO02'<br /><br />No nosso caso, temos na mesma tabela campos do tipo "blob" e "long raw" que impossilita o uso do comando "move lob".<br />Para esse caso fixemos os seguintes passos:<br /><blockquote>1. Exportamos o script de criação das tabelas do usuario01<br />2. Alteramos o script para comportar as tablespaces do usuario02<br />3. Criamos o usuario02<br />4. Desabilitamos as constraints do usuario02<br />5. Importarmos os dados do usuario01 para o usuario02<br />6. Habilitamos as constraints do usuario02<br />7. Atualizamos os indíces<br />8. Atualizamos as estatísticas</blockquote><br /><br />Abaixo temos os passos realizados<br /><blockquote> exp userid=usuario01/senha00 full=y file=usuario01.dmp grants=y<br /> imp fromuser=usuario01 file=usuario01.dmp indexfile=qtiusuario02.sql touser=qtiusuario02 (system/senha01)<br /> . retirar os marcardos REM<br /> . alterar as tablespaces para usuario02 (tsi_qti)<br /> . retirar comentarios "... x rows"<br /><br /> sqlplus (system/senha01)<br /> create tablespace tsdqtiusuario02 datafile 'd:\oraclexe\oradata\tsd_usuario02.dbf' size 100m autoextend on next 50m;<br /><br /> create tablespace tsiqtiusuario02 datafile 'd:\oraclexe\oradata\tsi_usuario02.dbf' size 50m autoextend on next 50m;<br /><br /> create user qtiusuario02 identified by senha00 default tablespace tsdqtiusuario02 temporary tablespace temp;<br /><br /> grant connect, resource to qtiusuario02;<br /><br /> @qtiusuario02.sql; (senha00)<br /><br /> select 'alter table ' || owner || '.' || table_name || ' disable constraint ' || constraint_name || ';' from user_constraints<br /> --> executar o resultado do comando (qtiusuario02.disableconstraints.sql): @qtiusuario02.disableconstraints.sql;<br /> exit<br /><br /> imp fromuser=usuario01 file=usuario01.dmp touser=qtiusuario02 ignore=y (system/senha01)<br /><br /> sqlplus (system/senha01)<br /> select 'alter table ' || owner || '.' || table_name || ' enable constraint ' || constraint_name || ';' from user_constraints<br /> --> executar o resultado do comando (qtiusuario02.enableconstraints.sql): @qtiusuario02.enableconstraints.sql;<br /><br /> select 'alter index qtiusuario02.' || index_name || ' rebuild tablespace tsiqtiusuario02;' from user_indexes where index_type = 'NORMAL'<br /> --> executar o resultado desse comando<br /><br /> select 'analyze table qtiusuario02.' || table_name || ' compute statistics;' from user_tables<br /> --> executar o resultado desse comando</blockquote>Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-30161846044870864882010-10-22T09:07:00.000-07:002010-10-22T09:21:57.475-07:00css hover no IE6É sabido que hover não funciona no IE6.<br />Sua funcionalidade foi implementada somente do IE7 para frente.<br /><br />Temos um Menu dropdown feito em CSS, utilizando o hover.<br />Claro, não funcionou no IE6.<br /><br />Estudamos soluções javascript pura, csshover3.htc, jquery e falhou em todas elas.<br />A solução que melhor atendeu nossa demanda foi o projeto ie7-js, hoje hosteado pelo google.<br /><br />Basta colocar o código abaixo dentro do head e o Browser irá se comportar como o IE7:<br /><br /><!--[if lt IE 7]><br /><script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE7.js"></script><br /><![endif]--><br /><br /><br />Link de referência:<br />http://code.google.com/p/ie7-js/Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com1tag:blogger.com,1999:blog-5046703697685779223.post-54657671685732836022010-10-15T11:47:00.000-07:002010-10-15T11:54:14.459-07:00Como mudar (trocar) o nome da máquina e manter o Oracle 10g funcionandoNa última semana realizamos alteração do nome de um servidor Oracle e o serviço TSN Listener (OracleXETNSListener) parou de funcionar.<br /><br />Realizamos 2 alterações para que o serviço tivesse seu funcionamento normalizado: atualizamos os arquivos "tnsnames.ora" e "listener.ora" com o novo novo do servidor.<br />Em seguida, reiniciamos os serviços OracleServiceXE e OracleXETNSListener;<br /><br />No nosso caso, utilizamos o Oracle XE e os arquivos relacionados ficam no diretório "D:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN"<br /><br />Link de referência:<br />http://geekswithblogs.net/svanvliet/archive/2007/04/03/how-to-change-windows-hostname-and-keep-oracle-10g-running.aspxJuliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com1tag:blogger.com,1999:blog-5046703697685779223.post-61811182149552872502010-10-15T11:01:00.000-07:002010-10-15T11:57:16.125-07:00Como gerenciar profiles no IBM Websphere Application ServerIBM WebSphere Application Server 7 (WAS 7): manageprofiles.sh<br />O utilitário manageprofiles.sh é utilizado para gerenciar profiles. Entre seus aspectos, podemos excluir um profile.<br /><br />Listar os profiles existentes:<br /><was_root>/bin/manageprofiles.sh -listProfiles<br /><br />Excluir um profile: nesse exemplo, o nome do profile é "appsrv01"<br /><was_root>/bin/manageprofiles.sh -delete -profileName appsrv01<br />Em seguida, foi excluído fisicamente o diretório do profile "appsrv01".<br /><br /><br />Site de referência:<br />http://www.webspheretools.com/sites/webspheretools.nsf/docs/Delete%20a%20profile%20using%20manageprofiles.sh%20in%20WebSphere%207%20on%20centos5Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-58504045822113196512010-10-15T07:34:00.000-07:002010-10-15T07:51:35.929-07:00ADMIN_CMD DB2 - Comandos CLPComandos como export, import, load, ... são chamados comandos CLP (Command Line Processor) e não podem ser executados diretamente por uma aplicação cliente via ODBC ou JDBC como fazemos com comandos SQL (select, insert, update, ...)<br /> Para executar os comandos CLP existe uma procedure chamada "admin_cmd" utilizada para esse propósito.<br /><br /> Pequeno exemplo Java para chamada dessa procedure:<br /> Nesse exemplo temos a tabela "banco01.area" no servidor "servidor01"<br /><br /> Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();<br /> con = DriverManager.getConnection("jdbc:db2://servidor01:50000/" + "banco01", "usuario", "senha");<br /> String sql = "CALL SYSPROC.ADMIN_CMD(?)";<br /> proc_stmt = con.prepareCall(sql);<br /> String param = "export to c:\\temp\\area4.txt of del messages on server select * from area";<br /> proc_stmt.setString(1, param);<br /> <br /> rs = proc_stmt.executeQuery();<br /> if (rs.next()) {<br /> System.out.println("Total number of rows exported : " + rs.getString(1));<br /> System.out.println("SQL for retrieving the messages: " + rs.getString(2));<br /> System.out.println("SQL for removing the messages : " + rs.getString(3));<br /> <br /> System.out.println(" ");<br /> proc_stmt_msg = con.prepareCall(rs.getString(2));<br /> rs_msg = proc_stmt_msg.executeQuery();<br /> while (rs_msg.next()) {<br /> System.out.println(rs_msg.getString(1) + rs_msg.getString(2));<br /> }<br /> proc_stmt_msg.close();<br /> rs_msg.close();<br /> }<br /> <br /> proc_stmt.close();<br /> rs.close();<br /> con.close();<br /><br /> Link de referência:<br /> http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.apdv.sample.doc/doc/java_jdbc/s-AdmCmdImport-java.htmJuliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-5778271041663045242010-09-28T10:55:00.000-07:002010-09-28T11:06:54.855-07:00Como instalar o nmon no LinuxPara quem não conhece o nmon é um excelente utilitário de monitação no Linux.<br />Referência: http://nmon.sourceforge.net/pmwiki.php<br /><br />A sua instalação é simples<br />1. Faça o download da versão compatível com o seu Linux<br />http://nmon.sourceforge.net/pmwiki.php?n=Site.Download<br /><br />No meu caso, baixei o arquivo "<a class="urllink" href="http://nmon.sourceforge.net/docs/nmon_x86_12a.zip" rel="nofollow">nmon_x86_12a.zip</a>" para o Red Hat 5.4<br /><br />2. Descompacte o zip e renomeie o arquivo "nmon_x86_rhel52" para "nmon"<br /><br />3. Copie o arquivo "nmon" para o diretório "/usr/bin" e dê direito de execução para esse arquivo<br /><br />4. Pronto! Digite nmon para iniciar o aplicativo.<br /><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWVAcitF2HdkWatQdFf3aSy5YTdK7DgaYswd1W6fb8MEu4qxlC8mHdA2uJEcumagXedRxUaWe2_WZpWlLwGj7-hGA_0VtajO2W5eb470_lwAoePNI2RfD_7TuQRjF8u6lt5flKvzyep_Ht/s1600/nmon_01.jpg"><img style="cursor: pointer; width: 256px; height: 83px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWVAcitF2HdkWatQdFf3aSy5YTdK7DgaYswd1W6fb8MEu4qxlC8mHdA2uJEcumagXedRxUaWe2_WZpWlLwGj7-hGA_0VtajO2W5eb470_lwAoePNI2RfD_7TuQRjF8u6lt5flKvzyep_Ht/s320/nmon_01.jpg" alt="" id="BLOGGER_PHOTO_ID_5522026543760337346" border="0" /></a><br /><br /></div> Como exemplo, selecione as opções c, m e d. Basta digitar as letras após iniciar o nmon.<br /><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMCq7zfuL2m06esCVEAHMRfPlVyNZ6fYaYHEvEDcEgN79UOEAY0pGPLEJYbereZwu_4-_L_2uoj2VdqyJtAqlJ9MzBmMfdZaHokZRIzBt00qQG61iYkOj_AR71PyDrO01pTTJW4tt1wv8U/s1600/nmon_02.jpg"><img style="cursor: pointer; width: 320px; height: 166px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMCq7zfuL2m06esCVEAHMRfPlVyNZ6fYaYHEvEDcEgN79UOEAY0pGPLEJYbereZwu_4-_L_2uoj2VdqyJtAqlJ9MzBmMfdZaHokZRIzBt00qQG61iYkOj_AR71PyDrO01pTTJW4tt1wv8U/s320/nmon_02.jpg" alt="" id="BLOGGER_PHOTO_ID_5522026673866690898" border="0" /></a><br /><br /><div style="text-align: left;">Monitore o seu ambiente<br /><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUIB0AIT6bjcB1zjy5lelokYijIJJClfcFVf27VXxFZ9DQXZ-ROpgw-7NzX1A7-MUVAsqPqhQBkAqBxLGIGDuKfjNxq_OH1Uwg0a4zyXFJtPa6MPa9jYlOK07lCVRu4p4Li6E8op3PB5Pe/s1600/nmon_03.jpg"><img style="cursor: pointer; width: 320px; height: 166px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUIB0AIT6bjcB1zjy5lelokYijIJJClfcFVf27VXxFZ9DQXZ-ROpgw-7NzX1A7-MUVAsqPqhQBkAqBxLGIGDuKfjNxq_OH1Uwg0a4zyXFJtPa6MPa9jYlOK07lCVRu4p4Li6E8op3PB5Pe/s320/nmon_03.jpg" alt="" id="BLOGGER_PHOTO_ID_5522026836144249426" border="0" /></a><br /><div style="text-align: left;"><br />Para sair do nmon, presione a letra "q" (quit)<br /></div></div></div><br /></div>Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-64845366176519536352010-09-27T04:30:00.000-07:002010-09-28T06:12:53.950-07:00WebSphere Application Server como serviço no LinuxColocar o Websphere Application Server como serviço do Linux (ou Windows).<br /><br />[root@localhost bin]# pwd<br />/opt/IBM/WebSphere/AppServer-7.0/bin<br /><br /><span style="font-weight: bold;">Deployment Manager</span><br />[root@localhost bin]# ./wasservice.sh -add dmgr -serverName dmgr -profilePath /opt/IBM/WebSphere/AppServer-7.0/profiles/Dmgr01/ -user_id [<usuario><usuario>usuario] -password [<senha><senha>senha]<br /><br /><span style="font-weight: bold;">Node Agent</span><br />[root@localhost bin]# ./wasservice.sh -add nodeagent -serverName nodeagent -profilePath /opt/IBM/WebSphere/AppServer-7.0/profiles/AppSrv01/ -user_id [usuario] <usuario> <usuario> -password <senha><senha>[senha]<br /><br /><span style="font-weight: bold;">Server (server1)</span><br />[root@localhost bin]# ./wasservice.sh -add server1 -serverName server1 -profilePath /opt/IBM/WebSphere/AppServer-7.0/profiles/AppSrv01/ -user_id <usuario> <usuario> [usuario] -password <senha><ssenha>[senha]<br /><br /><span style="font-weight: bold;">Servers</span><br />Outro modo de deixar os servidores de aplicativos iniciarem automáticamente é trocar o parâmetro "Node restart state" para "RUNNING". Desse modo, quando iniciar o nodeagent, o server também será iniciado automáticamente. Basta criar o serviço de inicialização para o nodeagent.<br /> Para alterar esse valor vá em "Application servers --> server1 --> Monitoring Policy", onde "serve1" é o nome do servidor de aplicativo. Altere o valor para todos os servers que deseja iniciar automáticamente quando o nodeagent for iniciado.<br /></ssenha></senha></usuario></usuario></senha></senha></usuario></usuario></senha></senha></usuario></usuario><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTCNWu-LIL2EZTaCYkurPQWl7kkHG8-rhv6CxL0UwYGdzvardJ654GDGenzd5BbwmBVuBt7yWL585Gh5ww-yy1MLlaYzeifQ7QuU6WDLqCb7jX1qwUP4hGTRr-rz7FtdR65gos5-5Hgh3i/s1600/monitoringPolicy.jpg"><img style="cursor: pointer; width: 320px; height: 235px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTCNWu-LIL2EZTaCYkurPQWl7kkHG8-rhv6CxL0UwYGdzvardJ654GDGenzd5BbwmBVuBt7yWL585Gh5ww-yy1MLlaYzeifQ7QuU6WDLqCb7jX1qwUP4hGTRr-rz7FtdR65gos5-5Hgh3i/s320/monitoringPolicy.jpg" alt="" id="BLOGGER_PHOTO_ID_5521951400421558738" border="0" /></a><br /></div><usuario><usuario><senha><senha><usuario><usuario><senha><senha><usuario><usuario><senha><ssenha><br /><br /><br />Reiniciar o Servidor e verificar se todos os serviços estão iniciados:<br />ps -ef | grep java<br /><br />Para Windows, o procedimento é o mesmo - trocando apenas os diretórios e o comando (WASService.exe)</ssenha></senha></usuario></usuario></senha></senha></usuario></usuario></senha></senha></usuario></usuario>Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-11389284152016561582010-09-21T05:51:00.000-07:002010-09-21T06:12:06.102-07:00CVS, error writing to lock fileHoje fui realizar alguns commits no CVS e, de repente, comecei a obter a mensagem "error writing to lock file"<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSvQQIxZXybgx9AfLWWpyhSCnAI7apAXQE3MqV4_rL5t7PYwnrpqZDj3FQVowYxUwJ4U0z2t49epNUspCkkBUN9YJQo3Tv29L4PWZoib1e0j2-UG7Knw4cMhf2RxPZ0xr1iDWLGL25K8cL/s1600/writinglock_cvs.jpg"><img style="cursor: pointer; width: 320px; height: 146px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSvQQIxZXybgx9AfLWWpyhSCnAI7apAXQE3MqV4_rL5t7PYwnrpqZDj3FQVowYxUwJ4U0z2t49epNUspCkkBUN9YJQo3Tv29L4PWZoib1e0j2-UG7Knw4cMhf2RxPZ0xr1iDWLGL25K8cL/s320/writinglock_cvs.jpg" alt="" id="BLOGGER_PHOTO_ID_5519349117420210274" border="0" /></a><br /><br />Após verificar as permissões do CVS, percebi que o problema estava sendo ocasionado por falta de espaço em disco.<br /><br />Após liberar o espaço em disco, alguns arquivos ficaram travados no processo anterior (quando ocorreu "error writing to lock file") e ocorreu a seguinte mensagem:<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgccBUB6KKXje7g-mZVIfr0x849Z19jc39QNt7PWShnbQ9nHc3yJtZNq3gWYD9FWPGvMpYDd9HfeHCV2OTSnCmn6s9hVMjAk0YZhGGrpJWtL-KMfATSGJ6GQuIjnohQ7lRMzqWT1AwBVzSW/s1600/cannotlock_cvs.jpg"><img style="cursor: pointer; width: 320px; height: 153px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgccBUB6KKXje7g-mZVIfr0x849Z19jc39QNt7PWShnbQ9nHc3yJtZNq3gWYD9FWPGvMpYDd9HfeHCV2OTSnCmn6s9hVMjAk0YZhGGrpJWtL-KMfATSGJ6GQuIjnohQ7lRMzqWT1AwBVzSW/s320/cannotlock_cvs.jpg" alt="" id="BLOGGER_PHOTO_ID_5519353204204119266" border="0" /></a><br /><br />Os arquivos travados tiveram que ser excluídos fisicamente no diretório do servidor CVS para resolver o problema "cannot lock".<br /><br />Agora está tudo OK.Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-16613254951333078972010-08-26T17:27:00.000-07:002010-08-26T17:34:19.176-07:00Rational Application Developer PerspectiveArquivo que contém as definições de perpesctivas do RAD 7.5<br /> c:\workspaces\examples\.metadata\.plugins\org.eclipse.ui.workbench\workbench.xml<br /><br />Instalei o WebSphere Portlet Factory 6.1.5 no RAD 7.5 e o RAD começou a dar problemas como, por exemplo, "Clean" dos Projetos e iniciar os Servidores de WAS e Portal que já estavam configurados.<br /><br />Então, desinstalei o WPF. Entretanto, ficou a perspectiva "WebSphere Portlet Factory" no RAD.<br />Para retirar o botão de perspectiva do WPF, foi editado o arquivo workbench.xmlJuliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com0tag:blogger.com,1999:blog-5046703697685779223.post-77798949518789751362010-07-27T11:51:00.000-07:002010-08-02T07:19:32.456-07:00Avianca, Programa inimigoEstou extremamente insatisfeito com a Avianca.<br />Um tal de programa inimigo.<br />Vc vai fazer a sua primeira viagem e te informam que há programa de relacionamento com o cliente (milhagem) e que vc pode cadastrar a pontuação mesmo após ter feito a viagem.<br />Até aqui tudo ok.<br /><br />Ae, quando vc vai no site, faz o cadastro e liga para o atendimento 4004-4040, advinha!!!<br />"Sinto muito senhor, mas não podemos cadastrar a sua viagem no seu programa amigo, porque vc já fez a viagem e tinha que ter feito o cadastro antes da viagem"<br /><br />Depois de ficar longos minutos no telefone descobri que vc tem que efetuar o cadastro da milhagem até 7 dias após sua viagem.<br />Que merda! Niguém te fala nada e já era.<br /><br />Estou viajando pela Avianca durante todo o mês de Julho (8 viagens) e guardei todos os bilhetes para cadastrá-los de uma só vez... pronto! Dancei... porque já se passarem 7 dias desde minha primeira viagem.<br />E olha só... nem trocou de mês.., todas as viagens estão sendo feitas no mês de Julho.<br /><br />Minha sincera insatisfação para a Avianca.<br />Já começou com o pé esquerdo no Brasil.<br /><br />Abri o protocolo de reclamação 46696 com a atendente Danielle.Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com2tag:blogger.com,1999:blog-5046703697685779223.post-32146833948831715732010-06-22T05:59:00.000-07:002010-06-22T06:02:10.384-07:00iPhone iOS4 - Organização por PastasA organização por Pastas no novo iOS4 do iPhone ficou fantástica.<br /> Clique no aplicativo desejado e segure até aparecer a edição dos aplicativos.<br /> Depois, clique no aplicativo e arraste para cima de outro aplicativo do mesmo gênero.<br /> Pronto! Uma nova pasta é criada.Juliano Claitonhttp://www.blogger.com/profile/12817038459295745986noreply@blogger.com1