jueves, 8 de septiembre de 2011

Migracion 9i - 10g (10.2.0.5)

Saludos a los que pasen por aquí, he dejado el blog abandonado buen tiempo, pero ahora postearé mas seguido, hace unas semanas realice una migración de 9i (IBM AIX) a 10g (HP-UX 11).

Hay varias opciones a elegir sobre como realizar la migración, en este caso por tema de tiempo se utilizó export e import, fue por partes, un export por cada esquema y en el caso de los esquemas muy pesados, por tablas. Un consejo al hacer esto es realizar el export con solo data, sin contraints, estadisticas, triggers e índices, esto para agilizar la carga.

exp usuario/clave owner=esquema file=ruta/mi_dump.dmp log=mi_explog.log consistent=y constraints=n indexes=n triggers=n statistics=none

A partir de la versión 10g se puede usar datapump(expdp) las opciones de este comando son casi las mismas.

Otro punto importante es identificar las tablas particionadas, lob y vistas materializadas para luego crearlas en el nuevo ambiente antes de realizar el import, de lo contrario habran mensaje de error.

imp usuario/clave file=ruta/mi_dump.dmp log=mi_implog.log buffer=100000 full=y indexes=N constraints=n ignore=y commit=Y

Después de haber realizado la carga total de los datos, se crean los constraints, índices, triggers, procedures, entre otros. Teniendo en cuenta que la data no debe haber variado, se pueden crear los constraints con el parámetro novalidate para que no demoren.



PROBLEMAS DE RENDIMIENTO




Luego de haber migrado la bd por completo, se presentaron problemas de rendimiento con los procesos masivos que se ejecutan diariamente en la compañía, el nuevo servidor con 32gb de RAM tenia solo 100MB libres, oracle estaba configurado con 10GB y lo demás era manejo de SO. Se monitoreo la BD por 2 semanas buscando el origen del problema de rendimiento, al final se detectó que el filecache del sistema operativo estaba consumiendo 15GB de la RAM, para solucionar esto se cambio el valor de 2 variables de SO(filecache_min - filecache_max) con 5% y 8% respectivamente. Además, se elimino un índice de la tabla en donde se detectó habían demoras en consultas e inserciones. Con esto se pudo solucionar el inconveniente, se tuvo en cuenta que en los cambios de versión se presentan cambios en el optimizador, un caso un poco extraño, pero bueno para aprender.




Saludos




TOM