Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
curación, que todavía requieren una cierta supervisión para que sigan funcionando tan
eficientemente como sea posible. Al igual que su coche, una base de datos requiere
un poco de control para que siga funcionando de manera óptima. Este documento se
divide en las tareas o los controles que se pueden ejecutar en diferentes intervalos de
tiempo para asegurarse de que sus bases de datos DB2 es el mejor, y detectar
posibles problemas antes de que sucedan.
El primer conjunto de controles o tareas se debe ejecutar todos los días para
asegurarse de que no hay problemas actuales o inminentes. El segundo conjunto se
debe ejecutar semanalmente para comprobar si existen problemas o problemas que
pueda haber ocurrido durante la semana o es probable que se produzca la próxima
semana. El conjunto final de los controles o tareas no es necesario correr todos los
días o semanas, pero se debe ejecutar mensualmente para mantener el sistema
funcionando sin problemas, y para evitar futuros problemas en caso de que un
problema se produce.
Hay una serie de razones por las que debe controlar su bases de datos, sin embargo,
la razón principal es asegurarse de que no existen actualmente problemas con el
sistema o son inminentes. Siempre es mejor para detectar un problema y tomar
medidas para evitar que suceda que tener que reaccionar ante un problema una vez
que ha sucedido. Mediante el control de sus sistemas de base de datos DB2 como se
describe en este artículo, usted será capaz de detectar muchos problemas antes de
que sucedan, y mantener el rendimiento de su sistema.
Normalmente, tendrá que combinar de DB2 y el control del sistema operativo con el fin
de obtener el cuadro completo de lo que está pasando en el servidor de base de
datos. herramientas de DB2 solos normalmente no dan la imagen completa.
Herramientas de Windows
herramientas de DB2
DB2 tiene una serie de herramientas que pueden utilizarse para monitorizar la
actividad de las bases de datos e instancias. Estos incluyen:
1. Health Monitor
Usted puede acceder a los datos que el administrador de base de datos mantiene, ya
sea tomando una instantánea o utilizando un monitor de eventos. Usted puede tomar
una instantánea en una de las siguientes maneras:
Utilizando el comando GET Descripción de la línea de comandos
Llamando a las funciones de SQL de instantáneas de mesa
Uso del Centro de Control
Escribe tu propia aplicación, que hace que el sqlmonss () llamada a la API.
3. Evento Monitores
de sucesos de mesa.
Herramientas del sistema operativo
Por definición, una base de datos es coherente cuando todas las transacciones
confirmadas se han escrito en el disco, y las transacciones no confirmadas no están
en el disco Cuando una base de datos se está ejecutando con las aplicaciones
conectadas a la misma, no serán las operaciones que han cambiado las páginas, que
pueden haber cometido, pero las páginas cambiado no han sido eliminados del grupo
de búferes en el disco. Además, es posible que las transacciones que se deshacen,
pero sus cambios se vuelca en disco. En este caso, el GET DB CFG informará de que
la base de datos es incoherente, pero en realidad está muy bien. Por lo tanto, sólo
tiene que conseguir la información de configuración de base de datos para todas las
bases de datos no es suficiente.
Un buen método, ya que también hará que las bases de datos inconsistentes
coherente y por lo tanto reducir los tiempos para las futuras solicitudes de conexión, es
conectar con éxito a todas las bases de datos. Esto también puede ser fácilmente
secuencias de comandos, siempre y cuando todas las bases de datos se catalogan en
su estación de trabajo.
Esto puede ser un guión para que se ejecute para todos los bases de datos después de las
copias de seguridad completa, y el informe enviado por correo electrónico. A continuación,
puede simplemente verificar el informe de cada mañana.
En el caso de que todo el servidor se cae durante un período prolongado de tiempo, puede que
tenga que volver a su plan de recuperación de desastres, restaurar la base de datos a otro
servidor, tal vez en otro lugar. Por lo tanto, es importante que las imágenes de copia de
seguridad se almacenan en un sitio seguro, no sólo en el servidor donde se toma la copia de
seguridad. Esto se puede lograr fácilmente mediante la copia de la imagen de copia de
seguridad en una unidad de LAN, una unidad montada NFS o un dispositivo de cinta.
Compruebe los registros de base de datos han sido archivados con éxito
Si la base de datos es de sólo lectura, o puede ser reconstruido a partir de cero con facilidad,
es probable que no tiene registro de mantener habilitado para que pueda saltarse este paso.
Sin embargo, para las bases de datos transaccionales en las que no puede permitirse el lujo de
perder las transacciones confirmadas, es importante para hacer registro de seguro de
conservar es permitido, y que los registros están archivados con éxito para que la base de
datos puede ser reconstruido y las transacciones repite en el caso de un desastre.
Mientras que la recuperación puede ser la razón principal para la verificación de los registros se
archivan con éxito, hay otra razón importante. Si los registros no están archivados, que
permanecerá en el LogPath. Desde la LogPath está normalmente en un sistema de archivos
con un tamaño del conjunto, si los archivos de registro no se están archivados, como los
nuevos registros se creó el sistema de archivos se llena. Cuando esto ocurre, DB2 no será
capaz de crear los archivos de registro más y se detendrá por lo tanto.
Para examinar estos registros se puede escribir un script para tomar los últimos 50 a 100 líneas
de estos ficheros (utilizando el comando tail) para todas las instancias y enviarlas por correo
electrónico a usted. Entonces usted puede estudiar junto con la información de la historia de
recuperación de cada mañana.
Nota: La función NULLIF se utiliza en la consulta anterior para devolver un valor nulo cuando el
número en el interior del soporte (es decir, pool_data_l_reads o pool_index_l_reads) es cero
(0), de lo contrario el cálculo podría causar una división por cero error y la declaración de un
error.
Examinar los patrones de uso de las tablas de la base de datos mediante la consulta más
adelante. Esta consulta examinar cuántas filas se han leído, escrito, y el número de registros de
desbordamiento de acceder mediante la siguiente declaración.
select
substr(table_schema,1,8) as Schema,
substr(table_name,1,30) as Table_Name,
rows_read,
rows_written,
overflow_accesses
from table (snapshot_table ('sample', -1) ) as snapshot_table;
Examinar los patrones de uso de base de datos general con la consulta más adelante. Esta
consulta se examina:
select
db_name,
SNAPSHOT_TIMESTAMP,
rows_read,
rows_selected,
lock_waits,
lock_wait_time,
lock_wait_time/nullif(lock_waits,0) as avg_wt_time,
deadlocks,
lock_escals,
total_sorts,
total_sort_time,
total_sort_time/nullif(total_sorts,0) as avg_sort_time,
sort_overflows,
sort_overflows/nullif(total_sorts,0) as pct_ovflow_sorts
from table (snapshot_database (' ', -1) ) as snapshot_database;
Usted puede seguir los cambios en la asignación de espacio de tabla con los espacios de tabla
se presenta la lista de comandos detalles. Las modificaciones introducidas por la memoria de
sintonización automática auto está en el sistema de archivos con el nombre stmm. #. Registro
en el directorio stmmlog. Este directorio se encuentra en el directorio sqllib para el propietario
de la instancia en Linux y UNIX, en el directorio sqllib \ Instancia en Windows.
Otra cosa importante tener en cuenta en el servidor es el uso de memoria de DB2 y el servidor.
En Windows, puede determinar la cantidad de RAM en el servidor al abrir Mi PC y
seleccionando Ayuda y Acerca de Windows.
En UNIX y Linux, el comando free muestra la cantidad de memoria real (RAM) en el sistema, y
cuánto está actualmente en uso y disponible. En el caso, por debajo hay 1 GB de memoria real
en este servidor, y aproximadamente 717MB se asigna a las aplicaciones.
total used free shared buffers
cached
Mem: 1036248 717240 319008 0 60200
430736
-/+ buffers/cache: 226304 809944
Swap: 1048784 0 1048784
Estudio de DB2
Nada es más valioso a largo plazo que un DBA, que tiene amplia experiencia, y tan
ampliamente leído como sea posible. Este estudio debería incluir manuales de DBA, revistas,
grupos de noticias y listas de correo.
Para obtener información más detallada también debe buscar nuestra Guía de Certificación de
DB2 serie, ya que estos libros son muy informativos.
Es importante saber si las personas están creando nuevas tablas, índices, procedimientos
almacenados, etc en su base de datos de producción. Nuevos objetos generalmente indican
que una nueva aplicación se ha instalado en el servidor y las aplicaciones nuevas y / o objetos
afectará las características operacionales del sistema.
Además, los nuevos objetos que ocupan espacio en la base de datos, por lo que es importante
identificar estos objetos antes de que crezcan demasiado grande y, potencialmente, podría
llenar un espacio de tabla. Si estos objetos no son creados por un DBA, que muy
probablemente pueden haber sido creados en el espacio de tablas mal, que puede causar el
espacio y / o problemas de rendimiento.
Hay pocas alternativas disponibles para comprobar si hay nuevos objetos en el sistema:
Una vez que ha optimizado su base de datos basada en su carga de trabajo actual, no hay
nada más frustrante que recibir una llamada que la base de datos no está funcionando bien, y
la constatación de que el rendimiento fue causado por una nueva aplicación, o cambios en las
aplicaciones existentes que nadie le dijo a usted acerca de. Por desgracia, esto sucede con
demasiada frecuencia. Mediante el control de su base de datos para las nuevas aplicaciones y /
o modificados que se espera que puedan detectar estos cambios antes de que causen
problemas de rendimiento.
Para buscar nuevas aplicaciones que pueden utilizar las aplicaciones de la lista comando show
detalles. Si redirigir la salida de este comando a un archivo y guardar estos archivos por un
período de tiempo, usted puede comparar los archivos de cada semana para ver si un nuevo
nombre de la aplicación aparece de repente en la salida.
Para buscar aplicaciones cambios que usted puede ver lo que SQL se está ejecutando en el
sistema con el tiempo, y buscar nuevas SQL que no se ha ejecutado con anterioridad. Para
hacer esto usted puede crear una tabla de la siguiente manera:
A continuación, puede recuperar las sentencias SQL del caché de paquete actual e insertarlos
en una tabla para el análisis con la siguiente declaración:
A continuación, puede examinar esta tabla por cualquier declaración SQL que no se han
ejecutado con anterioridad mediante la instrucción:
En la salida de esta declaración, una declaración con una cuenta de 1, y la columna de fecha y
hora que indique la fecha actual es que no se ha ejecutado con anterioridad.
Al insertar, actualizar y eliminar filas en las tablas, los datos en las tablas puede ser necesario
REORGed a:
Para ejecutar la herramienta reorgchk en contra de todas las tablas, y asegurarse de que está
utilizando las estadísticas actuales, utilice el comando:
Al ver la salida de la herramienta reorgchk, y encuentra las columnas F1, F2 y F3 para las
tablas, y la F4, F5, F6, F7 y F8 columnas de los índices. Si hay un asterisco (*) en cualquiera
de estas columnas, que indica que DB2 ha calculado que la tabla actual y / o los índices de
incumplimiento en la actualidad de ese umbral.
Es importante señalar que para las tablas, si usted ve un asterisco en cualquiera de las
columnas, a continuación, normalmente se necesita reorg la mesa. Sin embargo, las tablas, ya
que muchos tienen más de un índice, por definición, si uno de ellos es de 100% en clúster, los
otros índices no se agrupan. Por lo tanto, es necesario seguir investigando la parte de índice de
la producción reorgchk con más detalle y considerar todos los índices de la tabla para
determinar si procede o no reorg el índice.
F1: el porcentaje de filas que son registros de desbordamiento. Cuando ésta es superior a 5%,
habrá un asterisco (*) en la columna de F1 de la salida.
F2: el porcentaje de espacio utilizado en las páginas de datos. Cuando se trata de menos del
70% habrá un asterisco (*) en la columna F2 de la salida.
F3: el porcentaje de páginas que contienen datos que contienen algunos registros. Cuando
este sea inferior al 80% habrá un asterisco (*) en la columna F3 de la salida.
F5: el porcentaje de espacio que se utiliza en cada página de índice que se utiliza para las
claves de índice. Cuando se trata de menos del 50% habrá un asterisco (*) en la columna F6
de la salida.
F6: el número de claves que se pueden almacenar en cada nivel del índice. Cuando se trata de
menos de 100 habrá un asterisco (*) en la columna F6 de la salida.
F7: el porcentaje de ID de registros (claves) en una página que se han marcado como
eliminado. Cuando se trata de más del 20% habrá un asterisco (*) en la columna de F7 de la
salida.
F8: el porcentaje de páginas vacías de la hoja en el índice. Cuando se trata de más del 20%
habrá un asterisco (*) en la columna de la F8 de la salida.
Cuando la reorganización de una tabla si lo desea, puede especificar que el índice de DB2 que
debe agrupar los datos. Para reorg la tabla ORG basado en el índice ORGX, utilice el comando
reorg table org index orgx
Para capturar las estadísticas de la tabla ORG, y sus índices se puede utilizar el comando
Usted puede comprobar que no existen tablas o índices, sin estadísticas, o con las estadísticas
que son más de 7 días de edad con las siguientes declaraciones:
select substr(name,1,30),substr(creator,1,10),stats_time
from sysibm.systables
where stats_time < ((current timestamp) - 7 days)
or stats_time is null
select substr(name,1,30),substr(creator,1,10),stats_time
from sysibm.sysindexes
where stats_time < ((current timestamp) - 7 days)
or stats_time is null
Al considerar que las tablas para ejecutar reorg o runstats en usted también debe considerar la
actividad en las tablas. Para encontrar las 10 mesas leer, en función del número de filas que
leer, usar la siguiente declaración:
Para encontrar las 10 tablas actualizadas, basadas en el número de registros escritos, utilice la
siguiente declaración:
Es una buena práctica para limpiar los registros de diagnóstico sobre una base regular. En el
caso de un error se produce, a continuación, no hace falta ir más de 6 meses a partir de la
información en los registros, y los registros son mucho más pequeños y más fáciles de editar.
Antes de purgar los archivos, haga una copia de ellos en caso de que quiera volver en algún
momento en el futuro para investigar lo que estaba ocurriendo en el sistema en un momento
dado.
NOTA: Es una buena práctica para el nombre del archivo con la fecha actual para que sea más
fácil mirar hacia atrás en los archivos en una fecha posterior.
Para el archivo db2diag.log así como la notificación de la administración del archivo de registro
en Linux y UNIX, debe comprimir estos archivos, a continuación, y el nombre con la fecha
actual en el nombre del archivo también.
En Linux o UNIX, puede tar la PNP y los archivos *. db2diag.log juntos, y luego utilizar gzip o
comprimir para reducir el tamaño del archivo resultante.
Desde el punto de vista de DB2, el sitio web más importante es el de DB2 para
Linux, UNIX y Windows Soporte Técnico de la página:
http://www-3.ibm.com/cgi-
bin/db2www/data/db2/udb/winos2unix/support/download.d2w/WINV8FP
http://www-3.ibm.com/cgi-
bin/db2www/data/db2/udb/winos2unix/support/db2alert.d2w/report
procedimientos mensuales
Revisión de las tablas y los espacios de tabla para ver cuánto han crecido en el último mes. Al
conocer la rapidez con las tablas y los espacios de tabla están creciendo, y cuánto espacio está
disponible, puede detectar posibles problemas de espacio antes de que sucedan.
Puede recuperar el tamaño del espacio de tabla y la cantidad de espacio disponible mediante la
instrucción a continuación.
Usted puede ver lo grande que cada uno de sus cuadros es mirar las tablas de catálogo del
sistema. Mientras que las estadísticas estén al día, esta información será exacta. Para obtener
el tamaño de las tablas de utilizar la instrucción
select tabname,
npages
from syscat.tables
where tabname not like 'SYS%'
NOTA: Si las estadísticas no han sido capturados por una mesa, que tendrá un valor de -1 para
npages.
Crear una tabla de la historia o una hoja de cálculo para almacenar esta información para que
pueda examinar el uso del espacio para sus mesas y espacios de tabla con el tiempo. Una
manera fácil de hacer esto es crear una declaración de exportación con los estados por encima
de seleccionar y crear un delimted ASCII (DEL) archivo que luego se pueden importar
directamente en una hoja de cálculo.
Compara la información que ha sido recogida en la CPU de nivel de sistema, memoria, red y la
utilización del disco, así como la información del objeto de DB2 que se han estado reuniendo,
para identificar las tendencias que podrían llevar a la afirmación o la falta de alguno de estos
recursos en el futuro.
Con base en su análisis de la información anterior, usted puede planear para estas situaciones
antes de que sucedan y tomar medidas para evitar que estas situaciones se produzcan.
Los apéndices siguientes contienen scripts útiles que pueden ser utilizados para monitorear el
sistema y base de datos. Tenga en cuenta que estos guiones fueron escritos en los archivos
que se llevaron a cabo utilizando el CLP, y por lo tanto contienen comentarios. Los comentarios
están precedidos por los guiones dobles (-) y necesitan ser removidos si está ejecutando estos
comandos directamente en la línea de comandos.
- Establecer el nombre de base de datos en NULL para obtener información sobre la actualidad
relacionada
- Base de datos.
select
substr(tablespace_name,1,12) as TBSPC_Name,
substr(Container_name,1,67) as Cont_Name,
(case
when container_type = 0 then 'SMS Directory'
when container_type = 6 then 'DMS File'
else 'DMS Device'
end) as Container_Type,
usable_pages
from table (snapshot_container (' ', -1) ) as snapshot_container;
- Informe sobre el nombre de grupo de búfer y el tamaño junto con el tamaño y el nombre de
cada espacio de tabla
- Asignado al búferes. Esto puede ser usado para ayudar a Bufferpools el tamaño de la forma
más adecuada .-
- Grupo de bpname primero en conseguir todos los espacios de tabla para un conjunto de
búferes en los espacios de tabla
- Será único en este informe.