Oracle Database Statistics

Quando se trata de estatísticas dentro de seu banco de dados Oracle, Eunformação é poder. Dizendo que traduz um monte de maneiras diferentes, mas a idéia geral é que quanto mais você sabe sobre alguém ou alguma coisa, mais eficaz que você pode estar trabalhando com que alguém ou algo.

Para um banco de dados para executar no nível superior, você tem que dar as informações de banco de dados sobre seus dados. Os dados sobre dados é chamada metadados. estatísticas da Oracle é metadados sobre seus dados. Existem vários tipos de estatísticas que a Oracle usa:

  • estatísticas de objetos: Estas estatísticas contêm informações sobre seus dados reais. Por exemplo, quantas linhas se uma tabela tem? Ou, o que é a singularidade dos dados dentro de uma coluna?

  • estatísticas do sistema: Estas estatísticas contêm informações sobre o consumo de recursos de funcionamento do banco de dados como o quão ocupado são os CPUs ou o que é de leitura / gravação tempo dos discos?

  • estatísticas da tabela fixos: Estas estatísticas contêm informações sobre o próprio banco de dados com foco principal nas mesas de $ V internos ou dicionário de dados.

capítulos inteiros de livros têm sido dedicados à recolha de estatísticas. No entanto, recentemente (desde Oracle 10g) a Oracle forneceu alguns métodos internos para o banco de dados que ajudam na coleta de estatísticas objeto automaticamente. O fato é que ainda existem algumas coisas que os administradores de banco de dados pode fazer para obter mais informações para as mãos do banco de dados Oracle, porque as estatísticas do sistema e estatísticas da tabela fixos ainda não são recolhidos automaticamente.

Primeiro de tudo, vamos falar sobre o recolhimento de estatísticas do sistema. estatísticas do sistema não são recolhidas pelo banco de dados. O banco de dados vem com um conjunto de estatísticas do sistema catchall genéricos, mas eles não são realmente vai fazer-nos muito bom. Você vê, as estatísticas do sistema, às vezes também chamado de estatísticas de carga de trabalho, deve estar alinhado com horários de pico dos seus bancos de dados quando sua carga de trabalho é mais pesado. Esses são os momentos em que as estatísticas do sistema são mais importantes porque é quando o sistema pode ser tributado. A melhor prática é para capturar as estatísticas no intervalo de tempo em que o sistema tem a carga de trabalho mais comum. Recolha de estatísticas de carga de trabalho não gera sobrecarga adicional.

Para reunir estatísticas do sistema, siga este procedimento:

Vamos dizer que a sua empresa é mais movimentado 12-5 p.m.

No 12:00, iniciar as estatísticas do sistema processo de coleta. Faça login em seu banco de dados como um usuário com privilégios de administrador de banco de dados (DBA) e digite o seguinte:

EXECUTAR DBMS_STATS.GATHER_SYSTEM_STATS (gathering_mode => "START") -

No 17:00, faça o login em seu banco de dados e emissão:

EXECUTAR DBMS_STATS.GATHER_SYSTEM_STATS (gathering_mode => 'STOP') -

A orientação mais comum é que você reunir estatísticas do sistema somente quando uma mudança física ocorre em seu ambiente, por exemplo, o servidor recebe CPUs mais rápidos, mais memória ou armazenamento em disco diferente. No entanto, você também pode considerar fazer isso se você se sentir a sua carga de trabalho mudou significativamente. Por exemplo, sua empresa duplicou o número de empregados.

Uma última nota sobre estatísticas do sistema - você pode obter mais específico com as estatísticas do sistema. Este foi um exemplo mais básico. Alguns de vocês podem ter duas cargas de trabalho distintas que diferem grandemente no consumo de recursos durante todo o dia. Por exemplo, você pode ter uma carga de trabalho durante o dia, que é principalmente transação com base e uma carga de trabalho durante a noite que é lido principalmente com base. Você pode realmente definir mais de um conjunto de estatísticas do sistema e, em seguida, implantar cada um em determinados momentos do dia através de um trabalho programado para que você tenha as melhores estatísticas para a carga de trabalho. Para obter mais informações sobre como usar essa abordagem, consulte a referência pacote DBMS_STATS com exemplos para a variação do volume de trabalho neste ligação de documentação do Oracle.

Por último, fixa estatísticas da tabela. estatísticas da tabela fixos são estatísticas que contêm metadados sobre seus pontos de vista internos X $ e V $. Estes pontos de vista são usadas não somente por você, o DBA, mas também internamente pela Oracle. Como as estatísticas de objetos normais, mais o Oracle sabe sobre o que está contido dentro desses pontos de vista, o melhor otimizador pode realizar contra eles. Como as estatísticas do sistema, a Oracle recomenda que estas estatísticas são melhor recolhidas quando há uma carga de trabalho no sistema.

Você deve ter o administrador dabatase sistema (SYSDBA) ou analise qualquer privilégio sistema de dicionário para executar este procedimento.

Para reunir estatísticas objeto fixo siga estes passos:

Faça o login no banco de dados como um usuário SYSDBA.

Emitir o comando:

exec DBMS_STATS.GATHER_FIXED_OBJECTS_STATS-

Esteja ciente de que, durante o período, enquanto estas estatísticas estão em execução, não vai ser um pequeno impacto sobre a sobrecarga do sistema. Uma vez que estas estatísticas são semelhantes ao objeto estatísticas, ele não deve ser mais do que seria normalmente experiência na coleta de estatísticas de objetos. Assim, mesmo que a Oracle recomenda que você faça isso durante a carga de pico, não se esqueça que você pode poupar os recursos para concluir o trabalho. Por vezes, pode demorar até 15 minutos. A Oracle também recomenda estatísticas objeto fixo são atualizados se você fizer qualquer banco de dados ou aplicativos grandes mudanças. Por exemplo, se você aumentar a memória do banco de dados, em seguida, todas as tabelas internas que contêm informações sobre o cache de buffer e piscina comum pode mudar.

menu