Oradata

Tamanho Fast Recovery Area

De acordo com as boas práticas, o que é ensinado na documentação da Oracle e até mesmo em treinamentos, em um banco de dados temos que configurar uma área de storage chamada de “Fast Recovery Area”. Esta área vai armazenar seus arquivos de backup, archivelogs e uma cópia de seu controlfile além de alguns membros de seus grupos de redolog. Normalmente essa área será um ASM diskgroup chamado +FRA (mas pode ser qualquer outro tipo de filesystem, caso você não esteja trabalhando com ASM) e nós a definimos no banco de dados através de dois parâmetros do SPFILE DB_RECOVERY_FILE_DEST (Que define a localização) e DB_RECOVERY_FILE_DEST_SIZE (Que define o volume de…

pdksh-5.2.14

Já estamos com o Oracle database 12c a todo vapor por aí, mas vez por outra temos que fazer algumas instalações da versão 11gR2, isso é normal e vai durar por um bom tempo ainda, e fazendo uma instalação do 11gR2 esses dias me deparei com um erro de falta de uma lib no Red Hat 6, e o nome da “dita cuja” era  pdksh-5.2.14. Procurei no repositório da Red Hat e não encontrava a versão solicitada pelo OUI (Oracle Universal Installer), então parti o suporte da Oracle para ver o que encontraria lá e acabei por encontrar que se tratava de um bug no processo de instalação (essa informação pode…

Oracle Wallet

Oracle Wallet O que é? Como o próprio nome diz “wallet” do inglês “carteira”, o Oracle Wallet trabalha como se de fato fosse uma carteira mesmo, e dentro de uma carteira você coloca o que? Dinheiro, documentos, cartões e etc… Agora trazendo isso para o mundo de banco de dados, vamos imaginar uma carteira, onde dentro dela você guarde cartões, e esses cartões serão a sua chave para abrir as portas, ou melhor, instancias de bancos de dados. Esse é o papel do Oracle Wallet. Pra que serve? Muitas vezes temos tarefas a executar de forma automática onde usamos scripts (Shell, Phyton, Batch e etc) que ficam salvos em computadores,…

Desfragmentando Tabelas

O que é? Muitas vezes quando executamos operações de DELETE em nossas tabelas dentro do banco de dados, não recuperamos o espaço dos registros que foram excluídos, isso acontece porque fisicamente os registros são excluídos, mas logicamente ainda estão na HWM (High Water Mark) dos datafiles. Esse artigo vai mostrar como esse evento acontece e explicar o que se fazer para resolver este tipo de situação. Primeiramente vamos criar uma tabela para ser a “cobaia” do nosso laboratório. Agora insira uma quantidade de registros “substancial” à tabela. Agora que a tabela foi criada e recebeu uma carga de dados, vamos verificar quantos “data blocks” e “extents” ela possui, para isso…

Enterprise Manager 12c Express

O Oracle database 12c já está disponível para download desde 26/06/2013, e eu como mais um geek nesse ramo, baixei o meu release, criei minha VM e já estou brincando rsrsrs. Inclusive estou escrevendo este post para colocar a primeira novidade que encontrei que é relacionada ao Enterprise Manager. Nas versões anteriores do banco de dados 10g e 11g, haviam dois tipos de Enterprise Manager (Database Control e Grid Control), a partir de agora a coisa vai mudar um pouquinho, o Enterprise Manager que gerencia mais de um alvo, e que antes era o “Grid Control” a partir de agora passa a chamar-se “Cloud Control” Esse produto já está no…

Standby Database 10gR2

O que vou escrever abaixo é na verdade a cópia de um documento que tive que escrever aqui na empresa em que trabalho como parte da documentação de nossos processos internos e é um “step by step” de como construir um “Standby Database”, o documento não entra muito em detalhes, mas para quem conhece um pouco de Oracle já consegue executar as instruções e implementar o seu (caso queiram um documento mais detalhado me mandem um e-mail que eu envio um outro documento com maiores informações). E agora “mão na massa”. 1 – Pré-requisitos. Os pré-requisitos para a criação de um Standby Database são: Dois servidores com as configurações mínimas…

Particionamento de tabelas

O que é? O particionamento de tabelas (Oracle Partitioning) é a capacidade de dividir fisicamente tabelas de seu banco dados, sem a necessidade de reescrever o código fonte de sua aplicação, pois logicamente a tabela particionada é como uma tabela normal de seu banco de dados e é capaz de receber as mesmas instruções SQL (DDL, DML e DCL) que qualquer outra tabela, a separação dos dados acontece somente no âmbito físico, de acordo com o que for especificado no momento do particionamento pelo desenvolvedor. Para que serve? O particionamento é de grande utilidade quando estamos trabalhando com tabelas que tem uma massa de dados muito grande, pois a partir…

Função LISTAGG

A função LISTAGG (list aggregate | lista agregada), é uma função SQL de grupo específica do Oracle, que agrupa os dados na mesma linha dentro de uma instrução SELECT, você pode utilizá-la sozinha para produzir conjuntos de dados agrupados por linhas simples, ou em conjunto com a função GROUP BY, abaixo alguns exemplos. Imagine um SELECT comum na tabela EMPLOYEES. Agora vamos montar um relatório que liste em uma única linha, o nome completo dos empregados no padrão americano (sobrenome, nome) separado por ‘; ’ juntamente com a data de contratação do empregado mais antigo. Neste caso ficaria assim. LISTAGG + GROUP BY Como falamos no inicio do artigo, também…

Horário de verão x Enterprise Manager 12c

Olá a todos! Quando termina o nosso horário de verão, para nós profissionais de TI sempre vem aquela preocupação com servidores, aplicações e etc, felizmente não tive problema nenhum com meus servidores Oracle todos trocaram o horário automaticamente sem problemas, tudo uma maravilha, não fosse alguns erros que aconteceram nos agentes do Enterprise Manager 12c, como vocês pode ver na imagem abaixo. Pois bem esse erro acontece porque a hora que o agente tem registrada em sua memória está a frente da hora do sistema operacional. Então a todo momento em que o agente tenta fazer a coleta de alguma informação acontece o erro, e consequentemente se você tiver configurado a…

Projetando um rotina de Backup

Olá amigos! Muitas vezes quando você pergunta para alguém qual é o conceito de backup seja de um banco de dados ou de qualquer outro tipo de informação, a resposta na maioria das vezes é algo parecido como “Ahh… É uma cópia que eu faço e deixo guardada, para repor em caso de problemas”. Pela resposta já podemos prever que se acontecer algum problema, muito provavelmente o backup não será a solução, pois o conceito de backup vai muito além da “maldita” frase acima. Especificamente no caso de banco de dados, a palavra backup representa muito mais do que “essa tal cópia que você tem que deixar guardada”. Representa todo…