Las estadísticas de base de datos Oracle
Cuando se trata de estadísticas dentro de su base de datos Oracle, yonformación es poder. Ese dicho se traduce un montón de diferentes maneras, pero la idea general es que cuanto más sepa acerca de alguien o de algo, más eficaz que puede estar trabajando con ese alguien o algo.
Para una base de datos para llevar a cabo en el nivel superior, usted tiene que dar la información de motor de base acerca de sus datos. Los datos acerca de los datos se llama metadatos. Estadísticas de Oracle es metadatos sobre sus datos. Hay varios tipos de estadísticas que Oracle utiliza:
Estadísticas de objeto: Estas estadísticas contienen información sobre sus datos reales. Por ejemplo, ¿cuántas filas tiene una mesa? O, lo que es la singularidad de los datos dentro de una columna?
Estadísticas del sistema: Estas estadísticas contienen información sobre el consumo de recursos de funcionamiento de la base de datos como lo ocupado son las CPUs o lo que es la lectura / escritura de tiempo de los discos?
Estadísticas de la tabla de uso: Estas estadísticas contienen información sobre la propia base de datos con un enfoque principal en las V $ tablas internas o diccionario de datos.
Capítulos enteros de libros se han dedicado a la recopilación de estadísticas. Sin embargo, recientemente (desde Oracle 10g) Oracle ha proporcionado algunos de los métodos internos de la base de datos que ayuda en la recopilación de estadísticas de objetos de forma automática. El hecho es que todavía hay algunas cosas administradores de bases de datos pueden hacer para obtener más información en manos de la base de datos de Oracle porque las estadísticas del sistema y las estadísticas de la tabla fijos aún no se recogen de forma automática.
En primer lugar, vamos a hablar de la recopilación de estadísticas del sistema. Estadísticas del sistema no son recogidos por la base de datos. La base de datos cuenta con un conjunto de estadísticas genéricas del sistema cajón de sastre, pero no son realmente va a hacernos mucho bien. Usted ve, las estadísticas del sistema, a veces también llamado estadísticas de carga de trabajo, deben estar alineados con las horas punta de sus bases de datos 'cuando su carga de trabajo es más pesado. Esos son los momentos en los que las estadísticas del sistema son más importantes porque es cuando el sistema puede ser gravado. La mejor práctica es capturar las estadísticas en el intervalo de tiempo en que el sistema tiene la carga de trabajo más común. Recopilación de estadísticas de carga de trabajo no genera una sobrecarga adicional.
Para recopilar estadísticas del sistema, siga este procedimiento:
Digamos que su empresa es más activo 12-5 pm
A las 12 de la tarde, comenzar las estadísticas del sistema proceso de recopilación. Acceda a su base de datos como un usuario con administrador de base de datos (DBA) privilegios y escriba lo siguiente:
EJECUTAR DBMS_STATS.GATHER_SYSTEM_STATS ('START' gathering_mode =>) -
En 5 p.m., ingrese de nuevo en su base de datos y número:
EJECUTAR DBMS_STATS.GATHER_SYSTEM_STATS (gathering_mode => 'STOP') -
La pauta más común es que se reúnen las estadísticas del sistema sólo cuando se produce un cambio físico en su entorno, por ejemplo, el servidor obtiene CPUs más rápidas, más memoria, o diferente de almacenamiento en disco. Sin embargo, también podría considerar la posibilidad de hacer esto si usted siente que su carga de trabajo ha cambiado significativamente. Por ejemplo, su empresa se ha duplicado el número de empleados.
Una última nota sobre las estadísticas del sistema - puede obtener más específico con las estadísticas del sistema. Este fue un ejemplo más básico. Algunos de ustedes podrían tener dos cargas de trabajo distintas que difieren en gran medida en el consumo de recursos durante todo el día. Por ejemplo, usted puede tener una carga de trabajo durante el día, que es en su mayoría de transacciones basado y una carga de trabajo nocturno que se lee basa principalmente. En realidad puede definir más de un conjunto de estadísticas del sistema y luego implementar cada una de ellas en determinados momentos del día a través de un trabajo programado para que tenga las mejores estadísticas de la carga de trabajo. Para obtener más información sobre el uso de este enfoque, consulte la referencia paquete DBMS_STATS con ejemplos para variar la carga de trabajo en este enlace documentación de Oracle.
Por último, fija estadísticas de tabla. Estadísticas de tabla fijos son estadísticas que contienen metadatos sobre sus puntos de vista internos X $ y V $. Estas opiniones no sólo son utilizados por usted, el DBA, sino también internamente por Oracle. Al igual que las estadísticas de objetos normales, más de Oracle sabe de lo que está contenido dentro de estos puntos de vista, mejor que el optimizador puede realizar contra ellos. Al igual que las estadísticas del sistema, Oracle recomienda que estas estadísticas se reunieron mejor cuando hay una carga de trabajo en el sistema.
Usted debe tener el administrador dabatase sistema (SYSDBA) o analizar cualquier privilegio de sistema DICCIONARIO ejecutar este procedimiento.
Para recopilar estadísticas de objetos fijos siga estos pasos:
Acceda a la base de datos como usuario SYSDBA.
Emita el comando:
exec DBMS_STATS.GATHER_FIXED_OBJECTS_STATS-
Tenga en cuenta que durante el período, mientras que estas estadísticas se están ejecutando, no va a ser un pequeño impacto en la sobrecarga del sistema. Dado que estas estadísticas son similares a objetar las estadísticas, debe ser no más de lo que normalmente se experimenta al recoger estadísticas de objetos. Así, a pesar de que Oracle recomienda que lo haga durante el mayor volumen de trabajo, asegúrese de que le sobran los recursos para completar el trabajo. A veces puede tomar hasta 15 minutos. Oracle también recomienda estadísticas objeto fijo se actualizan si realiza cualquier base de datos o aplicaciones grandes cambios. Por ejemplo, si aumenta la memoria de la base de datos a continuación, todas las tablas internas que contienen información acerca de la caché del búfer y piscina comunitaria puede cambiar.