Categorias
Banco de dados Java Java EE Oracle Programação

High CPU causado pelo método copyRowsAsNeeded do driver do Oracle

Algum tempo atrás me deparei com uma situação onde uma aplicação começava a utilizar muita CPU, o load da máquina física subia demais e o tempo de resposta da aplicação acabava piorando junto com o uso de cpu / load da máquina. Para identificar o que estava causando, colocamos um script na máquina física que […]

Categorias
Banco de dados Java Java EE Programação

Resolvendo “enq: TX – allocate ITL entry” com uma abordagem alternativa

Um dos problemas vistos num banco Oracle com muitos DML’s concorrentes é o evento de espera “enq: TX – allocate ITL entry”. O problema com esse evento é que as sessões fazendo os comandos de alteração nos registros demoram para executar, causando mais espera na aplicação. Existem alguns jeitos de resolver esse evento de espera, […]

Categorias
Banco de dados Programação

Access vs Filter Predicate

A maioria das aplicações desenvolvidas atualmente utilizam um banco de dados relacional para armazenar e recuperar os seus dados. Para que o tempo de resposta e escalabilidade de aplicação não seja prejudicado, é necessário que o banco de dados consiga recuperar as informações necessárias da maneira mais rápida e fácil possível. Os índices em banco […]

Categorias
Programação

git svn rebase e fatal: bad object

Ao tentar atualizar um repositório do svn através do git na minha máquina recebi o seguinte erro: Para resolver esse problema entre no diretório .git e rode o seguinte comando: No meu caso o comando acima retornou apenas 1 arquivo: Binary file ./svn/.caches/lookup_svn_merge.db matches Apague o arquivo e rode novamente o comando git svn rebase

Categorias
Linux Programação

Executando um comando para cada linha de um arquivo com bash

Hoje precisei gerar o diff do svn de alguns arquivos cujo nomes estavam armazenados dentro de um arquivo. Para gerar o diff no svn de cada um desses arquivos basta fazer o seguinte: cat arquivos.txt | xargs -I {} svn diff -r 39177:HEAD https://svn/projeto{} > diff.txt Onde o arquivo arquivos.txt contém o nome dos arquivos […]

Categorias
Linux Programação

Excluindo arquivos não versionados no SVN

Para excluir arquivos não versionados no SVN você pode utilizar o seguinte comando: A primeira parte desse comando lista todos os arquivos alterados no SVN (modificados, adicionados, excluídos e não versionados), a segunda parte do comando filtra as linhas que começam com “?” (arquivos não versionados). A terceira parte elimina o “?” e os espaços […]

Categorias
Programação

Repositório Git no Apache2

Algum tempo atrás eu coloquei um repositório Git disponibilizado através do Apache2 + WebDAV utilizando a seguinte configuração do apache: Após algum tempo comecei a receber erros ao tentar fazer o push de muitas alterações. Se eu tentasse realizar vários push’s com erro, uma hora o push funcionava. Fui procurar outras formas de disponibilizar o […]

Categorias
Programação

O Guia de Dez Minutos de diff e patch

O seguinte texto foi traduzido e adaptado de: http://jungels.net/articles/diff-patch-ten-minutes.html Primeira situação: você está tentando compilar um pacote à partir do código fonte e descobre que alguém já o modificou para compilar na sua plataforma. Ele disponibilizou o seu trabalho como um “patch”, mas você não tem certeza de como utilizá-lo. Para utilizá-lo você deve aplicar […]

Categorias
Programas

Teclado ABNT2 no Mac OS X

Instalei o Mac OS X Snow Leopard em uma VM esses dias e tive que alterar o teclado para o padrão ABNT2. Depois de alguma pesquisa encontrei o seguinte site http://www.appunix.com.br/howto/mac-os/teclado-abnt2-on-mac-os-x-hackintosh-snow-leopad/ que descreve como fazer o procedimento manual e, também fornece um arquivo .pkg para instalar as configurações do teclado ABNT2.

Categorias
Linux Ubuntu

Upgrade do Ubuntu 10.04 para 10.10: An unresolvable problem occurred while calculating the upgrade

Essa semana atualizei o ubuntu que estava na minha máquina da versão 8.04 até a 10.10. Para fazer esse upgrade tive que atualizar versão por versão, nada que fosse muito difícil já que o programa de atualização faz tudo automaticamente. Ao tentar migrar da versão 10.04 para a versão 10.10 apareceu o seguinte erro: Could […]