sexta-feira, 22 de outubro de 2010

css hover no IE6

É sabido que hover não funciona no IE6.
Sua funcionalidade foi implementada somente do IE7 para frente.

Temos um Menu dropdown feito em CSS, utilizando o hover.
Claro, não funcionou no IE6.

Estudamos soluções javascript pura, csshover3.htc, jquery e falhou em todas elas.
A solução que melhor atendeu nossa demanda foi o projeto ie7-js, hoje hosteado pelo google.

Basta colocar o código abaixo dentro do head e o Browser irá se comportar como o IE7:

<!--[if lt IE 7]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE7.js"></script>
<![endif]-->


Link de referência:
http://code.google.com/p/ie7-js/

sexta-feira, 15 de outubro de 2010

Como mudar (trocar) o nome da máquina e manter o Oracle 10g funcionando

Na última semana realizamos alteração do nome de um servidor Oracle e o serviço TSN Listener (OracleXETNSListener) parou de funcionar.

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.
Em seguida, reiniciamos os serviços OracleServiceXE e OracleXETNSListener;

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"

Link de referência:
http://geekswithblogs.net/svanvliet/archive/2007/04/03/how-to-change-windows-hostname-and-keep-oracle-10g-running.aspx

Como gerenciar profiles no IBM Websphere Application Server

IBM WebSphere Application Server 7 (WAS 7): manageprofiles.sh
O utilitário manageprofiles.sh é utilizado para gerenciar profiles. Entre seus aspectos, podemos excluir um profile.

Listar os profiles existentes:
/bin/manageprofiles.sh -listProfiles

Excluir um profile: nesse exemplo, o nome do profile é "appsrv01"
/bin/manageprofiles.sh -delete -profileName appsrv01
Em seguida, foi excluído fisicamente o diretório do profile "appsrv01".


Site de referência:
http://www.webspheretools.com/sites/webspheretools.nsf/docs/Delete%20a%20profile%20using%20manageprofiles.sh%20in%20WebSphere%207%20on%20centos5

ADMIN_CMD DB2 - Comandos CLP

Comandos 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, ...)
Para executar os comandos CLP existe uma procedure chamada "admin_cmd" utilizada para esse propósito.

Pequeno exemplo Java para chamada dessa procedure:
Nesse exemplo temos a tabela "banco01.area" no servidor "servidor01"

Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
con = DriverManager.getConnection("jdbc:db2://servidor01:50000/" + "banco01", "usuario", "senha");
String sql = "CALL SYSPROC.ADMIN_CMD(?)";
proc_stmt = con.prepareCall(sql);
String param = "export to c:\\temp\\area4.txt of del messages on server select * from area";
proc_stmt.setString(1, param);

rs = proc_stmt.executeQuery();
if (rs.next()) {
System.out.println("Total number of rows exported : " + rs.getString(1));
System.out.println("SQL for retrieving the messages: " + rs.getString(2));
System.out.println("SQL for removing the messages : " + rs.getString(3));

System.out.println(" ");
proc_stmt_msg = con.prepareCall(rs.getString(2));
rs_msg = proc_stmt_msg.executeQuery();
while (rs_msg.next()) {
System.out.println(rs_msg.getString(1) + rs_msg.getString(2));
}
proc_stmt_msg.close();
rs_msg.close();
}

proc_stmt.close();
rs.close();
con.close();

Link de referência:
http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.apdv.sample.doc/doc/java_jdbc/s-AdmCmdImport-java.htm

terça-feira, 28 de setembro de 2010

Como instalar o nmon no Linux

Para quem não conhece o nmon é um excelente utilitário de monitação no Linux.
Referência: http://nmon.sourceforge.net/pmwiki.php

A sua instalação é simples
1. Faça o download da versão compatível com o seu Linux
http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

No meu caso, baixei o arquivo "nmon_x86_12a.zip" para o Red Hat 5.4

2. Descompacte o zip e renomeie o arquivo "nmon_x86_rhel52" para "nmon"

3. Copie o arquivo "nmon" para o diretório "/usr/bin" e dê direito de execução para esse arquivo

4. Pronto! Digite nmon para iniciar o aplicativo.


Como exemplo, selecione as opções c, m e d. Basta digitar as letras após iniciar o nmon.


Monitore o seu ambiente


Para sair do nmon, presione a letra "q" (quit)

segunda-feira, 27 de setembro de 2010

WebSphere Application Server como serviço no Linux

Colocar o Websphere Application Server como serviço do Linux (ou Windows).

[root@localhost bin]# pwd
/opt/IBM/WebSphere/AppServer-7.0/bin

Deployment Manager
[root@localhost bin]# ./wasservice.sh -add dmgr -serverName dmgr -profilePath /opt/IBM/WebSphere/AppServer-7.0/profiles/Dmgr01/ -user_id [usuario] -password [senha]

Node Agent
[root@localhost bin]# ./wasservice.sh -add nodeagent -serverName nodeagent -profilePath /opt/IBM/WebSphere/AppServer-7.0/profiles/AppSrv01/ -user_id [usuario] -password [senha]

Server (server1)
[root@localhost bin]# ./wasservice.sh -add server1 -serverName server1 -profilePath /opt/IBM/WebSphere/AppServer-7.0/profiles/AppSrv01/ -user_id [usuario] -password [senha]

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




Reiniciar o Servidor e verificar se todos os serviços estão iniciados:
ps -ef | grep java

Para Windows, o procedimento é o mesmo - trocando apenas os diretórios e o comando (WASService.exe)

terça-feira, 21 de setembro de 2010

CVS, error writing to lock file

Hoje fui realizar alguns commits no CVS e, de repente, comecei a obter a mensagem "error writing to lock file"



Após verificar as permissões do CVS, percebi que o problema estava sendo ocasionado por falta de espaço em disco.

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:



Os arquivos travados tiveram que ser excluídos fisicamente no diretório do servidor CVS para resolver o problema "cannot lock".

Agora está tudo OK.