Archive for Novembro, 2011

Objetos do SYS inválidos após remoção do XMLDB 11G

Postado em 28-Nov-2011 sobre Alta disponibilidade,Erros,Instalação,Oracle Database,Scripts,Segurança

Como já abordado em outro artigo Instalando o Oracle XML DB 11G, a remoção do Oracle XMLDB é simples, basta executarmos o script catnoqm fornecido pela própria Oracle e pronto.

Contudo, podemos observar que após sua desinstalação varios objetos do SYS se tornam inválidos no 11.2.0.1 e 11.2.0.2, isto em função do BUG 9892139 (já resolvido na versão 11.2.0.3) onde varios objetos do SYS são marcados como inválidos devido dependencias perdidas com o XDB.

Para podermos reparar estes objetos a Oracle disponibilizou alguns scripts que devem ser executados manualmente com o SYS, conforme veremos abaixo:

Continua …

Sobre Anderson Graf

Analista DBA Oracle, certificado OCP Oracle 10G, OCE Linux, estudante de sistemas de informação.

PL/SQL: ORA-00947: not enough values

Postado em 17-Nov-2011 sobre Erros,Oracle Database,PL/SQL,Scripts

Hoje um cliente solicitou apoio para identificar o que estava gerando erro na criação de sua procedure e a deixando inválida na base de dados, pois bem, para identificarmos o que estava acontecendo bastou uma simples verificação:

SQL> show error procedure teste
Errors for PROCEDURE TESTE:

LINE/COL ERROR
-------- -----------------------------------------------------------------
60/12    PL/SQL: SQL Statement ignored
60/24    PL/SQL: ORA-00947: not enough values
97/12    PL/SQL: SQL Statement ignored
97/24    PL/SQL: ORA-00947: not enough values

 

Maravilha, identificamos que o erro é “PL/SQL: ORA-00947: not enough values” mas o que isto quer dizer? Significa que “Não há valores suficientes”, ou seja, no INSERT está sendo passado uma quantidade inferior de valores do que é necessário ou foi especificado na instrução DML. Vejamos:

Continua …

Sobre Anderson Graf

Analista DBA Oracle, certificado OCP Oracle 10G, OCE Linux, estudante de sistemas de informação.

Campo interval do job mais elaborado

Postado em 16-Nov-2011 sobre Oracle Database,Scripts

Neste artigo gostaria de demonstrar que os jobs podem ser executados em horários diversos com varias formas de interval, e o detalhe que em um unico job.

Para os que desconhecem jobs do oracle ou queiram relembrar sobre, dê uma relida no artigo do nosso Admin Leandro Lana sobre Jobs do Oracle.
Ok, agora vamos ao que interessa.

Passei uma situação de um job ter que executar todos os dias da semana, bom é muito simples pois no campo interval é simplesmente colocar por exemplo:

Continua …

Sobre Rafael Stoever

Bacharel em Sistema de Informação pela Uniasselvi, atualmente cursando Gerenciamento de Projetos em TI pela Pós Graduação Uniasselvi. Atuo como Analista de suporte a banco de dados - DBA pela Teiko Soluções em TI residente de Blumenau/ SC, OPN Certified Specialist, Certificado OCP 10g/11g, OCE RAC10g e Linux 10g. Conhecimentos em Microsoft SqlSever e Mysql e programação web (php,asp).

Instalando Oracle Enterprise Linux 5.6 para Banco de Dados Oracle 11gR2.

Postado em 15-Nov-2011 sobre Instalação,Linux,Oracle Database

O objetivo deste é explicar como instalar o Oracle Enterprise Linux para a instalação do Banco de Dados Oracle versão 11g Release 2.
OBS: Não narrei a Apresentação, pois o arquivo seria muito grande, porém a explicação passo a passo segue abaixo do video.


Passo a Passo
Continua …

Sobre Maycon Tomiasi

Formado em Tecnologia da Informação na FIPP (Faculdade de Informática de Presidente Prudente), Analista DBA Oracle pela Teiko Soluções em Tecnologia da Informação, residente em Blumenau/ SC, Certificado OCP 10g, 11g e OCS 11g. Conhecimentos em PHP.

Pós e Contras do uso de Inserção de Arquivo do Filesystem no Banco de Dados.

Postado em 14-Nov-2011 sobre Backup,Oracle Database,PL/SQL,Scripts,Segurança

O objetivo deste artigo se deve a uma dúvida que eu tinha e que acabou se confirmando em questão do uso de BLOB no Oracle.
A dúvida seria se ao inserir um arquivo qualquer, por exemplo de media (Estou usando para o teste) numa tabela com uma coluna BLOB, qual seria realmente o tamanho deste arquivo após a inserção na tabela.
Então segue o mesmo abaixo.

Vamos criar o diretório no filesystem, tranferir os arquivos e criar o diretório no Oracle apontando para o diretório no filesystem que estão os arquivos.
Continua …

Sobre Maycon Tomiasi

Formado em Tecnologia da Informação na FIPP (Faculdade de Informática de Presidente Prudente), Analista DBA Oracle pela Teiko Soluções em Tecnologia da Informação, residente em Blumenau/ SC, Certificado OCP 10g, 11g e OCS 11g. Conhecimentos em PHP.

Flashback Database 11gR2 – On & Off com instance OPEN

Postado em 11-Nov-2011 sobre Alta disponibilidade,Backup,Erros,Linux,Literatura,Oracle Database,Segurança,Windows

Hoje não veremos como utilizar o flashback database mais sim iremos compartilhar mais um conhecimento que muitos ainda não sabem, o flashback database é uma feature que surgiu na versão 10G e que acompanha as novas versões do Oracle, porém agora na versão 11gR2, diferentemente de seus antecessores que era necessário parar o banco para poder habilitar ou desabilitar o flashback, agora podemos realizar este procedimento com a base de dados aberta (OPEN).

Mas para que isso é util?

Imagine que você está prestes a realizar uma operação crítica no banco de dados e você quer ter a possibilidade de voltar atras caso ocorra problemas, simples, agora no 11gR2 podemos habilitar o flashback sem a necessidade de causar a indisponibilidade do banco de dados.

Continua …

Sobre Anderson Graf

Analista DBA Oracle, certificado OCP Oracle 10G, OCE Linux, estudante de sistemas de informação.

Download de patchs direto pelo linux

Postado em 11-Nov-2011 sobre Instalação,Linux,Oracle Database,Segurança

Para quem precisa baixar algum patch diretamente no linux, não precisa do Windows para efetuar o download ou um browser do linux para este procedimento. Pode utilizar o WGET do Linux.

Segue a imagem de onde tem q pegar o link para efetuar o download:

E no linux para efetuar o download:
Continua …

Sobre Rafael Stoever

Bacharel em Sistema de Informação pela Uniasselvi, atualmente cursando Gerenciamento de Projetos em TI pela Pós Graduação Uniasselvi. Atuo como Analista de suporte a banco de dados - DBA pela Teiko Soluções em TI residente de Blumenau/ SC, OPN Certified Specialist, Certificado OCP 10g/11g, OCE RAC10g e Linux 10g. Conhecimentos em Microsoft SqlSever e Mysql e programação web (php,asp).

Outra forma visualizar os archives gerados por hora (pivot)

Postado em 10-Nov-2011 sobre Alta disponibilidade,Backup,Performance,Scripts

Após descobrir como verificar quantos arquivos estão sendo gerados por hora com o post do Maycon Tomiasi, resolvi postar para vocês uma forma diferente de pegar os históricos dos archives de sua instância.

Se acompanharem o oraclehome vocês verão que esta tecnica foi postada aqui ontem Pivot ou CrossTab Post de nosso adm Rafael Stoever.

Esta Forma pode ser de escolha de algumas pessoas para diagnostificar algum desvio padrão no comportamento dos archives.

Continua …

Sobre Leandro Lana Lana

Trabalho a 6 anos com banco de dados Oracle, ja trabalhei com as plataformas 9i, 10G e 11G.

Trabalhando atualmente como consultor Oracle.

Administrador e cofundador do site www.oraclehome.com.br

Certificações:

Oracle OCP 10G

Oracle OCE linux.

Oracle Rac 10G.

Oracle Partner Especialist.

Contato: leandro_lana@terra.com.br

Fone: 91916052

Pivot ou CrossTab (invertendo linhas em colunas)

Postado em 09-Nov-2011 sobre Oracle Database,PL/SQL,Scripts

Imagine você está tentando para criar um jogo de resultados onde os registros precisam ser colunas, ou vice-versa.
A essência, você precisa “girar” os registros em colunas, ou vice-versa.
Muitas vezes há relatorios que exigêm isto e para que não precisarmos de criar functions ou qualquer outra coisa para solucionar isso podemos usar o chamado pivot ou crosstab queries.
Uma questão de pivot simples é realizada fazendo o seguinte:
1. Acrescente algum tipo de conta ou número de fila ao seu questionamento, se necessário para o agrupamento;
2. Então use sua query original como uma sub-query;
3. Use “decode” para se transformar os registros em colunas;
4. Use “MAX ou SUM” para “agrupar” os registros múltiplos em únicas coluna. E não pode ser esquecido de agrupar.
Exemplo prático:
Continua …

Sobre Rafael Stoever

Bacharel em Sistema de Informação pela Uniasselvi, atualmente cursando Gerenciamento de Projetos em TI pela Pós Graduação Uniasselvi. Atuo como Analista de suporte a banco de dados - DBA pela Teiko Soluções em TI residente de Blumenau/ SC, OPN Certified Specialist, Certificado OCP 10g/11g, OCE RAC10g e Linux 10g. Conhecimentos em Microsoft SqlSever e Mysql e programação web (php,asp).

Oracle Inventory directory (oraInventory)

Postado em 08-Nov-2011 sobre Erros,Instalação,Linux,Oracle Database,Segurança

Esta semana estava realizando uma nova instalação do Oracle em um cliente onde o mesmo havia removido o filesystem(unidade) em que estava instalado o Oracle e ao iniciar a instalação recebi uma mensagem de erro indicando problemas no acesso ao diretório do Oracle Inventory, cujo diretório já não existia mais (removido)!

 

Antes de apontarmos a solução, que é bem simples, vamos primeiro entender o que é armazenado neste diretório ‘oraInventory’.

Continua …

Sobre Anderson Graf

Analista DBA Oracle, certificado OCP Oracle 10G, OCE Linux, estudante de sistemas de informação.