Mes: abril 2014

Como corregir las tablas fragmentadas de Oracle

Como corregir las tablas fragmentadas de Oracle

¿Cómo encontrar la fragmentación de las tablas en la base de datos?

 

¿Qué es la fragmentación de datos?
Si a una tabla únicamente se somete a inserts, no habrá ninguna fragmentación. La fragmentación viene solo cuando hacemos deletes/updates a la tabla.
El espacio que se libera durante las operaciones «no-inserts» no son usadas inmediatamente (algunas veces jamás se usaran). Esto deja huecos en la tabla que resultan en fragmentación.

Como corregir las tablas fragmentadas de Oracle

Para tener esto más claro, necesitaremos saber cómo Oracle maneja los espacios para las tablas.
Los campos de las tablas no se almacenan de forma contigua, o si los campos están divididos en más de un bloque, el performance disminuye debido a que esos campos requieres bloques de acceso adicionales.

 

Nota: la fragmentación de las tablas son diferentes a la fragmentación de archivos, cuando se realizan muchas operaciones DML (Data manipulation language) en una tabla, la tabla se fragmenta, debido a que las DML no liberan el espacio de la tabla debajo de la HWM (High Water Mark)

 

HWM= High water mark, es la última parte de una tabla que le indica al cursor que hasta allí llego la tabla y contiene la cantidad de registros

 

Cada vez que la información crece, elimina el bloque donde está el HWM y recreando otro HWM cuando termina de incrementar el espacio, estos bloques donde estaban los HWM’s no ocupan casi nada de espacio, pero después de muchísimo uso y mucho tiempo ya pueden ser significativos en el tiempo de lectura

Read more

Diferencia entre una corrupción lógica contra una corrupción física en Oracle

corrupción lógica contra una corrupción física en Oracle

Cuando hablamos de corrupción lógica, existen muchas fallas que se pueden definir como los siguientes tipos:

Modificación accidental o incorrecta de los datos de la aplicación, causada por un usuario o la misma aplicación.

En este escenario, por la falla o el error de un usuario o un aplicativo puede resultar en un bug, esto normalmente ocurre por cambios de información dentro del a base de datos como valores erróneos, un ejemplo podría ser cuando un DBA realiza un update pero se olvida de formular correctamente el query y en ves de solo modificar un solo row, accidentalmente modifica (y le da commit) a cientos de campos.

 

La corrupción de bloques vienen en dos tipos diferentes:

Corrupción física (media corrupt blocks): son bloques que obviamente tienen un daño en el disco duro físico. Cuando Oracle detecta una inconsistencia entre el CSN (Commit Secuence Number) en el encabezado (header) del bloque y el pie del bloque (footer) o en la estructura del bloque no esta presente o esta dañado, si esto ocurre Oracle muestra un error «ORA-01578: ORACLE data block corrupted» el intento de lectura fallara y lo escribe en el alert_log y en el trace_file, las corrupciones físicas son el resultado de problemas de infraestructura y esto puede presentarse por una gran variedad de razones. Las mas comunes son corrupciones del cache de los arreglos del storage, firmware del arreglo, bugs del filesystem, fallas de batería de la controladora de discos, fallas eléctricas, entre cientos de motivos mas, las corrupciones pueden ser reparadas usando el Oracle Recovery Manager, con un comando llamado blockrecover.

 

Las corrupciones de bloque lógicas: son bloques que tanto el header como el footer del CSN se encuentran en buen estado, pero tienen otra tipo de inconsistencia interna, por ejemplo cuando la estructura del header se encuentra asociado con un campo en el bloque, pero es diferente al numero del bloque, otro ejemplo es si el tamaño del bloque difiere de lo que dice en el header, al ocurrir esto puede lanzar el error ORA-00600, que es el error mas temido de los DBA’s esta excepción se escribirá en el alert y en el trace file. al igual que la corrupción física esto puede deberse a una enorme cantidad de causas diferentes, solo que tiende a ser una falla en el software de Oracle como un bug o corrupción de cache.

Configurar replicacion en MySQL

Instalacion de la replicacion de MySQL en ambiente maestro-esclavo para alta disponibilidad

Crear instancia de DataGuard

Nota: la instalacion de Oracle RDBMS se instala en la BD primaria y Standby, en este caso en la standby solo tiene la instalacion. …

Desarrollo de aplicación de reconocimiento de rostros y emociones

Este es uno de los desarrollos hechos por nuestro equipo, tiene como funcionalidad ser un demo de la capacidad de nuestra …