¿Cual es la diferencia entre ROW CHAINING y ROW MIGRATION?

Ok, este es un tema clásico de Oracle que clásicamente induce a confusión para aquellos que no tienen claros conceptos como block size, bloque de base de datos y bloque de S.O., extent, y mucha otra teoría.

Una fila migrada se migra ya que fue movida a otro bloque debido a que un UPDATE la hizo muy grande para que su tamaño calce dentro del bloque original junto a las otras filas de allí. Otra acotación es que no podemos solo ‘mover’ la fila ya que tenemos un montón de índices apuntando al bloque original.

Una fila encadenada es demasiado grande para caber en un solo bloque, entonces si tenemos el tamaño del bloque de la base de 2K pero el tamaño de mi fila es de 4K, usaremos 3 bloques de la base para almacenar esa fila en partes. Cualquier tabla cuyo tamaño de fila excede el bloque de la base de datos tendrá CHAINED ROWS.

¿Cual sería el procedimiento para aplicar un parche de una base Oracle?

Mi procedimiento generalmente usado es :
1) Bajar el parche/patchset
2) Verificar los requerimientos del parchado: versiones de oui,opatch, rapidclone.
3) Verificar los requerimientos del sistema: parches del sistema operativo y pre-requisitos del sistema operativo.
4) Ejecutar tareas de preinstalación: verificar usuarios a usar, claves, sistemas impactados, riesgos, pasos a ejecutar para RAC, bajar instancia y listener, respaldar la base de datos, requisitos para los parámetros del kernel.
5) Chequear el contexto del sistema: nodos del RAC impactado, nodos de la base Standby o Dataguard, Options instaladas en la base, aplicaciones impactadas, en general se debe hacer un plan de pruebas como resultado de este paso.
6) Aplicación del parche: configurar el ambiente y la variable DISPLAY, ejecutar OUI (patchset) y aplicar el parche .
7) Ejecutar scripts de post-aplicación del parche.
8) Tareas de post-instalación.

¿Como describiría la arquitectura logica y física de una base de datos?

Oracle esta compuesto por una instancia y una base de datos, a nivel lógico, Oracle tiene estructuras de memoria, para poner allí : un copia de los datos, instrucciones SQL, planes de ejecución,cursores, etc., y como parte de la ‘instancia’ inicia procesos en segundo plano los cuales son parte fundamental para Oracle trabaje, también. A nivel físico, oracle usa archivos para guardar los datos y archivos de la configuración de parámetros, y esta parte es comúnmente llamada ‘base de datos’.

Oracle is maked up by instance and database, At logical level oracle has memory structures
To put there : copy of data,sql statements, execution plans, cursors, etc., and as part of a
“instance” startup background processes which are a fundamental part for oracle works, as
Well. At physical level, oracle use files to store data and configuration parameter files, & this
part is commonly named as “database”.

Oracle Open World 2010

Oracle Open World 2010
Oracle Open World 2010

Es difícil evaluar el Oracle Open World 2010 (OOW), cuando todavía no ha transcurrido un día de los 4 días que dura la conferencia. Como  dijo la ejecutiva de marketing que dio la bienvenida a este evento,  se han batido muchos records este año. Sin embargo, ningún record  de los mencionado por ella, como por ejemplo,  la cantidad de asistentes,  la cantidad de cafés, de snacks, de bebidas, de noches de hotel y otras cantidades relacionadas a la logística del evento, me han impresionado. Nosotros los usuarios Oracle, esperamos que Oracle nos impresione generando los mejores productos de software para las tantas áreas donde Oracle está generando tecnología y soluciones. La gama de adquisiciones recientes que Oracle ha realizado le da una oportunidad única para poder deleitar a los usuarios, sin embargo, estas adquisiciones están aún muy frescas como para esperar resultados maduros  de las sinergias que deben producirse, para que  nos cautive. Por lo tanto, creo que por ahora deberemos seguir esperando.

ESTIMACIÓN DE TAMAÑOS DE MUESTRAS

El rendimiento de una base de datos relacional, y en particular una base de datos Oracle, depende principalmente del rendimiento de las sentencias SQL que en ella se ejecutan. A partir de la versión 10g Release 2, Oracle declara obsoleto el optimizador basado en la regla (“RULE”), es decir, desde la versión 10.2.0.1, en adelante, el único optimizador soportado por Oracle, es aquel basado en el costo (“COST”).

En la optimización por costo de sentencias SQL, Oracle determina los planes de ejecución óptimos de cada sentencia, a partir de estadísticas de tablas e índices involucrados en cada instrucción SQL. Dichas estadísticas deben ser recolectadas previamente, y actualizadas en forma periódica.

OBituario: Alejandro Hernandez

Nunca me imaginé que yo podria estar escribiendo estas palabras en homenaje a nuestro querido amigo Alejandro Hernandez Ladrón de Guevara (QEPD). Una repentina enfermedad y la voluntad de Dios, hizo que él ya no esté fisicamente con nosotros. Tantas cosas buenas se han dicho de Alejandro y tantas cosas buenas se dijeron de él en su funeral. Yo quisiera recordar algunas de ellas, aquí, en este blog, en el cual Alejandro hizo uno de sus tantos aportes.

Renombrar (o mover) un Data File

Como se ha visto en clases, es posible renombrar (o mover) un Datafile posterior a su creación, por ejemplo cuando se crea un nuevo Tablespace, o cuando éste se modifica agregando nuevos archivos utilizando la sentencia:

SQL> ALTER TABLESPACE <nombre> ADD DATAFILE ‘/path’ SIZE <n> M;

Si por ejemplo, se ha cometido un error en el nombre o la extensión del archivo no sigue la norma definida  (que típicamente es *.dbf) es posible hacer el cambio de nombre, sin necesidad de bajar la BD realizando los 4 pasos siguientes:

1. Poner el Tablespace en modo OFFLINE, por ejemplo:

SQL> ALTER TABLESPACE DATOS OFFLINE;

2.  Renombrar el archivo físico, por ejemplo en linux sería:

$ mv  datos02.dfb  datos03.dbf

3. Modificar el Tablespace para que reconozca el nuevo archivo:

SQL> ALTER TABLESPACE RENAME DATAFILE ‘/u01/app/oradata/datos02.dfb’  TO  ‘/u01/app/oradata/datos03.dbf’;

4. Finalmente, dejar el Tablespsace ONLINE nuevamente:

SQL> ALTER TABLESPACE DATOS ONLINE;

¿Qué significa la «i» y la «g» en las versiones de Oracle Database?

Como una manera de satisfacer algunas dudas de nuestros visitantes, escribo este pequeño post.

La «i» aparece por primera vez en el lanzamiento de Oracle 8i (8.1.7.x), que revolucionó el mercado por ahi por 1998. La «i» simplemente significa Internet. Estamos en plena revolución de las empresas .COM, y todo lo que tuviera relación con Internet era «fashion». Oracle lanza la primera base de datos para soporte de aplicaciones internet. Esto significa que viene con características de mayor alta disponibilidad -las aplicaciones internet son por definición 7×24-, además de traer java embebido en el motor, un lenguaje que nace para construir aplicaciones internet. El motor trae una seria de APIs que le permiten a los desarrolladores  la construcción de aplicaciones web. Además, el motor viene preparado para manejar todo tipos de datos multimedial (opción oracle intermedia), tales como documentos, imágenes, sonido, propio del mundo internet. Si a esto le agregamos el soporte para guardar datos en XML, un lenguaje de marcas que generaliza el HTML de los navegadores, hace de esta versión oracle 8i una de las más populares y robusta. Mucha de la arquitectura actual del motor fue concebida en esta versión. A pesar de que esta versión ya se encuentra largamente desoportada, muchos clientes mantienen operando aplicaciones basadas en esta versión producto de su estabilidad y buenas prestaciones.

Responsabilidades del DBA en tiempos 2.0

Hoy día existe un amplio consenso entre los gerentes de empresas y gerentes de las áreas de TI sobre la importancia que tiene la información y por ende, la importancia que tiene toda la infraestructura que permite mantener segura y disponible esa información para los diferentes agentes de la organización que la requieran. Esta información se encuentra en su mayor parte en plataformas de bases de datos que prestan variados servicios tales como seguridad, alta disponibilidad, manejo de concurrencia de usuarios y otras importantes prestaciones.

No obstante la claridad anterior que manifiestan los gerentes de las áreas de TI, no existe tanta claridad sobre las características, habilidades y conocimientos que debe tener el profesional que garantice el correcto manejo de estas bases de datos (DBA). El artículo que a continuación se desarrolla resume algunas ideas acerca de las viejas y nuevas responsabilidades del Administrador de Bases de Datos, denominadas DBA 1.0 y DBA 2.0 respectivamente.

Script que genera Script de reubicación de datafiles y redolog files

Frecuentemente el dba oracle debe cambiar la ubicación de la base de datos, ya sea por mantención, o por una migración a una nueva plataforma. La técnica para realizar esto es montar la base de datos con el archivo de control ya ubicado en su posición final, e informarle al archivo de control sobre la nueva ubicación que tienen los datafiles (V$DATAFILE) y redolog files (V$LOGFILE). Se debe recordar que el archivo de control es el que guarda la metadata de estructura física de la base de datos. Esto se hace con el siguiente comando:

SQL> ALTER DATABASE RENAME FILE ‘/u01/app/oracle/oradata/sirio/system01.dbf’ TO ‘/u02/oradata/sirio/system01.dbf’ ;

Donde ‘/u01/app/oracle/oradata/sirio/system01.dbf’ es el nombre original del archivo y ‘/u02/oradata/sirio/system01.dbf’ es el nuevo nombre y ubicación del archivo.

Lo anterior se debe hacer para cada uno de los datafiles y redolog files que existan en la base de datos. Si son muchos la tarea de generar el script puede ser titánica, y la posibilidad de errores aumenta.

1 2