Archive for the ‘oracle’ Category

Facilidades proporcionadas pelas ferramentas certas

Eu sempre fui um pouco avesso a ferramentas que facilitam demais nossas atividades. Não, não sou masoquista! Apenas não quero ficar dependente demais de uma ferramenta para executar meu trabalho. Sempre fui adepto do uso de ferramentas básicas para realização de minhas atividades.

No caso de Oracle, penso que devo conseguir realizar a maior parte de minhas tarefas apenas com o SQL*Plus. Pois caso chegue em algum cliente onde não exista a ferramenta que eu necessito, isto não deveria ser um empecilho!

Continue lendo

Anúncios

[link] Metalink em HTML

Sou usuário do suporte Oracle (leia Metalink) a bastante tempo. Sempre encontrei um vasto material que ajudou-me nas mais diversas situações. Também sempre gostei do suporte oferecido, em geral, trazendo-me a solução de minhas dúvidas e/ou problemas.

Passei por várias fases do suporte: inicialmente postando as dúvidas e sendo esclarecidos pelo suporte local; posteriormente passando pela centralização do suporte e dúvidas em português sendo traduzidas (se possível, abra os chamados em inglês, a resposta é bem mais rápida!).

Embora um pouco resistente inicialmente, aprovei todas as mudanças. Mas a última mudança foi decepcionante. Reescreveram o site em flash! Transformaram o negócio em uma carroça! Ficou bonito (pra quem gosta de frescura) e com novos recursos (a maioria sem utilidade quando se busca uma solução rápida!).

Todos com quem conversei desaprovaram a mudança. Até um funcionário da Oracle me falou que a posição oficial era que o suporte agora era aquele. Mas a opinião pessoal dele era que ainda preferia a versão antiga, em HTML!

Mas não teve jeito, desativaram o antigo e só passou a existir a versão em flash (urg!).

Esta semana meu amigo Getulio Holtz me surpreende com uma inesperada, mas grata, notícia: uma versão HTM do Metalink! Veja com seus próprios olhos:

https://supporthtml.oracle.com/

[CC] Instalador Oracle em ambiente não homologado

As vezes acontece de precisarmos instalar algum produto Oracle em um ambiente não homologado.

Por exemplo, instalar o banco 10g em RedHat 5. Como na época do 10g ainda não existia RH5, o instalador não prossegue com a instalação, dizendo que o ambiente não é certificado, mesmo sendo este um ambiente homologado pela própria Oracle!

Embora existam “macetes” (procure e acharás diferentes soluções), existe uma solução “oficial”:

$ ./runInstaller -ignoreSysPrereqs

Oracle XE em Windows Server 2008

Fazem alguns dias, um cliente pediu-me auxílio na configuração de um Oracle XE em um Windows Server 2008. Em geral as instalações de produtos Oracle são tranquilas, desde que se respeitem os procedimentos e os requisitos.

Os requisitos para instalação do Oracle XE são mínimos, ainda mais para o SO em questão. No entanto, esta instalação tirou-me mais tempo do que eu esperava.

Continue lendo

[CC] Conectar banco sem configurar tnsnames.ora

Já faz algum tempo que venho utilizando clients Oracle e é sempre a mesma coisa: para acessar um banco, lá vou eu configurar o tnsnames.ora da estação. O que eu não sabia é que é possível conectar diretamente sem a configuração. Descobri por acaso (não era este o alvo de minha pesquisa!).

Então fica aqui mais um registro para a seção copia-colar para os momentos em que esquecerei a sintaxe:

sqlplus USUÁRIO/SENHA@HOST:PORTA/SID

Por exemplo:

sqlplus scott/tiger@10.0.0.1:1521/orcl

Espero que seja útil!

Super poderes, ativar!

Para quem está acostumado a trabalhar em ambientes *nix já deve saber dos riscos de má utilização do super usuário (root). As vezes o mau uso não é proposital, pode ser acidental. Mas os estragos irão gerar transtornos de qualquer forma!

Por estes motivos é que o uso do root deve ser evitado, sua senha deve ser distribuída apenas para um mínimo de administradores e sua utilização deve ser o mais restrita possível.

Veja um exemplo prático do mau uso (não foi proposital!): este final de semana eu e um amigo estávamos fazendo a migração de um servidor de banco de dados Oracle e reparei que a data do sistema estava errada. Fui então ajustar a data e, por engano, coloquei a hora no lugar do ano. Ficou definida a data do sistema com o ano de 1735! Logo percebi o erro e já fiz o ajuste para a data correta. Mas aí veio a surpresa: enquanto fazíamos os ajustes finais, reparamos que o banco Oracle não estava mais no ar. Estranhamos e fomos ver o que havia acontecido. E o log do Oracle foi bem claro: não conseguiu lidar com a data e “derrubou” a instância!

Confesso que foi surpresa pra mim e jamais poderia esperar algo do gênero! Sem entrar em militâncias se o banco deveria ou não suportar a data, a lição que fica é a seguinte: façam bom uso de seus super poderes!

Como usar “/ as sysdba” em linha de comando com exp/imp

O costume de utilizar arquivos para parametrizar as opções do utilitário exp impediaram-me de ter resolvido este problema antes. Mas desta vez quis utilizar o “super usuário” em linha de comando. Usando diretamente não funcionou! O Google deve ter a resposta…

Aqui encontrei a solução que descrevo abaixo.

Para ambientes *nix:

   exp userid=\'/ as sysdba\' ...

Para ambiente Windows:

   exp userid="'"/ as sysdba"'" ...

ou

   exp userid="""/ as sysdba""" ...

Shell + Oracle + GNUPlot = gráficos legais

Recentemente estava pensando na possibilidade de visualizar de forma gráfica algumas informações de meu controle financeiro. Os dados já estavam todos lá no meu banco de dados. Bastava extraí-los de forma gráfica. Precisava de uma ferramenta para isto. Queria algo livre. Como resolver?

Bom, já havia mexido com o Jasper + iReport àlgum tempo atrás. Mas fiz pouca coisa. Vamos ver se resolvo de forma rápida. Abri, tentei, perdi a paciência e desisti!

Em função do meu mestrado em andamento, tenho usado muito o Gnuplot (vejam as páginas de exemplo para terem uma idéia do potencial da ferramenta) e tenho criado alguns gráficos bem interessantes. Além disso, sou fã de carteirinha de shell script. Os dados que precisava extrair eram facilmente resolvidos com um select ridículo. Opa, espera lá, eu posso unir as ferramentas e fazer isto! Algumas horas depois estava pronto meu script gerando o gráfico que eu queria.

Gostei da solução e resolvi compartilhar aqui. Para fins didáticos, modifiquei os dados que seleciono, permitindo o uso do schema do scott (uma base de demonstração/aprendizado disponível em bancos Oracle).

Usei o exemplo com Oracle pois meus dados estão neste banco, que uso no meu dia-a-dia. Mas pode ser facilmente adaptado para outros banco de dados (MySQL ou PostgreSQL, por exemplo).

Este é o gráfico gerado pelo script. E aqui está o código do script (se preferir, baixe diretamente):

Continue lendo