Laboratorio: Creación manual de base de datos en Oracle 11gR2

LABORATORIO CREACION MANUAL (sin usar DBCA) DE BASE DE DATOS ORACLE

Este es un laboratorio que hice para mis alumnos de www.duoc.cl y me pareció interesante compartirlo con la comunidad en internet.

El ambiente es un Linux (oracle linux, redhat, Centos o similar). El software oracle es versión 11g R2. El software está instalado en un usuario llamado «oracle»

El prompt # para linea de comando asume usuario root

El prompt $ para linea de comando asume usuario oracle

Debe tener cuidado con el cut & paste, porque podria haber transaformación de algunos caracteres, especialmente las cremillas simples ‘

Dos cremillas simples seguidas » podria confundirse con doble cremilla »

1.- Permita el uso de Xwindows a usuarios distintos a root

# xhost +

2.- Abra una ventana como usuario oracle

# su – oracle

Recuperación parcial de una base de datos Oracle, cuando se ha perdido un datafile y base de datos se encuentra en modo NOARCHIVELOG

Hace algunos dias se me presentó el siguiente caso:

1.- Base de datos Oracle 9i sobre Windows XP

2.- Base de datos se encuentra en modo NOARCHIVELOG

3.- Programador agrega un datafile con file# 20 a un tablespaces llamado MYTABLESPACE

4.- De esta forma, el tablespace MYTABLESPACE contiene 3 datafile con file# 15, 17 y 20

5.- Al programador no le gustó el nombre que le dió al datafile 20 y lo elimina a nivel de sistema operativo

6.- El programador tambien elimina por error el datafile 17, que si contenia datos.

7.- El programador trata de subir la base de datos y esta no sube, solo llega a la fase de montaje.

8.- El programador entra en pánico.

Solución:

1.- Tratar de recuperar los datafiles a nivel de sistema operativo con alguna herramienta de recuperación como http://ntfsundelete.com/ u otra similar.

Maquinas Virtuales preconfiguradas con herramientas Oracle

Muchos alumnos o desarrolladores que se inician con las herramientas Oracle demoran bastante tiempo para configurar sistemas operativos y herramientas de desarrollo en ambientes virtualizados antes de quedar completamente operativos.

La buena noticia es que Oracle está proveyendo MV completamente preconfiguradas con las herramientas de su elección. Esto se está haciendo con el software de virtualización VirtualBox desarrollado incialmente por Sun microsystems, y que ahora es propiedad de Oracle Corporation.

Los pasos son los siguientes

1.- Bajar e instalar Virtual Box para la version de Sistema Operativo Host que tenga (Windows XP 32 bits, Linux RedHat, Linux Ubuntú, Linux Centos y muchos más) ir a   Oracle OTN VM VirtualBox

2.- Bajar la imagen de la MV con el paquete de productos que sea de su interes:

  • Java Development (Oracle Linux 5, Java SE (JDK) 1.6, Java FX runtime , Netbeans, Glassfish Server, JRockit Mission COntrol Eclipse 3.6 )

VMware tools sobre RedHat 5.2

Preparando el ambiente de mi MV Linux RedHat 5.2 sobre un sistema operativo host Windows 7, (que me ha funcionado de maravilla en relación al Windows Vista professional que tenia anteriormente), me encontré con la necesidad de realizar copiado  y pegado de texto e imágenes desde el guest al host y viceversa. La solución que encontré en la red es instalar VMware tools en el RedHat virtualizado (maquina Guest)

Para ello realicé los siguientes pasos

  1. En la maquina guest configuré un CD/DVD virtual, apuntando a mi CD/DVD real. Esto se hace con la máquina virtual powered off.  Virtual machince –>Virtual machine Settings –> Hardware –> Boton Add –> CD/DVD –>Se selecciona opción CD/DVD maquina host
  2. Inicié la maquina guest con Linux RedHat
  3. En el Menu de VMWare se va a la opcion Virtual machince –>Install / upgrade vmware tools.

¿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”.