Um dia um professor disse: “Você não pode praticar medicina ou direito em casa. Mas computação sim“. O texto abaixo relata um pouco da prática e experiência adquirida ao longo dos anos neste laboratório online chamado GLUFKE.NET.

No início havia GeoCities. Caso você nunca tenha ouvido falar dele, ainda é possível ler a respeito em algum site de arqueologia web. Em poucas palavras, era um site onde se podia hospedar páginas HTML de graça em endereços pré-definidos, como nome de países, locais, etc. Por exemplo: www.geocities.com/athenas/acropolis/5545. A gente se conectava via FTP e soltava ali o “index.html” feito no Microsoft FrontPage. (Taí outra coisa da era paleolítica).


Leia mais…




glufke10000_sombra

São 10 mil tópicos sobre Oracle!
Parabéns a todos que contribuiram com suas dúvidas e respostas
para o maior forum sobre Oracle em português!




Estou escrevendo esse texto para colocar meu parecer sobre o novo curso de SQL Tuning oferecido pela Nerv. Como eu participei da primeira turma de SQL Tuning, tenho o privilégio de compartilhar sobre o curso de antemão. Este é o segundo curso que eu faço na Nerv. O primeiro, você pode ver o review neste link.

Instrutor

O professor é o Ricardo Portilho Proni que é uma referência técnica no Brasil. Para quem não conhece, ele possui uma grande quantidade de certificações, incluindo Oracle ACE e palestrante em diversos eventos sobre Oracle. Possui uma experiência profissional muito grande. Sou totalmente suspeito em falar sobre o Portilho, pois quem me conhece, sabe que eu sou fã de carteirinha dele desde 2010. 😀

Nerv1Nerv2Nerv Certificados

A Turma

Tive a grande alegria de re-encontrar amigos e conhecer novos. Na turma estavam os seguintes alunos:
* Fernando Franquini (DBA Capin do certificacaobd.com.br. Atualmente DBA na Softplan )
* Eduardo Ribeiro ( DBA na UOL Diveo )
* Hugo Torralbo ( DBA no Itaú / Unibanco )
* Itagyba Kuhlmann ( Arquiteto de soluçoes na Pernambucanas )
* Thomas Glufke ( Oracle EBS Senior Developer na Dell Computers )
* Abaixo, o instrutor Ricardo Portilho ( Instrutor e Owner da Nerv Informática )

Leia mais…




bug

Tem algumas coisas que estão praticamente enraizadas no mundo Oracle: me refiro a algumas práticas que quase todo mundo faz e que foi adotado como padrão. O texto abaixo não contém nenhuma nova feature do Oracle, nem é nenhuma novidade pra ninguém. Mas por incrível que pareça, eu vejo em quase todas empresas essa prática e isso normalmente gera problemas. Me refiro a utilização de um NVL pra fazer um filtro opcional na query. Abaixo está um exemplo:

SELECT *
FROM tabela
WHERE campo = NVL ( p_parametro1 , campo )

Quase todo programa tem um sistema de filtro como esse acima.
Se o usuário informar o p_parametro1, a query vai mostrar apenas as linhas cujo campo é igual ao p_parametro1.
Se o usuário não informar nada, cai no NVL, e ele faz join com a própria coluna, trazendo tudo.

Leia mais…




O forum completa 10 anos!

27/08/2014 | Tags:, , | Categories: Geral

glufke_twitter5

Parabéns a todos vocês que fizeram parte dessa história! Esses 10 anos no ar provam que a comunidade Oracle no Brasil é muito unida e principalmente solidária, pois este site só existe graças às milhares de respostas e ajuda de pessoas dispostas a compartilhar conhecimento. Essa é a principal filosofia aqui: compartilhar conhecimento! Já que completou 10 anos, nada mais justo do que escrever aqui um pouco da história e como o forum foi criado.

Leia mais…




report_error2

Este é mais um daqueles casos que temos que chamar o Padre Quevedo pra dizer: “Este fenômeno nôm exziste“. Abaixo, vamos fazer uma análise de um programa com erro e como foi solucionado o erro.

O PROBLEMA

O relatório funcionava perfeitamente. Mas raramente, ou seja, 1% das vezes em que era executado, o relatório saía com os valores de todos os campos duplicados! Exemplo:  Deveria sair o valor R$ 20,00  mas saía R$ 40,00. Isso ocorria em todas colunas!

Leia mais…




É com muita alegria que anunciamos uma parceria firmada entre a Nerv Informática e o forum glufke.net. A Nerv Informática colocou um banner patrocinado em todas páginas do forum. Como muitos já sabem, o forum glufke.net é uma comunidade online sem fins lucrativos com o único objetivo de disseminar conhecimentos e experiências na tecnologia Oracle. Além de todo esforço dos membros e moderadores, existem também despesas que são necessárias para manter o site no ar. É nesse quesito que a Nerv Informática está nos auxiliando e estamos muito orgulhosos disso.

Sobre a Nerv Informática

A empresa foi fundada pelo Ricardo Portilho, que é um dos grandes nomes do Oracle no Brasil e também um dos Oracle Aces brasileiros. Conheci o Portilho em 2010 e depois disso, tive a oportunidade de fazer um dos cursos na Nerv (aqui está o meu review). Uma das coisas que o Portilho comentou e que me chamou atenção foi que o objetivo da Nerv era mudar o Brasil. Como assim? O objetivo dele era treinar e qualificar os profissionais no Brasil para ser um país num nível competitivo em relação a outros pelo mundo! Ao fazer o curso, eu entendi perfeitamente o que ele queria dizer com isso, pois a Nerv é uma escola diferente de todas as outras.

Conclusão

Quero dizer que estamos muito felizes que além de fazer a diferença no Brasil com os cursos e treinamentos, a Nerv também está apoiando as comunidades independentes como essa. Obrigado a Nerv por nos ajudar com as depesas e também aos membros do forum por suas ótimas contribuições.

Um bom trabalho a todos!

Thomas Glufke
Desenvolvedor Oracle EBS
Moderador do forum glufke.net




Bug do ano 2013

25/02/2013 | Tags:, , | Categories: PL/SQL

Pra quem pensa que o Bug do Milênio foi o último envolvendo datas, aí vai a sensação do momento: O Bug de 2013.

O Bug ocorre na seguinte situação:
* O programa X grava dados de data na tabela usando o seguinte formato de datas:  YYYYMMDD.
* O programa Y lê dessa tabela usando o formato DDMMYYYY. (Sim, é um erro, um bug no programa).

Até o ano de 2012, este erro não aparecia, veja um exemplo:
* O programa X salva a data 23abr201120110423 (YYYYMMDD)
* Quando essa data era lida pelo programa Y, ele lia  20110423 (DDMMYYYY) = 20nov0423. Data errada, mas não acusava erro!

Pois o ano de 2013 chegou e esse erro apareceu. Veja:
* O programa X salva a data 23abr201320130423 (YYYYMMDD)
* Quando essa data era lida pelo programa Y, ele lia  20130423 (DDMMYYYY) = 20-???-0423. Como não existe mês 13, dá erro!

O interessante é que esse bug está aparecendo só agora, depois de muitos anos de erro oculto. Finalmente em 2013 ele está fazendo os programas pararem de rodar.

Exemplo/Situação compartilhada por Rafael Lopes Lima (Programador Oracle EBS)




Este é um texto off-topic, mas pode ser útil pra algumas pessoas.

Aqui na empresa, prestamos serviço pra vários clientes. Um particularmente, exige que o trabalho seja feito no próprio notebook que eles fornecem. Nesse caso, eu tenho na minha mesa um PC (na esquerda) e um notebook (na direita), este, exclusivamente para uso de um cliente.

O problema é que isso gera uma série de incômodos, por exemplo:

  • Quando conecto na VPN usando o notebook, acabo perdendo a conexão com a internet. Caso eu precise copiar algum script (aqui do site, por exemplo) tenho que desconectar da VPN ou copiar pra um pen-drive, etc.
  • Outro problema é o espaço na mesa. É um pouco desconfortavel usar 2 teclados, 2 mouses. Tem que girar os braços pra um lado ou pra outro (fail), e quase sempre eu me confundo e acabo usando o mouse errado (double fail).


Leia mais…




Neste post, vamos mostrar como utilizar funções analíticas para fazer o rateio de um valor em diversas linhas de uma tabela.

Primeiro, vamos criar a tabela de teste:

CREATE TABLE glufke_teste
(nro_nota  NUMBER, item NUMBER, valor NUMBER);
INSERT INTO glufke_teste VALUES ( 50, 1, 1.45);
INSERT INTO glufke_teste VALUES ( 50, 2, 3.91);
INSERT INTO glufke_teste VALUES ( 50, 3, 5.04);
SQL> SELECT * FROM glufke_teste;

  NRO_NOTA       ITEM      VALOR
---------- ---------- ----------
        50          1       1,45
        50          2       3,91
        50          3       5,04

SQL>

Nosso objetivo é ratear um valor proporcionalmente nessas linhas. Como exemplo prático, vamos distribuir o valor R$ 49,30!
Leia mais…