quarta-feira, 28 de dezembro de 2011

Grandes navios voltam no tempo para ficarem mais verdes

Grandes navios voltam no tempo para ficarem mais verdes: Para consumir menos combustível e poluir menos, os gigantescos navios de carga poderão ficar mais parecidos com seus antepassados.

segunda-feira, 16 de novembro de 2009

[JSF] URL não é atualizada no Browser

Problema



Quando é acessado os links/menus do JSF a URL do browser não é atualizada com o endereço da pagina corrente.

Solução:



Colocar nas regras de navegação no arquivo faces-config.xml a tag
< redirect /> 



Exemplo



< navigation-rule >
< display-name >downloadChangelog< /display-name >
< from-view-id >/uncommitedChangeRequestView.jsp< /from-view-id >
< navigation-case >
< from-outcome >gotoDownloadChangelogFile< /from-outcome >
< to-view-id >/downloadChangelogFile.jsp< /to-view-id >
< redirect/ >
< /navigation-case >
< /navigation-rule >


Problemas da solução


Os seus backbeans com scopo de request perderão os atributos, então antes de aplicar a tag em uma pagina qualquer, certifique-se que não esta usando um bean com scopo de request.

segunda-feira, 26 de outubro de 2009

[tomcat] Configurando o DBCP para o Oracle XE

Oracle + Tomcat + DBCP

Abaixo segue um passo a passo de como configurar o DBCP (pool de conexões) do Tomcat 6.0 para o Oracle XE


  • Copiar copiar o jar do driver Oracle(ojdbc14-10.2.0.3.jar) para $CATALINA_HOME/lib/

  • No Tomcat 6.0 os jars do DBCP já estão presentes.

  • Configurar o arquivo Context(context.xml)


    < Resource name="jdbc/myoracle" auth="Container"
    type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
    url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
    username="scott" password="tiger" maxActive="20" maxIdle="10"
    maxWait="-1" />



  • Configurar o arquivo web.xml

     
    < description >Oracle Datasource example< /description >
    < res-ref-name >jdbc/myoracle< /res-ref-name >
    < res-type >javax.sql.DataSource< /res-type >
    < res-auth >Container< /res-auth >
    < /resource-ref >



  • Exemplo Java: acessando uma nova conexão


    Context initContext = new InitialContext();
    Context envContext = (Context)initContext.lookup("java:/comp/env");
    DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
    Connection conn = ds.getConnection();
    //etc.



    REFERÊNCIA
  • sexta-feira, 23 de outubro de 2009

    [oracle][tablespaces size] Mostrar o tamanho de cada tablespace

    Mostra uma relação de utilização de todas as tablespaces


    select a.TABLESPACE_NAME,
    a.BYTES/1024/1024 alloc_bytes_in_MB,
    b.BYTES/1024/1024 bytes_free_MB,
    round(((a.BYTES-b.BYTES)/a.BYTES)*100,2) percent_used,
    (round(((a.BYTES-b.BYTES)/a.BYTES)*100,2)/100) * a.BYTES/1024/1024 bytes_used_in_MB
    from
    (
    select TABLESPACE_NAME,
    sum(BYTES) BYTES
    from dba_data_files
    group by TABLESPACE_NAME
    )
    a,
    (
    select TABLESPACE_NAME,
    sum(BYTES) BYTES
    from dba_free_space
    group by TABLESPACE_NAME
    )
    b
    where a.TABLESPACE_NAME=b.TABLESPACE_NAME

    [oracle][tables size] Tamanho das tabelas de um schema

    Mostra a relação de tamanhos das tabelas de um determinado schema


    SELECT t.table_name AS "Table Name",
    t.TABLESPACE_NAME AS "Table space",
    t.num_rows AS "Rows",
    t.avg_row_len AS "Avg Row Len",
    Trunc((t.blocks * p.value)/1024) AS "Size KB", -- numero de blocos X o seu tamanho em KBs
    t.last_analyzed AS "Last Analyzed"
    FROM dba_tables t,
    v$parameter p
    WHERE t.owner = 'NOME_SCHEMA'
    AND p.name = 'db_block_size'
    ORDER BY 5 desc

    [oracle][analise statistics tables] Analise de estatísticas de tabelas

    Gera um script de analise completa de estatísticas de todas as tabelas de um determinado schema.


    SELECT 'analyze table ' || OWNER || '.' || TABLE_NAME || ' compute statistics;'
    FROM dba_tables
    WHERE owner = 'SCHEMA'

    [oracle][sessions] Matar sessões abertas

    Os comandos abaixo verificam e geram um script para matar sessões abertas de um determinado usuário


    Verificando sessões abertas


    SELECT s.sid,
    s.serial#,
    s.osuser,
    s.program
    FROM v$session s
    where osuser = 'userName'


    Matando sessões abertas


    SELECT 'ALTER SYSTEM KILL SESSION ''' || se.sid || ', ' || se.serial# ||''' IMMEDIATE ;'
    FROM v$session se where osuser = 'userName';



    Saida exemplo

    ALTER SYSTEM KILL SESSION '523, 480' IMMEDIATE ;