sexta-feira, 20 de maio de 2016

Sucesso pessoal e finaceiro

Defino 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.

Os segredos da mente milionária, T. Harv Eker
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.

Como fazer amigos e influenceiar pessoas, Dale Carnigie
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.

Guia:
  • Gaste menos do que ganha;
  • Guarde um pouco do que sobra: não tem um número mágico, crie o hábito de guardar;
  • Crie o hábito de gerenciar o seu dinheiro e, com o tempo, aprenda sobre investimentos.

Não sei como fazer isso:
  • Compre produtos ou utilize serviços de qualidade similar com preço menor;
  • Só compre aquilo que precisa. Não se deixe levar por promoções ou para querer se mostrar;
  • 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;
  • Aprenda sobre investimentos para alanvancar seus rendimentos financeiros;
  • Invista em passivos: investimentos que rendem para você sem ter que trabalhar;
  • Seja equilibrado: guarde dinheiro e tempo para satisfações pessoais. Saiba conciliar investimentos com prazeres para levar uma vida saudável;
  • Seja maior do que seus problemas.

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.

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.
(Juliano Claiton Silva)

terça-feira, 17 de novembro de 2015

Websphere MQ Client, rc=2058 rc=MQRC_Q_MGR_NAME_ERROR

Troubleshooting aplicações que utilizam o MQ Client.

Vamos analisar o rc=2058, MQRC_Q_MGR_NAME_ERROR, visto nos logs de uma aplicação que se conecta via MQ Client.

Resumidamente, habilitamos o trace no MQ Client: strmqtrc -e -t all -t detail -l 100

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.

  • 000E9C96 09:32:04.816994  26884.2      RSESS:001381 --------{  xcsWaitThreadEvent 
  • 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
  •  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
  •  000E9C9D 09:32:04.826939  26884.182         :       --{  MQQueueManager.Connect()
  •  000E9C9E 09:32:04.826950  26884.182         :       SCCSID: '@(#) MQMBID sn=p750-005-150424 su=_cGGLkOp9EeSJoq1UhPFS6Q pn=lib/dotnet/pc/winnt/baseclasses/MQQueueManager.cs'
  •  000E9C9F 09:32:04.826965  26884.182         :       MQQueueManager.IsConnected False HConn: (null)
  •  000E9CA0 09:32:04.826979  26884.182         :       ConnectOptions: QMgr = '', ConnName = '', Channel = ''

Por isso ocorreu o reason code 2058
  • 000EA05F 09:32:04.845598  26884.182         :       IBM.WMQ.MQQueueManager#0294AD3E throwing MQException: cc=2 rc=2058
  •  000EA060 09:32:04.845617  26884.182         :       New MQException CompCode: 2 Reason: 2058
  •  000EA061 09:32:04.845677  26884.182         :       --}! MQQueueManager.Connect() (rc=MQRC_Q_MGR_NAME_ERROR)

Para uma conectividade normal com o MQ, os dados de conectividade irão aparecer como abaixo:
  •  00001545 16:35:21.486811  36520.8           :       ConnectOptions: QMgr = 'Nome-Queue-Manager', ConnName = '', Channel = ''
  • 00001546 16:35:21.486843  36520.8           :       Connection Name: Ip-MQ-Server(Porta-MQ-Server)
  • 00001547 16:35:21.486861  36520.8           :       Channel: Nome-do-canal

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

terça-feira, 21 de julho de 2015

WebSphere MQ - Troubleshhoting MQ Server - Activity trace

Existem várias situações que precisamos habilitar trace para troubleshooting.

O trace padrão do MQ pode ser habilitado via comando:
strmqtrc -e -t all -t detail -l 100

Para desabilitar o trace:
endmqtrc -a

Os traces serão gerados no diretório padrão [../qmgrs/nome_queue_manager/trace] no formato AMQ...

Há casos onde precisamos de informações mais detalhadas de todas as atividades realizadas no MQ (Activity trace).
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:

1. Editar o arquivo de Activity trace, [../qmgrs/nome_queue_manager/mqat.ini].
Exemplo de valores: TraceLevel=HIGH, TraceMessageData=100, StopOnGetTraceMsg=OFF

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).

3. Efetuar as operações desejadas no MQ Server

4. Desabilitar o Activity trace

5. Visualizar os traces: /usr/mqm/samp/bin/amqsact -m nome_queue_manager -v > saida.txt

6. Visualizar o conteúdo do arquivo saida.txt

Vale ressaltar que Activity trace tem um grande peso sobre a performance do ambiente. Só habilite em momentos de troubleshooting e de modo controlado.

Link de referência: http://www.ibm.com/developerworks/websphere/library/techarticles/1306_bushby/1306_bushby.html

quarta-feira, 15 de julho de 2015

WebSphere MQ - Troubleshhoting MQ Client

Em 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]

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.

1. Validar a conexão entre o MQ Client e MQ Server
amqscnxc.exe -x nome_do_servidor -c nome_do_canal nome_do_queue_manager

Exemplo: amqscnxc.exe -x servidor01 -c canal01 QM01
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.
Em algumas situações, foi possível ver que o nome do servidor está configurado incorretamente na aplicação.

2. Inserir uma mensagem na fila
set MQSERVER=nome_do_canal/TCP/nome_do_servidor(1414)
amqsputc nome_da_fila nome_do_queue_manager

Exemplo:
set MQSERVER=SYSTEM.DEF.SVRCONN/TCP/servidor01(1414)
amqsput fila01 QM01
Nesse caso, será possível validar se há algum problema para inserir uma mensagen na fila.
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"

3. Habilitar traces
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.

- Habilitar trace no MQ Client
strmqtrc -e -t all -t detail -l 100

- Desabilitar trace no MQ Client
endmqtrc -a

4. Verificar lentidão
E alguns casos pode ser percebdio lentidão de conexão entre o MQ Client e o MQ Server. Uma das causas é IPv6 lookup.
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

sexta-feira, 23 de março de 2012

Vmware Sistema Operacional 64-bits

Para 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.

Esse recurso é chamado VT (Virtualization Technology) e é habilitado na BIOS do computador.

Para isso, reinicie o Computador e fique pressionando F2. Vá na aba "Configuration" e troque essa propriedade para "enabled".

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".

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.
Link de referência: http://downloads.vmware.com/d/details/processor_check_5_5_dt/dCpiQGhkYmRAZQ==

sexta-feira, 2 de setembro de 2011

sqlcode=-803 - IBM WebSphere Process Server

Outro dia verifiquei sqlcode=-803 nos logs do ambiente do Process Server.

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.

Rastreamento do problema:

1. Verifiquei que o código -803 está relacionado com comandos DDL no Banco de Dados.
http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z9.doc.codes%2Fsrc%2Ftpc%2Fn803.htm

2. Em seguida, procurei por erros relacionados ao código -803 no ambiente do Process e obtive o seguinte report:
http://www-01.ibm.com/support/docview.wss?uid=swg21474394

3. Verifiquei documentação sobre o rippleStart
http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/index.jsp?topic=/com.ibm.websphere.wps.doc/doc/tadm_start_cluster.html

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
http://en.wikipedia.org/wiki/wsadmin

5. Como iniciar um Cluster via jacl ou jython
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.nd.doc%2Finfo%2Fae%2Fae%2Ftxml_startcluster.html

Uma segunda documentação sobre ripplestart em jacl e jython
http://www-01.ibm.com/support/docview.wss?uid=swg1PK11560

Uma terceira documentação muito boa sobre ripplestart em jacl (script pronto)
http://www.webspheretools.com/sites/webspheretools.nsf/docs/Ripple%20Start%20cluster%20in%20WebSphere%20using%20JACL

quarta-feira, 31 de agosto de 2011

Como visualizar conexões JDBC no WebSphere Application Server

Na versão 7 do WebSphere Application Server (WAS) existe a ferramenta Tivoli Performance Viewer nativa.

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.

Após selecionar o Application Server, vá em Performance Modules > JDBC Connection Pools > DB2 Universal JDBC Driver Provider (XA) e selecione o jdbc desejado.
. No meu caso, estamos utilizando conexão com o DB2

Selecione as propriedades
. CreateCount: quantidade de conexões que foram abertas no Banco de Dados
. CloseCount: quantidade de conexões fechadas
. PoolSize: quantidade de conexões correntemente abertas

Em outras palavras, o PoolSize indica quantas conexões estão abertas no momento.
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.

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"

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.