Postagens

Mostrando postagens com o rótulo oracle

Oracle OS Remote Authentication

Imagem
Normalmente os usuários de autenticação de um banco de dados não são os mesmos dos de sistema operacional. Por exemplo, quando você chega na empresa, liga sua estação de trabalho e ela pede o usuário e senha, esses dados são para que você adentre na rede da empresa. Você agora é o usuário de rede Fulano.Silva. Pode desfrutar de todos os benefícios que a rede da sua corporação oferece: e-mail, internet, IM, programas, etc. O programa que você usa, porém, precisa acessar um banco de dados onde estão guardadas as informações que foram digitadas no dia anterior, anterior ao dia anterior e assim por diante. Esses dados são acessados por um usuário de banco que não é o Fulano.Silva, embora você ainda precise digitar FULANO.SILVA na tela de logon do programa. Mas se seu sistema possui usuários de banco equiguais aos usuários de login na rede, você pode configurar seu banco Oracle para acessar os dados sem precisar efetuar a autenticação: Primeiro configure os seguintes parâmetros no arqui...

Banco de Dados Oraco...

Imagem
Eu estava navegando pelos Grupos do Google procurando algum fórum de discussão legal de Banco de Dados quando encontrei a pérola abaixo. Fiquei extremamente tentado a entrar no grupo que deve ter discussões de grande conteúdo e alto nível técnico. Principalmente se você for um profissional "Oraco" certificado. Na boa, ainda tentei achar uma justificativa para a escrita errada da palavra, tipo, pow, o cara esqueceu um "L"... Mas não deu. Porque mesmo com um "L", a coisa ficava "Oraclo"... Sei lá, vai ver é a versão Português (Brasil) do ORACLE! =P I was searching into the Google Groups some nice forum about DataBases when I had found this "pearl" above. I was extremely tempted to join it, which might have high level technical discussions and content. Even more if you're a "Oraco" Certified Professional. No jokes, I really tried to find some justification on the misspelling of the word, as if... the guy just forgot or...

Os Cursores Compartilhados

Imagem
Ando com meu tempo meio oprimido. Tentando me dividir entre meus estudos, coisas da casa e escrever aqui. Meus outros dois blogs estão praticamente entregues as traças. Meus dois companheiros de blogagem (um em cada outro blog) conseguem ainda escreverem menos que eu. Então, resolvi escrever sobre um problema de banco de dados bizarro que tive certa vez. Tudo levava a crer que era algo relacionado a código fonte, frames, delphi e tal. "QR_Faturas: Type mismatch for filed 'data_emiss', expecting: String actual: Memo". Notamos que o erro ocorria sempre que abria uma tela cujo grid tinha algum campo que levava conversão de TO_CHAR, ou TO_DATE. É frame, não é... O mesmo executável funciona em outra base com os mesmos dados... What a hell!?!?!?! Lembrei que há uns 3 anos atrás tivemos um problema semelhante e realmente era um parâmetro de banco que causava toda essa confusão: CURSOR_SHARING. Esse parâmetro determina como uma instrução SQL irá compartilhar o cursor na me...

De LONG para VARCHAR2

Imagem
É, sei que estou bastante em falta com meu blog. O problema foi que tive que praticamente formatar meu notebook e reinstalar tudo (na verdade ainda estou reinstalando). Em casa não sobra muito tempo à noite para postar (novamente reinstalando o Vista e seus 500 patches de atualização e estudando para tirar certificação OCP). Além de ter que dividir o tempo entre os afazeres domésticos! O homem também tem que participar =P Bem, pra não dizer que abandonei completamente meu singelo blog, vou postar sobre a única coisa que tenho visto ultimamente. Oracle Database. Recentemente tivemos uma situação na empresa que foi necessário "desfazer" a alteração do desenvolvedor. Um campo que ele havia passado para LONG, voltar a sua situação original: VARCHAR2 O problema é que não vai ser um simples ALTER TABLE que vai fazer com que tudo volte a Terra do Moranguinho. Por ser um tipo de campo usado para guardar objetos "largos", o banco não aceita que você simplesmente "diminu...

ORA-20005: object statistics are locked! Forever Locked!

Imagem
O monitoramento da coleta de estatísticas de um banco é tão importante quanto a coleta em si. Muitos "DBAs" se preocupam apenas em implementar a tarefa de coleta de estatísticas, mas não se preocupam em monitorar se a coleta está sendo feita corretamente. Um problema comum que impede a coleta das estatísticas é o erro ORA-20005: object statistics are locked. Normalmente isso acontece quando há uma interrupção brusca no processo de coleta, deixando a estatística de algum objeto "travada", como uma queda de energia, falha de hardware ou desligamento do servidor por algum outro motivo. Após ocorrer o problema ORA-20005, as estatísticas posteriores não serão mais concluídas, levando a uma queda de performance. Entretanto a solução para o problema não é nada de outro mundo. Normalmente eu utilizo o pacote DBMS_STAT.UNLOCK_SCHEMA_STATS ('nome_do_esquema') para "destravar" o objeto que ficou preso. Caso queira ir direto ao problema, ou seja, o objeto em...

Perda de Conexão e os Processos Estourados

Perdoem-me pela minha ausência, aqui e nos outros blogs, mas estou de férias, na praia, deitado em uma rede e preocupado se dou mais um mergulho na piscina do privê ou se vou a praia, dar um mergulho no mar. Como estarei ainda aqui até o final da próxima semana, terei tempo de decidir. De qualquer modo vamos tratar hoje de um problema que tive na minha última semana de trabalho antes de sair de férias. Os desenvolvedores vinham queixando-se de uma constante perda de conexão com o banco quando executavam uma determinada aplicação. O primeiro lugar que você deve procurar em qualquer problema relacionado ao banco de dados é o arquivo de log. E lá estava o problema: Mon Jan 11 13:06:45 2010 Process m000 died, see its trace file Como o log mandou, fui olhar o arquivo de trace correspondente (procurei pela data e hora). Batata: ORA-00020: maximum number of processes exceeded Constatei que realmente o parâmetro PROCESSES do Oracle estava abaixo do que normalmente usamos na empresa: ...

Inicializando bancos automáticamente

Esse fim de semana tivemos uma queda de energia e o tempo foi maior do que os NoBreakes puderam suportar. Consequencia: nossos servidores foram desligados. Mas o melhor foi que semana passada desligamos a inicialização automática dos bancos para fazer um teste de performance e uso de memória. Ou seja, tive que conectar-me ao servidor no Sábado afim de colocar as principais bases no ar. Normalmente, no LINUX, os scripts de inicialização de banco ficam dentro do diretório /etc/rc.d/init.d . Lá você poderá encontrar arquivos como dbifx ou dbora, que geralmente contém os scripts de inicialização dos bancos que vocÊ deseja que sejam iniciados automáticamente quando o servidor é ligado. Os arquivos e locais podem variar dependendo da versão do Linux (ou S.O.), mas manteremos o escopo dentro desse padrão. Procure por arquivos com nome dbifx ou dbora dentro do diretório /etc/rc.d/init.d . Se não existir crie o seu. Existem várias formas de informar que instâncias você deseja que sejam inici...