Arquivo de abril 2008

Veja, eu respeito o SGDB Oracle. Ele não apenas é um dos primeiros bancos de dados relacionais do mercado como também é robusto, confiável e possui uma miríade de recursos. Mas convenhamos, para um SGDB que está a tempos no mercado, algumas coisas são realmente incríveis. É claro que existem algumas explicações que dizem respeito a história de como o produto surgiu e muitas que tem mais haver com a estratégia de marketing da Oracle.

  • A Oracle possui uma enorme documentação. Toda ela está disponível on-line para qualquer um baixar. O mesmo acontece com os softwares (não as atualizações, claro). Uma das coisas que eu aprecio na documentação da Oracle, são as suas recomendações quanto as melhores práticas. Algumas delas são específicas em relação ao seu produto, mas muito do que está lá se aplica a qualquer banco de dados. Dito isso, me explique: qual o motivo de tantos produtos da Oracle não seguirem as suas próprias recomendações. Você não acredita? Quem conhece as restrições das aplicações feitas em FORMS sabe do que eu estou falando. Agora imagine um ERP inteiro sem uma FK (chave estrangeira). Isso mesmo… o famoso ERP da Oracle não tem nenhuma. Alguém me explica isso?
  • Eu falei bem da documentação da Oracle, não? Pois é, os caras fazem um bom trabalho nela. Mas tem um problema. Algumas coisas misteriosamente não estão lá. É quase inacreditável que eles esqueçam de documentar coisas tão importantes na documentação. Realmente não faz nenhum sentido. Vou lhes dizer que não é pouca coisa.
  • Mais um detalhe bizarro sobre a documentação da Oracle. Você já olhou o manual de instalação deles? Bom, eles tem uma lista de dependências que devem ser instaladas para que você não falhe miseravelmente no meio do caminho. No entanto há algumas coisas bizarras lá. Eu nunca entendi o que o gnome-libs, o xscreensaver e o control-center fazem na lista de dependências. São completamente inúteis. Você definitivamente não precisa delas no seu servidor, mesmo que você queira usar o instalador gráfico. Ainda assim, se você cair na besteira de ler a documentação que acompanha os CDs do Oracle, ou a documentação que vem junto com os binários que você baixa no site, você pode encontrar sérios problemas no caminho. Algumas dependências simplesmente não estão descritas nesta versão da documentação, como você poderia esperar. Não esqueça, sempre olhas os “Release Notes” na documentação on-line. Particularmente, se você for fazer uma instalação em Linx com 64 bits, você me agradecerá muito por esta dica. Isto acontece porquê o instalador do Oracle de 64 bits roda em 32 bits. Surpresa, as dependências de 32 bits não estão na documentação original.
  • Sim, o famoso processo de instalação do banco de dados está longe de ser um processo simples. Eu realmente não conheci o Oracle nas suas versões mais antigas. Só conheço ele a partir da versão 8. Não tenho nada contra as zilhões de recomendações de acertos no SO antes da instalação. Na verdade, isso é até bem bacana. Uso muito destas recomendações com outros SGDBs. Mas o instalador gráfico deles é simplesmente horrível. Porquê? É muito simples… ele força você a instalar a interface gráfica no seu servidor. Para os usuários do Windows, tudo bem, mas no mundo Unix isto é uma heresia. Para complicar ainda mais… o instalador é feito em Java e pesa uma tonelada. Fazer um instalador em modo texto não seria tão complexo assim. Não é que seja impossível fazer a instalação em modo texto. Claro que é possível. Mas você tem de criar um arquivo enorme de configurações que pode ser um inferno de editar, conforme forem as suas necessidades. Eu mesmo já criei alguns scripts para me ajudar a criar os arquivos de isntalação em modo texto. Daí para criar um instalador em modo texto seria realmente um pulo. Convenhamos que esta não seria uma tarefa árdua para a Oracle.
  • O SQL*Plus número um dos DBAs Oracle. É claro que surgiram coisas mais amigáveis como o SQL Developer, mas o SQL*Plus é a única ferramenta em modo texto que você tem para utilizar. Eu realmente gosto muito das interfaces gráficas. Mas na hora do aperto elas não me servem muito. Quando preciso rodar uma rotina pesada ela também não me ajuda muito. E principalmente, quando quero fazer algum script rápido que acesse o SGDB, o SQL*Plus é uma mão na roda. Mas há um detalhe muito bizarro nele. Ele não tem suporte a biblioteca mais manjada das ferramentas em linha de comando: a ReadLine. Sem ela ou outra substituta a altura, voltamos para a idade do bit lascado. Até as setas do seu teclado perdem a utilidade. É realmente lastimável a perda de produtividade que este detalhe nos proporciona no dia a dia. Para quem está acostumado com o Bash, isto é simplesmente irritante.
  • O metalink é a porta de entrada para um universo a parte da Oracle. Patches de segurança, zilhões de documentos sobre erros bizarros, uma maravilha. Só tem um problema. Parece que a Oracle usou seus próprios produtos para criar o seu site. E vou lhes dizer uma coisa… eles parecem que nunca utilizaram o gmail na vida. Definitivamente nunca ouviram falar em AJAX. Para completar, ainda usam FLASH para montar um site lento, feito e com uma péssima usabilidade. Depois que você se acostuma com o jeito tosco do site, até dá para se virar bem, a não ser é claro, que você esteja com um pepino enorme na mão e a sua conexão com a Internet esteja lenta. Se for esse o seu caso, vou lhe dizer qual é a forma de rezolver seus problemas de forma mais rápida, interativa e eficiente: entre no servidor de IRC da freenodes na sala #oracle. Você vai descobrir que o “suporte livre” realmente funciona.
  • O padrão SQL já vai completar 20 anos em 2009. Ele surgiu em sua primeira versão oficial em 1989. Ficou famoso pela versão de 1992, e depois contou com mais duas grandes versões sendo a última em 2003. É verdade que a moral da ISO anda meio baixa nos últimos tempos. Mesmo assim, não há motivos para a Oracle ser tão lenta na adoção dos padrões. O tipo de dado TIMESTAMP surgiu apenas na versão 9i. O tratamento com os nulos, o nvarchar, a ausência do tipo inteiro e outras coisas estranhas do Oracle lhe garantem não conformidades significativas com o padrão SQL.
  • A Oracle tem uma tara por arquivos binários que nenhum ser usuário possa ler. A coisa não se limita aos dispositivos crús (Raw Devices), vai dos backups com RMAN, ao rastreamento de erros com trace. Enfim, o negócio é confiar na Oracle…

Você não concorda com as minhas observações? Diria que tem outros itens para acrescentar a lista? Coloque nos comentários então!

Tags: ,

Comments 2 comentários »

Tive que subir a interface gráfica na mão no Red Hat estes dias e me deparei com a necessidade de instalar pacote por pacote. No Debian você tem alguns pacotes especiais que puxam um monte de dependências para você. No Red Hat você tem os gupos, mas nas páginas do man não encontrei nada sobre esta funcionalidade do up2date. Então resolvi documentar aqui para não esquecer mais. :-)

Para saber quais grupos de software existem use:

# up2date --show-groups</code>

Administration Tools
Arabic Support
Assamese Support
Authoring and Publishing
Base
Bengali Support
Brazilian Portuguese Support
British Support
Bulgarian Support
Catalan Support
Chinese Support
Compatibility Arch Development Support
Compatibility Arch Support
Core
Cyrillic Support
Czech Support
DNS Name Server
Danish Support
Development Libraries
Development Tools
Dialup Networking Support
Dutch Support
Editors
Emacs
Engineering and Scientific
Estonian Support
FTP Server
Finnish Support
French Support
GNOME
GNOME Desktop Environment
GNOME Software Development
Games and Entertainment
German Support
Graphical Internet
Graphics
Greek Support
Gujarati Support
Hebrew Support
Hindi Support
Hungarian Support
ISO8859-2 Support
ISO8859-9 Support
Icelandic Support
Italian Support
Japanese Support
KDE
KDE (K Desktop Environment)
KDE Software Development
Korean Support
Legacy Network Server
Legacy Software Development
Mail Server
Miscellaneous Included Packages
MySQL Database
Network Servers
News Server
Norwegian Support
Office/Productivity
Polish Support
Portuguese Support
PostgreSQL Database
Printing Support
Punjabi Support
Romanian Support
Ruby
Russian Support
Serbian Support
Server
Server Configuration Tools
Slovak Support
Slovenian Support
Sound and Video
Spanish Support
Swedish Support
System Tools
Tamil Support
Text-based Internet
Turkish Support
Ukrainian Support
Web Server
Welsh Support
Windows File Server
Workstation Common
X Software Development
X Window System
XEmacs

Para instalar um grupo, o pulo do gato é usar um ‘@’ antes do nome do grupo. Se nome do grupo contiver espaços em branco, você precisará colocar tudo entre aspas. Ex:

#  up2date -i "@Brazilian Portuguese Support"
#  up2date -i "@X Window System"
#  up2date -i  @GNOME
Tags: ,

Comments 1 comentário »

Segue o link para algumas fotos do pessoal do PostgreSQL no FISL 9.0. Não tirei muitas fotos por lá e cheguei atrazado e não pude ficar lá no sábado, então faltaram algumas figuras importante que não apareceram. De toda forma, fica aqui um registro parcial.

Tags: , ,

Comments Nenhum comentário »

Coloquei hoje na área de downloads um arquivo contendo 3 diagramas que utilizei para explicar o funcionamento da parte de storage no Oracle RAC. Se alguém encontrar algum erro nos diagramas, por favor me avisem.

Tags: , ,

Comments Nenhum comentário »

Custei a chegar em Porto Alegre. O aeroporto estava “sem teto” em Porto Alegre devido neblina, que depois fiquei sabendo, é típica desta época do ano. O resultado foram 5 horas de espera em Guarulhos. Isto não chegou a ser um grande problema, pois havia bastante gente para bater papo no aeroporto. Havia uma verdadeira caravana no aeroporto. Enfim, consegui chegar na PUCRS perto das 12h.

O evento estava realmente lotado. Segundo a organização, cerca de 7500 pessoas estavam lá, fora os alunos da PUCRS que passeavam livremente por lá, trazendo uma contribuição significativa para o “astral” do evento. Os corredores estavam lotados. As salas estavam lotadas e tinha palestra com gente sentada no chão e amontoado na porta. A pesar das boas palestras, o melhor foi reencontrar os amigos por lá. Gente que eu não via faz tempo. Foi muito bom.

O Stand do PostgreSQL estava bem organizado, mas logo se mostrou apertado para a multidão que aparecia por lá no intervalo das palestras. Tive a oportunidade de conversar com muita gente interessante por lá. Muita gente querendo saber mais sobre PostgreSQL, tirar dúvidas, fazer entrevistas, comprar camisetas ou mesmo bater papo e tomar um café! Não tenho a menor idéia de quantas pessoas passaram por lá, mas foi muita gente.

As maioria das palestras de PostgreSQL se concentraram no primeiro dia. Casa cheia em todas as palestras, inclusive na minha que ocorreu no último horário, ás 20h. Muita gente ficou depois do término da palestra para tirar dúvidas. Fomos convidados a nos retirar da sala pela organização que precisava liberar o local. Para todos aqueles que me pediram cópias dos meus slides, eles estão disponíveis para download aqui. Para quem não sabe, a palestra foi parecida com a do PGCon Brasil 2007, com o título “Fazendo um Elefante Passar Debaixo da Porta”, sobre melhores práticas para DBAs e desenvolvedores. Melhorei algumas coisas e possivelmente piorei outras. Acredito que em breve teremos todas as palestras do PostgreSQL no site da comunidade.

Infelizmente não pude ficar até o final do evento, fui embora na 6ª feira a noite, mas deu para curtir um bocado do evento e tomar algumas Polares com os amigos e renovar meu estoque de camisetas :-) . Hoje devo estar indo ainda em outro evento com a presença dos nossos palestrantes internacionais do FISL. Eles estarão na UNICAMP para o Dia PostgreSQL promovido pela Dextra.. Na verdade eu devo aproveitar o momento para acertar alguns detalhes do PGCon Brasil 2008, que vai ocorrer na UNICAMP nos dias 27 e 28 de setembro. Muito em breve teremos notícias.

Bom, vou ficando por aqui… hoje vou poupa-los de um post enorme para descrever em detalhes o FISL. Fico apenas com a descrição do David Fetter no PostgreSQL Weekly News: “FISL had almost 7500 participants this year, making it the world’s largest FLOSS conference.”

Tags: ,

Comments 2 comentários »