Oradata

Tuning

Oracle Statspack – Parte I

O Statspack é uma package do Oracle database que armazena snapshots dos dados de performance da instância de banco de dados seja ela single ou RAC. Você pode usar o Statspack como uma alternativa ao relatório AWR (que é uma option do Oracle e precisa ser licenciado à parte no Oracle Diagnostic Pack). Diferentemente do AWR que já vem instalado e funcional, o Statspack precisa ser configurado manualmente para que funcione de forma correta. Esta etapa é muito simples, basta executar um script sql que fica na $ORACLE_HOME/rdbms/admin. Nesta pasta existem vários scripts sql que são usados na administração da instância, destes scripts todos aqueles que começarem com spXXXX.sql são…

Oracle Result Cache

O result cache é uma área de memória da instância que retém o resultado das instruções SQL para reutilização por outras sessões, a memória utilizada neste caso é a memória da shared pool, nela ficará contido o resultado de comandos “SELECT” e funções PL/SQL que estarão tirando proveito desta funcionalidade. Quando determinado comando SQL (select ou uma PL/SQL function) é utilizado por repetidas vezes, o banco de dados pode armazenar o resultado destes comandos no result cache para ser reutilizado por outras sessões que executarem o mesmo comando, evitando então a execução repetida e desnecessária destes comandos, porém quando o dado (que está no result cache) é modificado o resultado…

Trace, TKPROF, trcsess e etc…

Neste artigo vamos falar um pouco sobre o processo de geração de “traces” dentro do Oracle, um recurso que é bastante útil quando você precisa rastrear as atividades de determinado usuário dentro da instancia de banco de dados. Dando uma explicação bem simples e direta, o processo de gerar traces nada mais é do escrever em arquivos texto tudo o que determinado usuário fizer, para que se possa fazer uma análise posterior, e para isso precisamos interagir com alguns componentes do Oracle, pois bem, vamos lá. Imagina que você tem uma reclamação de que a aplicação está tendo problemas de lentidão em determinado ponto, aí você pergunta para o desenvolvedor…

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…

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…