Wednesday 20 May 2009

Cuidados usando Oracle ou PL/SQL, clients

Agora vou falar dos problemas que tive usando alguns Oracle clients, mas de longe o mais problematico foi o TOAD. Comecando pelo client fornecido pela propria Oracle, nao vale a pena usar, se tiver so ele desista, abra o DOS e use o sqlplus, e uma ferramenta que trava muito e com muito poucos recursos. Pior quando ela trava se voce nao salvou o conteudo, esqueca... acho que nem deveria vir no pacote uma ferramenta dessa.
TOAD, muito bom para selects simples, updates mas nada muito mais complicado, inclusive quando voce seta para enable o output, para fazer um debug, ele demora um tempo , que nao me perguntem o pq para comecar a mostrar as saidas para o console. Isso quando ele mostra, pois na maior parte do tempo ele nao mostrava nada e nao aparece nenhuma mensagem de erro nem nada. Mas o que mais sofri e com a demora deste client em atualizar os dados com o Oracle em si. Ele deve ter algum cache que quando voce lida com grandes qtdes. de dados perde o sincronismo. Pois cheguei a ter um script perfeito acusando erro nele, pq este deveria ter carregado uma versao antiga no cache e nao estava atualizando com a nova que inclusive estava salva ja, e quando fui rodar o mesmo script no sqlplus rodou perfeitamente. Agora o mais engracado e que apos rodar os scripts no sqlplus, e atualizar duas tabelas, eu ia para o TOAD e rodava um select e advinha !!! Nada de ver os dados atualizados, mas se vc rodasse o mesmo select pelo sqlplus esta tudo ok. Agora se vc saisse do TOAD e depois esperasse uns segundos para limpar todos os caches dele e carregasse ele de novo, ele rodava bem somente por muito pouco tempo. As travadas que ele da do nada eram um caso a parte, tinha horas que eu achava que ele estava trabalhando para trazer os registros e estava travado, falta alguma coisa que mostre o que ele ta fazendo ou o que ele ta lendo de fato. E uma ferramenta que nao recomendo. Se voce leu esse post e nao gostou pq e fa do TOAD, me desculpe, mas usando scripts grandes mais complexos e varios carregados ao mesmo tempo, ele vai travar.
A melhor opcao e ou usar o Squirrel que e um client feito em java e muito mais maduro em certas partes do que as duas ultimas solucoes, ou abrir o notepad e usar ele mesmo com o sqlplus que e garantia de nao haver problemas, a nao ser que vc codifique errado. Porem e a mais lenta opcao de todas.
A maquina que usei era um Intel Duo de 3Ghz com 3Gb ram, uma GForce 7 (nao lembro exata a versao dela) 512mb, e um HD fujitisu de 7.200rpm de 300Gb e dois monitores de 19". Como voces podem ver nao era qualquer maquina.
Portanto se voce tiver que realmente usar um client para criar e editar longos scripts em PL/SQL e nao quizer nenhuma dessas duas opcoes que passei aqui, procure outras pois ha varias no mercado e ate de graca. Mas estou revoltado com a perca de tempo que tive usando o TOAD, pela quantidade de problemas que enfrentei sem causa aparente. Agora se voce usa para coisas simples e nada com grande concorrencia de acesso a sua base de dados ele e uma boa pedida.
Deixei esse desabafo aqui, pois em servico que eu deveria ter perdido 1,5 dia para realizar, com essa ultima ferramenta que ainda por cima e paga, eu perdi 3,5 dias. Por conta de travadas inexplicaveis, cache que nao atualiza e acusa de erro em codigo que esta 100% certo, o que me rendia horas relendo e repensando se o codigo estava mesmo errado, ate que tive uma luz que ele poderia estar com problemas. Mas o problema e do software mesmo, pois eu o removi e reinstalei umas cinco vezes.
Bom e isso ae, espero que com isso eu tenha lhe poupado um monte de dores de cabeca. Mas veja bem estou falando para trabalho em ambientes de pre-producao/producao ou de grandes scripts. Coisas simples ele e muito bom.

No comments: