Desenvolvimento > Utilitários > Verificações > Estatísticas > Estatísticas Oracle 

Esta função permite de visualizar as estatísticas geradas sobre a base de dados quando a base de dados utilizada é Oracle™.

Ela permite também de gerar ou de suprimir as estatísticas.

Observação importante :

Atenção, este tipo de funçãofacilita, via uma interface utilizador homogéneo com o software, o lançamento de procedimentos de exploração devolvidos a um administrador de base de dados. Ela está feita para ser lançada para um tal administrador (habitualmente chamada DBA).

Para ser utilizado com proveito, ela supõe então um conhecimento prévio do funcionamento das bases de dados e da sua optimização.

Pelo contrário, uma atualização inapropriada da função pode colocar sérios problemas de performances e colocar em perigo a segurança de exploração do software.

Pré-requisitos

SEEREFERTTO Consulte a docuemntação de Implementação

Gestão do ecrã

Esta função permite de visualizar e de gerar ou suprimir as estatísticas sobre a base de dados.
Estes elementos são apresentados sobre três separadores: O primeiro dá a lista das tabelas e de estado das estatísticas para cada um, o segundo dá a lista dos índices e o estado das estatísticas para cada um, o terceiro dá a lista dos parâmetros de base de dados ligados ao optimizador e à utilização das estatísticas.

Cabeçalho

Apresentação

Permite conhecer as características da base de dados utilizada.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

  • Base de dados (campo BDDNAM)

Nom de la base de données.

  • Versão (campo VER)

Numéro de version de la base de données.

  • campo VERDES

Description de la version de la base de données.

Fechar

 

Separador Esquema :

Apresentação

Êste separador apresenta a lista das tabelas e o estado das estatísticas para cada uma delas.

É possível de gerar ou suprimir as estatísticas :

    • para uma tabela por clique direito,
    • para todas as tabelas ou uma parte das tabelas em seleccionando as linhas pretendidas antes de desencadear a acção pelos botões de rodapé de ecrã.

A supressão das estatísticas sobre uma tabela suprimerá a totalidade das estatísticas geradas por esta e assim dos seus índices.

A geração das estatísticas sobre uma tabela não gerará as estatísticas sobre os seus índices.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Quadro

  • A tratar (campo PROFLG)

Permite de definir se a linha deve ser tratada em geração ou supressão de estatísticas, para os botões de baixo de ecrã correspondentes.

  • Tabela (campo TAB)

Nome da tabela na base de dados

  • Estatísticas (campo STTFLG)

Indica se as estatísticas válidas são geradas em base de dados.

  • Data última análise (campo STTDAT)

Data da última análise das estatísticas

  • campo STTHOU

Hora da última análise das estatísticas

Fechar

 

Funções acessíveis por clique direito no quadro

Sim a todo o resto

Quando tem um quadro de registo de escolhas múltiplas com uma escolha de resposta Sim / Não sobre cada linha, esta função permite de responder Sim a todas as linhas a partir da linha corrente.

Não resta nada

Quando tem um quadro de registo de escolhas múltiplas com uma escolha de resposta Sim / Não sobre cada linha, esta função permite de responder Não a todas as linhas a partir da linha corrente.

Atualizar a linha

Permite de refrescar a afixação da linha corrente do quadro

Gerar para a linha

Permite de gerar as estatísticas para a linha corrente do quadro.

Suprimir para a linha

Permite de suprimir as estatísticas para a linha corrente do quadro.

 

Fechar

 

Separador Tabelas

Apresentação

Este separador apresenta a lista dos índices e o estado das estatísticas para cada uma delas.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Quadro

  • A tratar (campo PROFLG)

Permite de definir se a linha deve ser tratada em geração ou supressão de estatísticas, para os botões de baixo de ecrã correspondentes.

  • Tabela (campo TAB)

Nome da tabela na base de dados

  • Index (campo INDEX)

Nome do indice na base de dados

  • Estatísticas (campo STTFLG)

Indica se as estatísticas válidas são geradas em base de dados.

  • Data última análise (campo STTDAT)

Data da última análise das estatísticas

  • campo STTHOU

Hora da última análise das estatísticas

Fechar

 

É possível de gerar ou suprimir as estatísticas :

    • para um indice por clique direito,
    • para todos os indices ou uma parte dos indices em seleccionando as linhas pretendidas antes de desencadear a ação pelos botões de rodapé de ecrã.

Funções acessíveis por clique direito no quadro

Sim a todo o resto

Quando tem um quadro de registo de escolhas múltiplas com uma escolha de resposta Sim / Não sobre cada linha, esta função permite de responder Sim a todas as linhas a partir da linha corrente.

Não resta nada

Quando tem um quadro de registo de escolhas múltiplas com uma escolha de resposta Sim / Não sobre cada linha, esta função permite de responder Não a todas as linhas a partir da linha corrente.

Gerar para a linha

Permite de suprimir as estatísticas para a linha corrente do quadro.

 

Fechar

 

Separador Índice

Apresentação

Este separador apresenta a lista dos parâmetros de base de dados ligados ao optimizador e à utilização das estatísticas.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Quadro Parâmetros do optimizador

  • Instância (campo INSTID)

 

  • Parâmetro (campo PAR)

Afixa os parâmetros ligados ao optimizador e à utilização das estatísticas.

Os parâmetros apresentados dependem da versão de Oracle Estes parâmetros não são modificáveis depois esta função.

  • Valor (campo PARVAL)

 

  • Valor por defeito (campo DEFVAL)

 

  • Descrição (campo DES)

 

Fechar

 

Não é possível de agir aqui sobre estes valores.

Funções acessíveis por clique direito no quadro

Atualizar a linha
Gerar para a linha
Suprimir para a linha

 

Fechar

 

Separador Base

Campos

Os seguintes campos estão presentes neste separador :

Quadro Parâmetros do optimizador

  • Instância (campo INSTID)

 

  • Parâmetro (campo PAR)

Afixa os parâmetros ligados ao optimizador e à utilização das estatísticas.

Os parâmetros apresentados dependem da versão de Oracle Estes parâmetros não são modificáveis depois esta função.

  • Valor (campo PARVAL)

 

  • Valor por defeito (campo DEFVAL)

 

  • Descrição (campo DES)

 

Fechar

 

Botões específicos

Este botão, igualmente acessível pelo atalho, permite refrescar a afixação dos separadores.

Permite de gerar as estatísticas para todas as linhas seleccionadas nos quadros dos separadores Tabelas e Índices

Permite de suprimir as estatísticas para todas as linhas selecionadas nos quadros dos separadores Tabelas e Índices

Explicações sobre as estatísticas Oracle

Quando as estatísticas devem ser calculadas ?

Isso depende da taxa e do volume de alteração dos dados na base.

As estatísticas de um objecto tornam-se obsoletas quando um volume importante de actividade DML está operado sobre o objeto.
Falta fazer seguimento uma inserção ou uma supressão massiva para uma nova análise, afim de assegurar a correspondência entre as estatísticas do dicionário, a distribuição e o conteúdo das linhas da tabela. Se a sua tabela contém após-corte um número importante de linhas e que as suas estatísticas portam sobre uma pequena parte de entre elas, é possível que o plano de execução construido pelo optimizador não seja óptimo.

Como funciona o optimizador ?

A otimização baseada sobre o custo está declarada por um parâmetro optimizer_mode que pode ter 3 valores

    • ALL_ROWS (valor por defeito em Oracle 10)
    • FIRST_ROWS [n]
    • FIRST_ROWS
    • CHOOSE (valor por defeito em Oracle 9, não suportado em Oracle 10)


A optimização estática está declarada pelo valor RULE. Neste caso, o optimizador utiliza a sintaxe do pedido para realizar o melhor plano de execução. O otimizador sintatico não está mais suportado em Oracle 10.

  • Se o parâmetro OPTIMIZER_MODE está posicionado a ALL_ROWS, isso quer dizer "Melhor débito" : O pedido está executado para que ele seja o mais rápido possível para todos os registos a carregar.
  • Se o parâmetro OPTIMIZER_MODE está posicionado a FIRST_ROWS, isso quer dizer "Melhor tempo" : o pedido é executado para a primeira resposta seja encontrada mais rapidamente possível.
  • Se o parâmetro OPTIMIZER_MODE está posicionado a FIRST_ROWS [n], isso quer dizer "Melhor tempo" : O pedido está executado para que os n primeiras respostas sejam encontrados o mais rapidamente possível.
  • Se o parâmetro OPTIMIZER_MODE está posicionado a CHOOSE, é a presença de estatísticas no dicionário que determina se o optimizador estatístico está utilizado.

Utilização de um modo baseado sobre os custos

É importante que as estatísticas sejam geradas para todos os objetos num esquema. Com efeito, a presença de estatísticas parciais para uma instrução selecta pode levar ao processo servidor a avaliar das estatísticas sobre os objetos que não dispõem. Este tipo de amostragem de estatísticas realiza ao curso de execução não está registado de maneira permanente no dicionário dos dados. É então repetido em cada execução do mesmo pedido.

Informações técnicas

Todas as informações sobre as tabelas, indice e estatísticas são lidas directamente na base de dados a partir das tabelas e vistas Oracle :

    • V$PARAMETER
    • PRODUCT_COMPONENT_VERSION
    • USER_TABLES
    • USER_INDEXES

As datas de estatísticas correspondentes à coluna LAST_ANALYZED das vistas Oracle USER_TABLES e USER_INDEXES.

As estatísticas são geradas com a ajuda do package Oracle DBMS_STATS.
Os procedimentos utilizados são:

    • GATHER_TABLE_STATS
    • GATHER_INDEX_STATS
    • DELETE_TABLE_STATS
    • DELETE_INDEX_STATS

Mensagens de erro

Não existe outra mensagem de erro, para além das mensagens genéricas.

Tabelas consideradas

SEEREFERTTO Consulte a docuemntação de Implementação