Sei sulla pagina 1di 67

FUNDACION CODIGO LIBRE DOMINICANA

DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

1­Introduccion a Oracle Dba.

El administrador de base de datos (DBA) es la persona responsable de los aspectos ambientales de una base de datos. En 
general esto incluye:

    * Recuperabilidad ­ Crear y probar Respaldos
    * Integridad ­ Verificar o ayudar a la verificación en la integridad de datos
    * Seguridad ­ Definir y/o implementar controles de acceso a los datos
    * Disponibilidad ­ Asegurarse del mayor tiempo de encendido
    * Desempeño ­ Asegurarse del máximo desempeño incluso con las limitaciones
    * Desarrollo y soporte a pruebas ­ Ayudar a los programadores e ingenieros a utilizar eficientemente la base de datos.

1.1 Tareas del DBA Oracle:

1.1.2 Instalar el Software de Oracle.

Existen factores importantes que deben ser tenidos en cuenta al momento de instalar el software de Oracle, como 
ser: el tipo de filesystems que se utilizarán, la correcta asignación de usuario y grupos, mantener el inventario en 
buen estado, la correcta ubicación de los binarios de Oracle de acuerdo a la versión, etc. La falta de experiencia o 
cuidado en estos temas traerá dificultades cuando se quiera, por ejemplo, actualizar la base a una nueva release o 
instalar parches críticos.

1.1.3 Planificar y crear las bases de datos de acuerdo a los requerimientos de negocio.

Una base de datos bien diseñada desde el principio resultará más eficiente y fácil de administrar. Si bien con cada 
nueva versión de Oracle son más los parámetros que se pueden modificar de manera dinámica (es decir, mientras la 
base está en producción), otros no pueden modificarse tan fácilmente y requieren de mucho trabajo e incluso puede 
ser necesario que la base esté fuera de servicio durante algún tiempo para realizar los cambios (varias horas en 
algunos casos). Al hacer un diseño previo se elimina el inconveniente de realizar cambios importantes cuando la 
base ya esté en producción.

1.1.4 Realizar actualizaciones de la base y del software a nuevos release levels.

Continuamente Oracle Corporation está desarrollando mejoras y correcciones para toda su gama de productos. 
Mantener el software actualizado al último release level es una práctica muy recomendable y el primer paso antes 
de encarar la resolución de cualquier problema, incluso de performance, que pudiera aparecer en su instalación.

1.1.5 Instalar parches de seguridad.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Oracle sigue una política de publicación trimestral de parches críticos y de seguridad. Mantener al día los parches 
es hoy un requerimiento crítico debido a la proliferación de programas diseñados específicamente para aprovechar 
vulnerabilidades conocidas con el fin de comprometer la seguridad de los sistemas informáticos.

1.1.6 Administrar las estructuras de almacenamiento de la base y monitorear el uso del espacio en disco.

Se debe gestionar el espacio en disco creando las estructuras lógicas necesarias para el funcionamiento de la base 
de datos tendientes a mejorar la confiabilidad, la disponibilidad y el rendimiento. También asegurar que haya 
suficiente espacio libre en disco para las operaciones normales y aumentar el espacio en disco según sea necesario.

1.1.7 Administrar los usuarios y la seguridad.

El DBA debe gestionar usuarios, roles y perfiles, asignar privilegios sobre objetos, definir políticas de contraseñas 
(complejidad, caducidad, reutilización, bloqueo) y establecer las medidas de seguridad requeridas para mantener su 
instalación protegida de usos indebidos de la información, como pueden ser accesos no autorizados, robo de 
información, adulteración de datos, etcétera.

1.1.8 Administrar los objetos de la base, tales como tablas, índices, vistas, etc.

El DBA creará y mantendrá los objetos de la base de datos y decidirá las características de almacenamiento para 
cada uno de modo de optimizar la performance y disponibilidad de la información.

1.1.9 Diseñar un esquema eficiente de copias de seguridad y realizar recuperación cuando sea necesario.

Sin duda la tarea más importante del DBA es la de proteger la información almacenada en la base de datos. Se debe 
implementar un esquema de copias de seguridad que provea más de un medio para resguardar los datos y que 
permita muchos esquemas distintos de recuperación (dependiendo del tipo de contingencia que se presente) y que 
además permita minimizar los tiempos de recuperación y vuelta a la operación normal del sistema.

1.1.10 Monitorear y ajustar la performance de la base de datos.

Mantener la base de datos Oracle ajustada para máxima performance requiere de la comprensión de una variedad 
de factores. En primer lugar habrá que ajustar la configuración del servidor donde reside la base y la configuración 
de la red. Recién entonces se mirará dentro de la instancia misma de Oracle. Una instancia Oracle consiste en la 
región de memoria llamada System Global Area (SGA) y los procesos de segundo plano de Oracle. Una vez que la 
instancia ha sido configurada, se examinarán los objetos individuales (tablas e índices) dentro de la base de datos. 
Finalmente se ajustarán las sentencias SQL que se ejecutan en la base. Este ciclo deberá repetirse las veces que sea 
necesario.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

1.1.11 Monitorear el estado de la base de datos y tomar acciones preventivas o correctivas cuando se 
requiera.

Periódicamente se deben revisar los registros de actividad de la base de datos y analizar los mensajes con el objeto 
de prevenir fallos, corregir desvíos o emprender las medidas correctivas que la situación amerite.

1.1.12 Diagnosticar y reportar al Oracle Suport Services los errores críticos que pudieran ocurrir.

En caso de que la base de datos presentara un funcionamiento anómalo y la información disponible en la base de 
conocimientos de Oracle no sea suficiente para subsanar el problema, el DBA deberá ponerse en contacto con el servicio de 
soporte de Oracle y proporcionarle toda la información necesaria para diagnosticar y solucionar el problema.

1.2 Tareas adicionales del DBA

Otras tareas de importancia que corresponde con frecuencia realizar a un DBA son:

    * Analizar datos y efectuar recomendaciones concernientes a mejorar el rendimiento y la eficiencia en el manejo de 
aquellos datos que se encuentran almacenados.
    * Apoyar en el diseño y optimización de modelos de datos.
    * Asistir a los desarrolladores con sus conocimientos de SQL y de construcción de procedimientos almacenados y 
triggers, entre otros.
    * Apoyar en la definición de estándares de diseño y nomenclatura de objetos.
    * Documentar y mantener un registro periódico de las mantenciones, actualizaciones de hardware y software, cambios en 
las aplicaciones y, en general, todos aquellos eventos relacionados con cambios en el entorno de utilización de una base de 
datos.

1.3 Alcance de las tareas

En ambientes medianos (más de 100 Gigabytes y más de 100 usuarios) una sola persona puede realizar todas estas tareas. 
En ambientes muy grandes (más de 500 Gigabytes y más de 300 usuarios), a menudo el trabajo se divide entre varios 
DBAs, cada uno de los cuales se especializa en un área, como ser seguridad, backup y recuperación, tunning, etcétera. En 
ambientes pequeños o de baja criticidad, un solo DBA con la experiencia y herramientas adecuadas puede atender varias 
instalaciones simultáneamente.

2­Instalacion GNU/Linux
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Instalación  de CentOS 5.

Procedimientos.
Inserte el disco DVD de instalación de CentOS 5 y en cuanto aparezca el diálogo de inicio (boot:), 
pulse la tecla ENTER o bien ingrese las opciones de instalación deseadas.

Si desea verificar la integridad del disco a partir del cual se realizará la instalación, seleccione «OK» y 
pulse la tecla ENTER, considere que esto puede demorar varios minutos. Si está seguro de que el disco 
o discos a partir de los cuales se realizará la instalación están en buen estado, seleccione «Skip» y pulse 
la tecla ENTER.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Haga clic sobre el botón «Next» en cuanto aparezca la pantalla de bienvenida de CentOS.

Seleccione «Spanish» como idioma para ser utilizado durante la instalación.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Seleccione el mapa de teclado que corresponda al dispositivo utilizado. El mapa «Español» o bien 
«Latinoamericano» de acuerdo a lo que corresponda. Al terminar, haga clic sobre el botón 
«Siguiente».
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Salvo que exista una instalación previa que se desee actualizar (no recomendado), deje seleccionado 
«Instalar CentOS» y haga clic en el botón «Siguiente» a fin de realizar una instalación nueva.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Para crear las particiones de forma automática, lo cual puede funcionar para la mayoría de los usuarios, 
puede seleccionar: 

• «Remover particiones en dispositivos seleccionados y crear disposición», lo cual 
eliminaría cualquier partición de cualquier otro sistema operativo presente, y 
creará de forma automática las particiones necesarias.
• «Remover particiones de linux en dispositivos seleccionados y crear 
disposición», lo cual eliminaría cualquier partición otra instalación de Linux 
presente, y creará de forma automática las particiones necesarias.
• «Usar espacio disponible en dispositivos seleccionados y crear disposición», lo 
cual creará de forma automática las particiones necesarias en el espacio disponible.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Conviene crear una disposición que permita un mayor control. Seleccione «Crear disposición 
personalizada».
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Una vez seleccionado «Crear disposición personalizada», haga clic sobre el botón «Siguiente».
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

La herramienta de particiones mostrará el espacio disponible. Haga clic en el botón «Nuevo».
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Asigne 100 MB a la partición /boot y defina ésta como partición primaria, siempre que la tabla de 
particiones lo permita.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Si está conforme, haga clic otra vez en el botón «Nuevo» y proceda a crear la siguiente partición.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Asigne a la partición / el resto del espacio disponible menos lo que tenga calculado asignar para la 
partición de intercambio (200% de la memoria física, o cuanto baste para 2 GB). Se recomienda 
asignar / como partición primaria, siempre que la tabla de particiones lo permita.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Si está conforme, haga clic otra vez en el botón «Nuevo» y proceda a crear la siguiente partición.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

La partición para la memoria de intercambio no requiere punto de montaje. Seleccione en el campo de 
«Tipo de sistema de archivos» la opción «swap», asigne el 200% de la memoria física (o cuanto basta 
para 2 GB). Por tratarse de la última partición de la tabla, es buena idea asignarle el espacio por rango, 
especificando valores ligeramente por debajo y ligeramente por arriba de lo planeado.
Otras particiones que se recomienda asignar, si se dispone del espacio en disco duro suficiente, son:

/usr Requiere al menos 1.5 GB en instalaciones básicas. Debe considerarse 
el sustento lógico a utilizar a futuro. Para uso general, se recomiendan 
no menos de 5 GB y, de ser posible, considere un tamaño óptimo de 
hasta 8 GB en instalaciones promedio.

/tmp Requiere al menos 350 MB y puede asignarse hasta 2 GB o más 
dependiendo de la carga de trabajo y tipo de aplicaciones. Si por 
ejemplo el sistema cuenta con un grabador de DVD, será necesario 
asignar a /tmp el espacio suficiente para almacenar una imagen de 
disco DVD, es decir, al menos 4.2 GB.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

/var Requiere al menos 512 MB en estaciones de trabajo sin servicios. En 
servidores regularmente se le asigna al menos la mitad del disco 
duro.

/home En estaciones de trabajo se asigna al menos la mitad del disco duro a 
esta partición.

Si está conforme con la tabla de particiones creada, haga clic sobre el botón «siguiente» para pasar a la 
siguiente pantalla.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Ingresará a la configuración del gestor de arranque. Por motivos de seguridad, y principalmente con la 
finalidad de impedir que alguien sin autorización y con acceso físico al sistema pueda iniciar el sistema 
en nivel de corrida 1, o cualquiera otro, haga clic en la casilla «Usar la contraseña del gestor de 
arranque».
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Se abrirá una ventana emergente donde deberá ingresar, con confirmación, la clave de acceso exclusiva 
para el gestor de arranque. Al terminar, haga clic sobre el botón «Aceptar».
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Al terminar, haga clic sobre el botón «Siguiente».
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Para configurar los parámetros de red del sistema, haga clic sobre el botón «Modificar» para la 
interfaz eth0.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

En la ventana emergente para modificar la interfaz eth0, desactive la casilla «Configurar usando 
DHCP» y especifique la dirección IP y máscara de subred que utilizará en adelante el sistema. Si no va 
a utilizar IPv6, también desactive la casilla. Confirme con el administrador de la red donde se localice 
que estos datos sean correctos antes de continuar. Al terminar, haga clic sobre el botón «Aceptar».
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Asigne un nombre de anfitrión (HOSTNAME) para el sistema. Se recomienda que dicho nombre sea 
un FQDN (Fully Qualified Domain Name) resuelto al menos en un DNS local. Defina, además, en esta 
misma pantalla, la dirección IP de la puerta de enlace y las direcciones IP de los servidores DNS de los 
que disponga. Si desconoce que dato ingresar, defina éste como localhost.localdomain. Al terminar, 
haga clic sobre el botón «Siguiente».
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Seleccione la casilla «El sistema horario usará UTC», que significa que el reloj del sistema utilizará 
UTC (Tiempo Universal Coordinado), que es el sucesor de GMT (b>Greenwich Mean Time, que 
significa Tiempo Promedio de Greenwich), y es la zona horaria de referencia respecto a la cual se 
calculan todas las otras zonas del mundo. Haga clic con el ratón sobre la región que corresponda en el 
mapa mundial o seleccione en el siguiente campo la zona horaria que corresponda a la región donde se 
hospedará físicamente el sistema.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Asigne una clave de acceso al usuario root. Debe escribirla dos veces a fin de verificar que está 
coincide con lo que realmente se espera. Por razones de seguridad, se recomienda asignar una clave de 
acceso que evite utilizar palabras provenientes de cualquier diccionario, en cualquier idioma, así como 
cualquier combinación que tenga relación con datos personales.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Al terminar, haga clic sobre el botón «Siguiente», y espere a que el sistema haga la lectura de 
información de los grupos de paquetes.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

En la siguiente pantalla podrá seleccionar los grupos de paquetes que quiera instalar en el sistema. 
Añada o elimine a su conveniencia. Lo recomendado, sobre todo si se trata de un servidor, es realizar 
una instalación con el mínimo de paquetes, desactivando todas las casillas para todos los grupos de 
paquetes. El objeto de esto es solo instalar lo mínimo necesario para el funcionamiento del sistema 
operativo, y permitir instalar posteriormente solo aquello que realmente se requiera de acuerdo a la 
finalidad productiva que tendrá el sistema. Al terminar, haga clic sobre el botón «Siguiente».
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Se realizará una comprobación de dependencias de los paquetes a instalar. Este procesos puede 
demorar algunos minutos.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Antes de iniciar la instalación sobre el disco duro, el sistema le informará respecto a que se guardará un 
registro del proceso en si en el fichero /root/install.log. Para continuar, haga clic sobre el botón 
«Siguiente».
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Si iniciará de forma automática el proceso de formato de las particiones que haya creado para instalar el 
sistema operativo. Dependiendo de la capacidad del disco duro, este proceso puede demorar algunos 
minutos.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Se realizará automáticamente una copia de la imagen del programa de instalación sobre el disco duro a 
fin de hacer más eficiente el proceso. Dependiendo de la capacidad del microprocesador y cantidad de 
memoria disponible en el sistema, este proceso puede demorar algunos minutos.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Espere a que se terminen los preparativos de inicio del proceso de instalación.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Se realizarán preparativos para realizar las transacciones de instalación de paquetes.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Iniciará la instalación de los paquetes necesarios para el funcionamiento del sistema operativo. Espere 
algunos minutos hasta que concluya el proceso.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Una vez concluida la instalación de los paquetes, haga clic sobre el botón «Reiniciar».
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

AQUI VA EL ARCHIVO Instalacion­Centos­5
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

3­Introduccion de GNU/Linux (Lo que necesita saber un Dba)

3.1 Iniciando Linux
GNU/Linux es el sistema operativo libre y abierto disenado bajo las politicas de la licencia publica GPL. Las caracteristicas 
principales son: Multitarea, Multiproceso, Multiplataforma, Monolitico entre otras.
3.1.1 Comandos GNU / UNIX
cd: Utilizado para entrar a un directorio. Ej: cd /home/user
ls: Utilizado para listar archivos y directorios. Ej: ls /var/log
file: Usado para saber el tipo de archivo: Ej file archivo.txt
mkdir: Comando creado para crear un directorio. Ej: mkdir directorio

mv: Comando para mover o renombrar un archivo o directorio. Ej: mv oracle2 oracle3
rm: Comando para eliminar archivos o directorios. Ej: rm archivo. rm ­r directorio
touch: Comando para crear archivos vacios y actualizar la fecha de un archivo. Ej touch archivo1
more: Comando de paginacion. Ej more archivo1
less: Comando de paginacion  parecido al more.
head: Comando para desplegar la cabecera de un archivo. Por defecto las primeras 10 lineas. Ej head /etc/archivo1
tail: Despliega las ultimas 10 lineas del archivo. Ej: tail /etc/archivo1
locate: Para buscar archivos y/o directorios. Ej: locate archivo1
find: Para buscar archivos y/o directorios. Ej: find /home ­name a.txt

3.1.2 Demonio Init
Init es el primer proceso que se ejecuta en un sitema GNU/Linux y el que inicia todos los procesos getty. Tiene varios 
estados llamados niveles de ejecucion que determinan los servicios que pueden ofrecer.

3.1.3 Que es el shell
Intérprete de órdenes, Intérprete de mandatos, Intérprete de línea de mandatos, Intérprete de comandos, Terminal, Consola, 
Shell ó su acronimo en idioma inglés CLI por Command line interface, es un programa informático que actúa como Interfaz 
de usuario para comunicar al usuario con el sistema operativo mediante una ventana que espera ordenes escritas por el 
usuario en el teclado (por ej. PRINT CARTA.TXT), los interpreta y los entrega al sistema operativo para su ejecución.
3.1.4 Variables
Las variables de entorno son un conjunto de valores dinámicos que normalmente afectan el comportamiento de los procesos 
en una computadora.
3.2 Estructura de directorios
3.2.1 /
3.2.2 /home/
3.2.3 /var/
3.2.4 /usr/
3.2.5 /opt/
3.2.6 /proc/
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

3.2.7  /etc/
3.2.8  /bin
3.2.9 /sbin
3.2.10 /tmp
3.3­ Instalacion de Paquetes rpm y deb
Instalar:
rpm ­ivh paquete.rpm
dpkg ­i paquete.deb
yum install paquete.rpm
apt­get install paquete.deb
Desinstalar:
rpm ­e paquete.rpm
dpkg ­r paquete.deb
yum remove paquete
apt­get remove paquete.deb
3.4 Usuarios y Grupos
Agregar un usuario:
useradd usuario
Eliminar un usuario
userdel usuario
Agregar un grupo
groupadd grupo
Eliminar un grupo
groupdel grupo

3.4.1 Cuenta root
root es el nombre convencional de la cuenta de usuario que posee todos los derechos en todos los modos (mono o multi 
usuario). root es también llamado superusuario. Normalmente esta es la cuenta de administrador. El usuario root puede 
hacer muchas cosas que un usuario común no, tales como cambiar el dueño de archivos y enlazar a puertos de numeración 
pequeña. No es recomendable utilizar el usuario root para una simple sesión de uso habitual, ya que pone en riesgo el 
sistema al garantizar acceso privilegiado a cada programa en ejecución.
3.4.2 Comando su ­
El programa su es una utilidad de los sistemas operativos del tipo Unix que permite usar el intérprete de comandos de otro 
usuario sin necesidad de cerrar la sesión. Comúnmente se usa para obtener permisos de root para operaciones 
administrativas, sin tener que salir y reentrar al sistema.
3.4.3 El archivo /etc/passwd
El programa passwd (acortamiento del inglés password, contraseña) es una utilidad en sistemas operativos tipo Unix, como 
GNU/Linux, que se usa para cambiar la contraseña de un usuario. Se usa una función de hashing para cifrar la nueva 
contraseña, y guardar sólo la versión cifrada.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

3.4.6 Comando finger
El servicio finger (puerto 79, TCP) ha sido una de las principales fuentes de problemas del sistema operativo Unix. Este 
protocolo proporciona información ­ demasiado detallada ­ de los usuarios de un máquina, estén o no conectados en el 
momento de acceder al servicio.
3.5­ Procesos
Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por:

• Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador. 
• Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa. 
• Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos. 
• Otra información que permite al sistema operativo su planificación. 
3.5.2 Comando ps 
ps ("process status", estado de procesos en idioma inglés) es un comando asociado en el sistema operativo UNIX 
(estandarizado en POSIX y otros) que permite visualizar el estado de un Proceso (informática).
3.5.3 Comando top
Es el equivalente al Monitor del sistema en la línea de comandos. Muestra una lista de procesos que se pueden ordenar de 
diferentes formas.
3.6­ Editores Vi y Emacs
Vi es un simple editor de texto, que no lo formatea en absoluto, pues no centra ni justifica parráfos pero permite mover, 
copiar, eliminar o insertar caracteres por medio del búfer permaneciendo la información ahí hasta que los cambios en el 
archivo se hayan guardado o bien hasta que termine la ejecución de la aplicación sin haber guardado las modificaciones.
Vi fue originalmente escrito por Bill Joy en 1976, tomando recursos de ed y ex, dos editores de texto deficientes para Unix, 
que trataban de crear y editar archivos, de ahí, la creación de vi.

Hay una versión mejorada que se llama Vim, pero Vi es un editor de texto que se encuentra en (casi) todo sistema de tipo 
Unix, de forma que conocer rudimentos de Vi es una salvaguarda ante operaciones de emergencia en diversos sistemas 
operativos.

Emacs es un editor de texto con una gran cantidad de funciones, muy popular entre programadores y usuarios técnicos.

GNU Emacs es parte del proyecto GNU, activamente desarrollado. Es la versión más popular de Emacs. El manual de 
GNU Emacs lo describe como "un editor extensible, personalizable, auto­documentado y de tiempo real." Es la versión más 
compatible y portada de las implementaciones de Emacs. 
3.6.2 Comando tar
El comando tar es utilizado normalmente para empaquetar o desempaquetar ficheros, empaquetar significa guardar en un 
único fichero una lista de varios ficheros, o el contenido de todo un directorio (o varios directorios)
3.7 /etc/crontab
En el sistema operativo Unix, cron es un administrador regular de procesos en segundo plano (demonio) que ejecuta 
programas a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la 
hora en la que deben hacerlo se especifican en el archivo crontab.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Para informacion adicional, descargue los manuales de la Fundacion Codigo Libre  Descargas

4­Instalacion Oracle

  Esquema del proceso de instalación.
  Tipos de Bases de Datos.
  Asistentes de Configuración.
  Requerimientos HW y SW.
  Parámetros del Kernel LINUX. Ejemplo con FC3.
  Paquetes necesarios.
  Preinstalación.
  Instalación.
  Postinstalación.
  Revisión de seguridad y comprobación final

4.1 Software a Instalar
# From RedHat AS4 Disk 2
cd /media/cdrom/RedHat/RPMS
rpm ­Uvh setarch­1*
yum install setarch­1*
rpm ­Uvh compat­libstdc++­33­3*
yum install compat­libstdc++­33­3*
# From RedHat AS4 Disk 3
cd /media/cdrom/RedHat/RPMS
rpm ­Uvh openmotif­2*
yum install openmotif­2*
rpm ­Uvh compat­db­4*
yum install compat­db­4*

# From RedHat AS4 Disk 4
cd /media/cdrom/RedHat/RPMS
rpm ­Uvh compat­gcc­32­3*
yum install compat­gcc­32­3*
rpm ­Uvh compat­gcc­32­c++­3*
yum install compat­gcc­32­c++­3*

yum install binutils compat­db control­center gcc gcc­c++ glibc glibc­common gnome­libs \
         libstdc++ libstdc++­devel make pdksh sysstat xscreensaver libaio
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

yum install make gcc glibc compat­db compat­gcc compat­gcc­c++ compat­libstdc++ compat­libstdc++­devel openmotif21 
setarch libaio gcc­c++ libstdc++ openmotif

yum install xorg­x11* expat fontconfig freetype zlib­1.2.1.2­

 glibc6­devel 2.3.2.ds1­12 . Una librería C usada por casi todos los programas escritos en ese lenguaje. Si no la 
instalamos, algunos ejecutables de Oracle en orahome/bin no se crearán adecuadamente porque requieren ficheros 
de cabecera en /usr/include.

 binutils 2.14.90.0.7­8 . Herramientas para desarrollar programas en Unix. En realiad esto solo es requerido por 
Oracle 8.
•    : el compilador de c.
gcc

 
make
 : una herramienta de construcción de proyectos.
•  
libmotif3 : librerías compartidas para ejecutar programas OpenMotif.
•  
lesstif2 : librerías compartidas para LessTif, libXm, libMrm.

4.2 Espacio en disco
Según Oracle, el sistema debe tener 512Mb (524288 KB) de RAM y 1 Gb (1048576 KB) de swap o el doble de RAM. En 
sistemas con 2 o más Gb de RAM, la partición de intercambio puede ser entre una y dos veces el tamaño de la RAM. 
Siendo realistas, 512Mb de RAM es lo mínimo para poder arrancar el sistema, no para trabajar con Oracle.
Para ver la cantidad de RAM y swap:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo

Puedes obtener más espacio de swap usando un fichero en vez de reparticionando, aunque si estas configurando un servidor 
es más aconsejable reparticionar. Aqui se muestra como crear un fichero de 511995 kB y usarlo como swap (hazlo solo si 
necesitas más swap):
su ­ root
cd /root
dd if=/dev/zero of=/root/tmpswp bs=1k count=500000
chmod 600 tmpswp
mkswap tmpswp
swapon tmpswp
grep SwapTotal /proc/meminfo
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Este comando muestra el espacio libre en disco:
df ­h /

4.3 Parametros del Kernel
  SEMMNI = 100 (# máximo de conjuntos de semáforos)
  SEMMNS = 256 (# máximo de semáforos, sólo para la instalación inicial)
  SEMMNS = sum(processes) + max(processes) + 10*count(BBDD)        processes es el parámetro del init de cada BD
  SEMOPM = 100 (# máximo de operaciones por "semop call")
  SEMMSL = 100 (valor mínimo recomendado, sólo para la instalación inicial)
  SHMMAX = 2147483648 (tamaño máximo del segmento de memoria compartida y por tanto de la SGA).
  ­ 2 GB para kernel SMP. Se recomienda la mitad de la RAM
  ­ Si queremos tener una SGA de más de 2Gb tendremos q subir este valor
  SHMMIN = 1 (tamaño mínimo de un segmento de memoria compartida)
  SHMMNI = 4096 (# máximo de segmentos de memoria compartida)
  SHMSEG = 4096 (# máximo de segmentos de memoria por proceso)∙
  SHMVMX = 32767 (valor máximo de un semáforo)
Añade las siguientes líneas a /etc/sysctl.conf :
# Red Hat Enterprise Linux 4.0 and CentOS 4.x
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file­max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

net.core.wmem_default=262144
net.core.wmem_max=262144

Al reiniciar el sistema, /etc/inittab invocará el script /etc/init.d/bootmisc.sh que leera la configuración del kernel de 
/etc/sysctl.conf. Pero si queremos que los cambios apliquen inmediatamente hacemos esto: 

/sbin/sysctl –p

Por defecto, hay un límite por usuario, de 1024 descriptores de fichero, y 2047 procesos. Vamos a editar el fichero 
/etc/security/limits.conf para ajustar estos valores:

Añade las siguientes líneas a /etc/security/limits.conf :

*               soft    nproc   2047
*               hard    nproc   16384
*               soft    nofile  1024
*               hard    nofile  65536

Las dos últimas líneas imponen un límite inicial de 1024, pero permiten que un usuario aumente el límite a 65536 usando el 
comando ulimit ­n 65536. Las dos primeras líneas limitan el número de procesos.

Añade la siguiente línea a /etc/pam.d/login si no existe :

session    required     /lib/security/pam_limits.so

pam_limits.so es el módulo PAM que procesa la configuración del fichero /etc/security/limits.conf que cambiamos antes.

Desabilitar la SeLinux /etc/selinux/config :

SELINUX=disabled

4.4 Creacion de Usuarios y Directorios

4.4.1 Directorios y permisos

Creamos un usuario (oracle) y un par de grupos 
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

oinstall: propietario de los ficheros de Oracle. Este grupo se usa cuando los dbas no mantienen la instalación de 
software. En caso contrario, bastaría con hacerlo todo con el grupo dba.

dba: grupo de usuarios con privilegios SYSDBA

groupadd oinstall
groupadd dba
groupadd oper

useradd ­g oinstall ­G dba oracle
passwd oracle

Creacion de los Directorios donde se instalara la Base Dato:
mkdir ­p /opt/app/oracle/product/10.1.0/db_1
chown ­R oracle.oinstall /opt/app

Puesto que el instalador solo se ejecuta en sistemas operativos certificados (Red­Hat o United Linux), podemos hacer una de 
dos cosas para arrancar el instalador:

Engañar al instalador para que piense que esta en Red­Hat (la ^D es Ctrl+D)

cat > /etc/redhat­release
Red Hat Linux release 2.1 (drupal)
^DX

Añade estas variables de entorno:

# Oracle Settings

TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/opt/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1; export ORACLE_HOME
ORACLE_SID=server01; export ORACLE_SID 
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
#LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL

 y luego ejecutar el instalador 
./runInstaller 

Nota: Para ver el proceso de instalacion paso a paso, por favor refierase al archivo “Instalacion 
Oracle 10g.pdf” 

5­Instalacion Configuracion Cliente Oracle

Instalacion Paquetes necesarios

oracle­instantclient­basic­10.2.0.1­1.i386.rpm
oracle­instantclient­devel­10.2.0.1­1.i386.rpm
oracle­instantclient­sqlplus­10.2.0.1­1.i386.rpm

rpm ­Uvh oracle­instantclient*

Variables
variables en el archivo .bashrc
# Configuracion de ORACLE
ORACLE_HOME=/usr/lib/oracle/10.2.0.1/client
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export ORACLE_HOME
export PATH
export LD_LIBRARY_PATH

Copiamos las librerias de /usr/lib/oracle/10.2.0.1/client/lib a /usr/lib/
cp /usr/lib/oracle/10.2.0.1/client/lib /usr/lib 

Agregamos la ruta /etc/profile
PATH=$PATH:/usr/bin ; export PATH

Creamos las carpetas network/admin
mkdir ­p /usr/lib/oracle/10.2.0.1/client/network/admin
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Copiamos el tnsname.ora y el listener.ora del server 
scp listener.ora tnsname.ora cliente@ip:ruta

Problamos la conexion con el sqlplus
 sqlplus hr/kikla@//150.1.1.31/GNU.Linux

Nota:el nombre de la BD tiene que ser el Global

6­Iniciando con el Enterprise Manager

6.1 Control del Listener.

Pueden combinarse distintas órdenes en un fichero de texto y ejecutarlas de la forma:

 Para parar el “listener” lsnr: LSNRCTL STOP lsnr

Para obtener información: LSNRCTL STATUS lsnr

Para comprobar los valores actuales: LSNRCTL SHOW
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

6.2 Oracle Enterprise Manager:

• Arrancar el servidor web de OEM:

$ emctl start dbconsole

• Acceder a “http://host:5500/em”

6.3 Arrancar base de datos

El arranque de una base de datos ORACLE requiere tres etapas

6.3.1 Arrancar la base de datos

En esta parte del arranque se generan los procesos background.

Se crea la SGA. Sus dimensiones se basan en el fichero de inicialización "init.ora".

SQLPLUS> connect sys as sysdba connected SQLPLUS> startup nomount Oracle Instance started

6.3.2 Montar la base de datos

En esta parte del proceso de arranque se produce la conexión al/los archivo/s de control.

En este estado se puede:

a. Cambiar el modo de archivado de la B.D.

b. Renombrado de archivos de Redo Log o del asociado al tablespace SYSTEM

c. Crear, modificar o suprimir nuevos Redo Log o grupos de Redo Log

Partiendo del anterior estado ( nomount ), montamos la base de datos de la siguiente forma: 

SQLPLUS> alter database mount database mounted

En caso de que queramos iniciar la base de datos en este estado bastaría con hacer lo siguiente: 

SQLPLUS> connect sys as sysdba connected SQLPLUS> startup mount Oracle Instance started Database mounted

6.3.3 Abrir base de datos

En esta parte de proceso abren todos los ficheros asociados a los tablespaces y los ficheros de Redo Log. 

La B.D. está accesible para todos los usuarios
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Si es necesaria una recuperación (por un fallo de luz o CPU), se produce en este momento.

Partiendo del anterio estando ( mount ), abrimos la base de datos de la siguiente forma: 

SQLPLUS> alter database open database opened

En caso de que queramos iniciar la base de datos en este estado bastaría con hacer lo siguiente: 

SQLPLUS> connect sys as sysdba connected SQLPLUS> startup Oracle Instance started Database opened

6.4 Mas alternativas para el arranque de base de datos

Arranque solo para usuarios con el privilegio RESTRICTED SESSION

SQLPLUS> startup restrict

Arranque forzado

SQLPLUS> startup force

Arranque con un fichero de parámetros distinto al habitual o localizado en una situación diferente a donde se encuentra por 
defecto

SQLPLUS> startup pfile=/oracle/database/init2.ora

6.5 Parada base de datos

La parada de una B.D. Oracle se realiza mediante el comando SHUTDOWN desde SQL*DBA después de haber establecido 
una conexión como SYS AS SYSDBA

6.5.1 Shutdown normal

Espera a que los usuarios conectados actualmente finalicen TODAS las operaciones.

Evita nuevas conexiones. Los usuarios que intentan conectarse reciben el mensaje "Shutdown in progress". 

Cierra y desmonta la B.D. Cierra la SGA para los procesos background. 

No necesita recuperacion al arrancar la base de datos 

SQLPLUS> connect sys as sysdba connected SQLPLUS> shutdown normal

6.5.2 Shutdown immediate
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Espera a que las transacciones actuales se completen

Evita nuevas transacciones y nuevas conexiones. Los usuarios que intentan conectarse o los que ya están 
conectados al intentar realizar una nueva transacción reciben el mensaje "Shutdown in progress". 

El proceso PMON finaliza las sesiones no activas y realiza ROLLBACK de aquellas transacciones que no estén 
validadas. 

Cierra y desmonta la B.D. Cierra la SGA para los procesos background. 

No necesita recuperacion al arrancar la base de datos 

SQLPLUS> connect sys as sysdba connected SQLPLUS> shutdown immediate

6.5.3 Shutdown abort

Parada drástica, no espera a que los usuarios conectados actualmente finalicen sus transacciones. El usuario 
conectado recibe el mensaje "No logged on".

No se realiza ROLLBACK de las transacciones pendientes. 

El proceso PMON finaliza las sesiones no activas y realiza ROLLBACK de aquellas transacciones que no estén 
validadas. 

SI necesita recuperacion al arrancar la base de datos 

SQLPLUS> connect sys as sysdba connected SQLPLUS> shutdown abort

6.6 Procesos del Enterprise Manager
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

7­Administracion de Instancia Y Creacion de una Base Datos

7.1 Crear la Base de Datos 

  Para crear una BD necesitamos:

  ­ Conectarnos  al  servidor  Oracle  como  "SYS  AS  SYSDBA",  autenticándonos  contra el S.O. o usando un fichero de 
claves.
  ­ Suficiente memoria para arrancar la instancia y espacio en disco para crear la BD.
  Para ubicar los ficheros que componen la BD:

  ­ Guardaremos, al menos, dos copias del fichero de control, en discos separados.
  ­ Multiplexaremos los redolog en discos diferentes.
  ­ Separaremos  los  ficheros  de  datos  que  provoquen  contención  en  disco;  por 
      ejemplo: datos, índices, temp y rollback.
  La  BD  la  podemos  crear  con  el  asistente  gráfico  (en  Linux  "dbca")  o  con  el 

  comando CREATE DATABASE:
      Crearemos un fichero init.ora, y si queremos, un spfile.ora.
    Arrancaremos las instancia con STARTUP NOMOUNT.
    Crearemos la BD con el comando CREATE DATABASE.
    Ejecutaremos  los  scripts  catalog.sql,  catproc.sql  y  catexp.sql  que  están  en 
    $ORACLE_HOME/rdbms/admin.
 Desde 10g se puede borrar con "DROP DATABASE;" (sólo montada).
DBCA (DataBase Configuration 
Assistant)
 En  Unix/Linux  se  ejecuta  con  "dbca".  Se  trata  de  un  asistente  gráfico  que 
permite:
  ­ Crear una BD. A partir de plantillas predefinidas, que contienen:
       ∙ Sólo la estructura. Se pueden cambiar todos los parámetros del init.
       ∙ También con ficheros: no se puede cambiar nada.
  ­ Añadir opciones a una BD existente (Java, Intermedia, Spatial, OLAP, etc).
  ­ Borrar una BD.
– Gestionar  plantillas  de  BD:  crear  una  plantilla  a  partir  de  otra,  o  a partir  de sólo la estructura de una BD, o 
también incluyendo los datos de la misma.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Nota: Para este proceso, por favor refierase al archivo “Creando una DB con DBCA.pdf” 

Si no usamos la Herramientas DBCA:

EJEMPLO CON “CREATE 
DATABASE”
 connect / as sysdba
 startup nomount
 CREATE DATABASE "CURSOGNUOracle"
    maxdatafiles 254
    maxinstances 1
    maxlogfiles 32
    character set WE8ISO8859P15
 DATAFILE '/u02/oradata/CURSOxy/system01.dbf' SIZE 260M 
    AUTOEXTEND ON NEXT 10M
    EXTENT MANAGEMENT LOCAL
 SYSAUX DATAFILE '/u02/oaradata/CURSOxy/sysaux01.dbf' size 100M
    EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO 
 UNDO TABLESPACE UNDO_RBS
    DATAFILE '/u03/oradata/CURSOxy/rbs01.dbf' SIZE 10M
 DEFAULT TABLESPACE USERS
    DATAFILE '/u02/oradata/CURSOxy/users01.dbf' SIZE 10M
 DEFAULT TEMPORARY TABLESPACE TEMP
    TEMPFILE '/u03/oradata/CURSOxy/temp01.dbf' SIZE 10M
    EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64K
 logfile '/u04/oradata/CURSOxy/redo01.log' SIZE 10M,
    '/u04/oradata/CURSOxy/redo02.log' SIZE 10M,
    '/u04/oradata/CURSOxy/redo03.log' SIZE 10M;
 rem *** CREACION DE LAS VISTAS DEL DD ***
 @$ORACLE_HOME/rdbms/admin/catalog.sql
 @$ORACLE_HOME/rdbms/admin/catproc.sql

8­Diccionario de Datos

V$DATABASE (Base de datos).
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

V$INSTANCE (Instancia).
V$SGA (SGA).
V$SGAINFO (Gestión dinámica de la SGA).
V$SGASTAT (SGA detallada).
V$BUFFER_POOL (Buffers en la caché de datos)
V$SQLAREA (Sentencias SQL).
V$PROCESS (Procesos).
V$BGPROCESS (Procesos background).
V$DATAFILE (Ficheros de datos de la BD).
V$CONTROLFILE (Ficheros de control de la BD).
V$LOGFILE (Ficheros redo log de la BD).
DBA_TABLESPACES (Tablespaces de la BD).
DBA_SEGMENTS (Segmentos que hay en los tablespaces).
DBA_EXTENTS (Extensiones que componen los segmentos).
DBA_USERS (Usuarios de la BD).

9­Administracion de Usuarios Seguridad
9.1 Usuarios:
DBSNMP

SYS. Es el único usuario con acceso al esquema SYS, que guarda las tablas y vistas para el diccionario de datos de 
la base de datos. Solo se usa para cambiar los parametros de almacenamiento del diccionario de datos. Este usuario 
se crea automaticamente al crear una base de datos y tiene rol DBA.

SYSMAN

SYSTEM. Solo se usa para crear tablas y vistas con información realtiva a la administración de la base de datos. 
Este usuario se crea automaticamente al crear una base de datos y tiene rol DBA.

9.2 Roles
SYSDBA. Puede conectarse como usuario SYS. Tiene los siguientes privilegios especiales:

Perform STARTUP and SHUTDOWN operations

ALTER DATABASE: open, mount, back up, or change character set

CREATE DATABASE

DROP DATABASE

CREATE SPFILE

ALTER DATABASE ARCHIVELOG
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

ALTER DATABASE RECOVER

Includes the RESTRICTED SESSION privilege

SYSOPER. Permite tareas administrativas sin acceso a los datos de usuario. Tiene los siguientes privilegios 
especiales:

Perform STARTUP and SHUTDOWN operations

CREATE SPFILE

ALTER DATABASE OPEN/MOUNT/BACKUP

ALTER DATABASE ARCHIVELOG

ALTER DATABASE RECOVER (Complete recovery only. Any form of incomplete recovery, such as 
UNTIL TIME|CHANGE|CANCEL|CONTROLFILE requires connecting as SYSDBA.)

Includes the RESTRICTED SESSION privilege.

9.3 Gestion de Usuarios y Recursos 

∙ Privilegios sobre objetos. Otorgar y revocar privilegios
  sobre objetos.
∙ Roles. Beneficios de los roles. Roles predefinidos.
∙ Creación, modificación, asignación y deasignación de
  roles a usuarios.
∙ Parámetro max_enabled_roles.
∙ Borrado de roles.
∙ Roles por defecto. Activación y desactivación de roles.
∙ Vistas.

9.3.1 Usuarios 
∙ Cada base de datos tiene una lista valida de usuarios.
  Para acceder a la misma un usuario debe ejecutar un aplicación y conectarse a la instancia usando un nombre valido 
previamente definido. Tras la autentificación, puede autorizarse, o no, el acceso a determinados elementos y la ejecución de 
ciertas acciones.

∙ Las formas más comunes de autentificar a un usuario
  son:
       ­ Por base de datos.
− Por sistema operativo (autentificación externa).

9.3.2 Usuarios y su Autentificacion.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

∙ En la autentificación por base de datos la administración de la cuenta de usuario, contraseña, que se guarda encriptada, y la 
autentificación es realizada por Oracle.

∙ En la autentificación externa la cuenta es mantenida por
  Oracle pero la administración de la contraseña y la autentificación de usuario es realizada externamente. 

El ejemplo más común de la autentificación por sistema operativo es los usuarios ops$ o "identified externally". El prefijo a 
usar viene determinado por el parámetro de   inicialización,   fichero    init.ora, OS_AUTHENT_PREFIX (define el prefijo a 
añadir al comienzo de toda cuenta de usuario identificado por s.o. y su valor por defecto es OPS$).

9.3.3 Creacion de Usuarios.

∙ Necesario el privilegio de sistema CREATE USER.
  Normalmente sólo lo tiene el usuario administrador.
∙ No es posible la conexión del usuario creado a menos
  que posea el privilegio de sistema CREATE SESSION.

∙ Sintaxis:
      CREATE USER <usuario>
      IDENTIFIED BY <contraseña>/EXTERNALLY
      DEFAULT TABLESPACE <espacio>
      TEMPORARY TABLESPACE <espacio>/<grupo_espacios>
      QUOTA <xx>/UNLIMITED ON <espacio>
      PROFILE <perfil>
      PASSWORD EXPIRE
      ACCOUNT LOCK/UNLOCK;

∙ Nombre de usuario.

Debe ser único respecto a otros nombres de usuario y roles. Cada usuario tiene asociado un esquema y dentro del mismo 
cada objeto debe tener un único nombre.
∙ Identificación.
 Un usuario autentificado de forma externa se ha de crearcon la cláusula "IDENTIFIED EXTERNALLY".

9.3.4 Default Tablespace.

Indica aquel espacio de almacenamiento donde se
crearán los objetos del esquema del usuario cuando al hacerlono se indica ninguno en particular.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Si se omite la clausula, los objetos se crean en el esp. alm. Por defecto de la bd (default user tablespace) que se indica 
mediante la sentencia: alter database default tablespace ...; si este no se ha especificado el espacio por defecto es SYSTEM 
(¡Error!).

9.3.5 Temporary Tablespace.

Indica el espacio o grupo de espacios de almacenamiento para los segmentos temporales requeridos por el usuario. No debe 
indicarse cuota. Si se omite la clausula, el espacio temporal por defecto es el SYSTEM (¡Error!) a menos que se haya fijado 
el valor del esp. temporal por defecto (default temporary tablespace): alter database default temporary tablespace ...; .

9.3.6 Quota.
Indica la cantidad máxima de espacio que un usuario puede utilizar en un determinado espacio de almacenamiento. Puede 
indicarse cuota en múltiples espacios al tiempo. El creador del usuario puede indicar cuota sobre espacios
  de almacenamiento aunque él no las posea.

Por defecto no se tiene cuota en ningún espacio de almacenamiento. Indicando UNLIMITED, es ilimitado el espacio a usar. 
Pueden usarse distintas abreviaturas para indicar el tamaño: kilobytes (K), megabytes (M), gigabytes
(G), terabytes (T), petabytes (P), o exabytes (E). Puede revocarse el acceso a un espacio de almacenamiento asignando cuota 
cero en el mismo. Los objetos ya creados permanecen pero no pueden crecer ni crearse ninguno más.

9.3.7 Profile. 
Indica el perfil a asignar al usuario (especifica limitaciones en recursos del sistema y restricciones). Si se omite se asigna el 
perfil DEFAULT.

9.3.8 Password Expire.
        Fuerza al usuario a cambiar la clave antes de conectarse a la base de datos.

9.3.9 Account.

"ACCOUNT LOCK", bloquea la cuenta de usuario y deshabilita el acceso. "ACCOUNT UNLOCK", desbloquea la cuenta 
de usuario y permite al acceso.

9.3.10 Modificacion de Usuarios.
∙ Los usuarios pueden cambiar sus propias claves, sin embargo para cambiar cualquier otro parámetro es necesario el 
privilegio "ALTER USER".

∙ Sintaxis:
        ALTER USER <usuario>
        IDENTIFIED BY <contraseña>/EXTERNALLY
        DEFAULT TABLESPACE <espacio>
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

        TEMPORARY TABLESPACE <espacio>/<grupo_espacios>
        QUOTA <xx>/UNLIMITED ON <espacio>
        DEFAULT ROLE <role>/ALL/ALL EXCEPT <role>/NONE
        PROFILE <perfil>
        PASSWORD EXPIRE
        ACCOUNT LOCK/UNLOCK;

9.3.11 Borrado de Usuarios.

∙ Al borrar un usuario el esquema asociado, con todos sus
  objeto, desaparecen.

∙ Una posible solución para que permanezca el usuario y los objetos pero impedir la conexión es revocar el privilegio 
"CREATE SESSION".

∙ No es posible eliminar un usuario que permanezca conectado a la base de datos. Debe esperarse a que concluya o forzar su 
terminación (ALTER SYSTEM KILL SESSION).

∙ Es necesario tener el privilegio de sistemas "DROP   USER".
∙ Oracle no borra esquemas de usuario no vacios a menos que   se indique CASCADE, realiza un borrado de objetos previo, 
o  se hayan eliminado con anterioridad los objetos.
Es conveniente estudiar las implicaciones que sobre otros  esquemas tiene el borrado del usuario y de su esquema:
  ­ Se invalida vistas o sinónimos para objetos en el esquema borrado.
  ­ Se invalidan procedimientos almacenados, funciones, o paquetes  que consulten objetos pertenecientes al esquema 
eliminado.
 ­ Las vistas materializadas en otros esquemas basados en tablas pertenecientes al esquema borrado no podrán refrescarse.
 ­ Se borran todos los disparadores, "triggers", del esquema. 
­ No se eliminan roles creados por el usuario.
∙ Sintaxis:
                DROP USER <usuario> <CASCADE>;

9.4 Creacion de Usuarios 

Una de las más básicas tareas de un administrador de base de datos es identificar los usuarios. Cada usuario que 
conecta en la base de datos debe de tener una cuenta. En las cuentas compartidas son difíciles de aplicar una 
auditoria.

Para crear un usuario utilizamos la sentencia CREATE USER. Cuando creas una cuenta como mínimo tienes que 
asignar un único nombre (username) y una contraseña para poder autenticarse.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Para cambiar alguno de los atributos que se le ha añadido al usuario creado se utiliza la sentencia ALTER 
USER.

9.5 Autenticacion Oracle

Cuando uno se conecta con una instancia de una base de datos la cuenta de usuario debe de estar autenticada. 
ORACLE provee tres métodos de autenticación para nuestra cuenta de usuario.

9.6 Autenticacion Mediante Password  
Cuando un usuario conecta con una base de datos verifica que este usuario y la contraseña introducida almacenada 
en la base de datos, sea correcta. Las contraseñas se guardan encriptadas en la base de datos (en el data dictionary).

SQL > X USER david IDENTIFIED BY tititus;

En este caso tititus es la contraseña de david que será guardada encriptada en la base de datos.

9.7 Autenticacion Externa  
Cuando un usuario conecta con la base de datos se verifica que el nombre de usuario es el mismo que el nombre de 
usuario del sistema operativo para permitir la validación.

No se almacenan las cuentas en la base de datos de ninguna forma. Estas cuentas están siempre referidas con OPS$ 
.A partir de la versión 10g puedes configurar OS_AUTHENT_PREFIX en el spfile

SQL > CREATE USER ops$david IDENTIFIED BY tititus;

Mediante IDENTIFIED EXTERNALLY decimos a la base de datos que nuestra cuenta es externa y tiene que ser 
validada con el sistema operativo.
AUTENTICACIÓN GLOBAL 
Cuando un usuario se conecta con la base de datos se verifica globalmente cuando la información pasa por una 
opción avanzada de seguridad ( ADVANCED SECURITY OPTION ) para la autenticación tal como Kerberos, 
RADIUS ....

Para las cuentas globales no se almacena tampoco nada en la base de datos.

SQL > CREATE USER david IDENTIFIED GLOBALLY AS ‘CN=alumnos,OU=campus .......’

Mediante IDENTIFIED GLOBALLY decimos a la base de datos que nuestra cuenta se autentica globalmente, 
mediante otra opción de seguridad avanzada.

9.8 Asignaciones a los usuarios
9.8.1 Asignacion de un usuario a un usuario a un tablespace (default tablespace) 
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Mediante esta sentencia asignamos un usuario a un tablespace, este será su tablespace por defecto cuando creamos 
un usuario.

SQL > CREATE USER david IDENTIFIED BY tititus DEFAULT TABLESPACE users;

Mediante esta sentencia, en caso de tener creado ya el usuario le asignamos un tablespace.

SQL > ALTER USER david DEFAULT TABLESPACE users;

La base de datos toma un tablespace por defecto, en caso de querer cambiar este tablespace utilizamos la siguiente 
sentencia

SQL > ALTER DATABASE DEFAULT TABLESPACE users;
9.8.2 Asignacion de un usuario a un tablespace temporal
Un tablespace temporal se utiliza para almacenar “segmentos” temporales que son creados durante operaciones 
como ORDER BY,SELECT DISTINCT, MERGE JOIN o CREATE INDEX.A veces a los usuarios se les 
asocia un tablespace temporal para realizar este tipo de operaciones, cuando estas operaciones finalizan este 
segmento temporal que se ha creado exclusivamente para la operación desaparece.

SQL > CREATE USER david IDENTIFIED BY tititus DEFAULT TABLESPACE users 
TEMPORARY TABLESPACE temp; 

Mediante TEMPORARY TABLESPACE asignamos como tablespace temporal temp al usuario david.

En caso de que el usuario esté creado si queremos asignarle un tablespace temporal utilizamos ALTER USER

SQL > ALTER USER david TEMPORARY TABLESPACE Temp; 
9.8.3 Asignacion de un Perfil a un Usuario 
Al igual que podemos asignar un tablespace a un usuario, también podemos asignarle un perfil (profile). El 
principal perfil ( profile ) por defecto se denomina default.

Si el usuario no está lo podemos crear de la siguiente forma:

SQL > CREATE USER david IDENTIFIED BY tititus 
DEFAULT TABLESPACE users 
TEMPORARY TABLESPACE temp 
PROFILE resource_profile; 

En caso de que el usuario ya esté creado al igual que en los anteriores casos utilizamos la sentencia ALTER 
USER.

SQL > ALTER USER david PROFILE resource_profile;
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

9.9 Borrado de un Usuario 
Para borrar un usuario utilizamos la sentencia DROP USER, podemos opcionalmente incluir la opción 
CASCADE, se utiliza para borrar recursivamente los objetos del usuario que se pretende borrar.

SQL > DROP USER david CASCADE 
OTORGANDO PRIVILEGIOS (GRANTING) 
A un usuario podemos otorgarle una serie de privilegios. Un privilegio permite a un usuario acceder a ciertos 
objetos o realizar ciertas acciones:.
­ Privilegios sobre Objetos ( Object privileges ) a permisos sobre vistas, tablas, secuencias, procedimientos, 
paquetes.
­ Privilegios del Sistema ( System privileges ) a permisos sobre “niveles de la base de datos” como pueden ser 
conexión a la base de datos, creación de usuarios, limitar cuentas.
­ Privilegios sobre Roles ( Role privileges ) a muchos permisos son otorgados mediante roles agrupando un 
conjunto de privilegios.
Para otorgar privilegios utilizamos la sentencia GRANT, para quitar un privilegio o permiso a un usuario 
utilizamos la sentencia REVOKE

EJEMPLOS 
Privilegio sobre una tabla: 

SQL > GRANT ALL ON tabla_alumnos TO david

Siendo tabla_alumnos una tabla de nuestra base de datos y david un usuario de esta, hemos asignado mediante 
GRANT ALL,todos los permisos al usuario david sobre esta tabla.

GRANT ALL = permisos SELECT, INSERT, UPDATE, DELETE

Si queremos asignar sólo uno de estos permisos utilizamos la misma sentencia pero con el permiso que queramos 
otorgar.

SQL > GRANT SELECT ON tabla_alumnos TO david
SQL > GRANT SELECT,INSERT ON tabla_alumnos TO david

Privilegio sobre una vista: 

Para el caso de las vistas podemos a un usuario otorgar permisos SELECT, INSERT, UPDATE, DELETE, 
DEBUG, REFERENCES.

Siendo vista_alumnos una vista de nuestra base de datos y david un usuario de esta:
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Otorgamos al usuario david todos los permisos sobre la vista vista_alumnos.

SQL > GRANT ALL ON vista_alumnos TO david

Otorgamos al usuario david algunos permisos sobre la vista_alumnos

SQL > GRANT SELECT ON vista_alumnos TO david 

SQL > GRANT SELECT,INSERT ON vista_alumnos TO david 

Privilegio sobre una secuencia: 

Con las secuencias pasa lo mismo que con los anteriores objetos vistos, para otorgar permisos se utiliza GRANT. 
Los permisos que podemos otorgar a una secuencia es SELECT o ALTER.

Privilegio sobre un paquete,función o procedimiento

Los permisos que podemos otorgar a las funciones, paquetes o procedimientos almacenados en nuestra base de 
datos son los siguientes: EXECUTE, DEBUG.

QUITANDO PRIVILEGIOS 
Si queremos quitar un privilegio a uno de estos objetos haremos lo mismo que con GRANT pero utilizando la 
sentencia REVOKE.

SQL > REVOKE ALL ON tabla_usuarios FROM david

10­Backup y Recuperacion

10.1 Copia y Recuperacion: Metodos.
• Para realizar la copia y recuperación físicas Oracle proporciona
dos soluciones:
– Recovery Manager, una herramienta propia de Oracle
que puede gestionarse a través de un interfaz línea de
comandos o gráfica.
– Copia y recuperación gestionada por usuario, que
emplea una mezcla de órdenes de s.o. y SQL*Plus.
• Se recomienda usar Recovery Manager al poderse realizar los
mismos tipos de copias y recuperaciones que manualmente,
además de proporcionar un interfaz estándar sobre distintos
sistemas operativos.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

COPIAS FISICAS/LOGICAS.
• Debe permitir, en caso de pérdida de los datos
originales, recuperarlos.
• Pueden clasificarse en:
– Físicas. Copias de los ficheros que integran la bd, ficheros
de control y ficheros “archive log” hechas con utilidades
del gestor de bd ­Recovery Manager, RMAN­ o del s.o..
– Lógicas. Exportación a fichero binario mediante las
utilidades de exportación (DATA PUMP EXPORT o EXPORT).
La copia física es la base del sistema de copia y
recuperación, aunque ambas son complementarias.

ESTRATEGIAS DE COPIA.
CONSIDERACIONES.
• Es necesario anotar la configuración “hw” y “sw” del servidor.
– Nombre, fabrica y modelo de la máquina donde reside la bd.
– Versión del s.o.
– Número de discos y controladoras
– Capacidad de disco y espacio libre.
– Nombre de todos los ficheros de datos.
– Nombre y versión del sw de gestión de almacenamiento.
– Nombre de la instancia (SID).
– Identificador de la bd (DBID).
– Versión y parche del servidor Oracle.
– Versión y parche del sw de comunicaciones.
– Método y frecuencia de las copias así como de la recuperación

10.2 Que es un Export / Import en Oracle 

Export/Import es una utilidad de Oracle para realizar backups lógicos de Oracle ( y luego poderlos restaurar ). Esto 
significa que copian el contenido de la BD pero sin almacenar la posición física de los datos. Para realizar estas operaciones 
la base de datos tiene que estar abierta.

Para crear el fichero de backup se utiliza la utilidad export y para importar el contenido o recuperar la base de datos se 
realiza import. 
Este tipo de backup se utiliza en los siguientes casos:

1. Para realizar backups de bases de datos ( pequeñas/medianas bases de datos )

2. Para corregir "Row Migration & Row Chaining"
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

3. Detectar alguna corrupción en la base de datos, puesto que al hacer el export se lee toda la bd.

4. Para "migrar" una base de datos a otro servidor

10.2.1 Export en Oracle 10g

Mediante unos ejemplos vamos a explicar cómo realizar algunos export en una versión de base de datos 10g, por supuesto 
existirán más formas de hacer exports según los argumentos que se le pasen:

El comando para realizar export en Oracle 10g es exp

Para ver todos los argumentos y significado de ellos de un export basta con realizar un exp help=yes

Ejemplo1: Copia completa de la base de datos

$exp file=Fundacion.dmp full=yes log=/oracle10g/log/Fundacion.log buffer=1000000

file=/oracle10g/export_fcld.dmp > Nombre y ubicación del archivo del export ( el usuario oracle tiene que tener permisos 
para escribir ahi. La extensión de este archivo es dmp.

full=yes> Con esto indicamos que el export es completo, todos los esquemas de la base de datos y sus datos permisos, 
privilegios ..

log=/oracle10g/log/ Fundacion.log > fichero para tener el log del export, el usuario oracle también tiene que tener permisos 
en ese directorio para escribir.

buffer=1000000 > reservamos buffer para la operación.

Ejemplo2: Copia de tablas especificas de un usuario 

$exp scott/tiger file=fcldscott.dmp tables=(emp,dept) buffer=1000000

En este caso realizamos sólo un backup de las tablas especificadas en el argumento tables del usuario scott

Ejemplo3: Copiar tablas de un usuario con una condición especifica

$exp scott/tiger file=fcldempleados.dmp tables=emp query=\"where deptno=10\"

Exportamos la tabla emp del usuario scott y en el argumento query espeficificamos una condición para realizar el export de 
esa tabla

"Export interactivo"
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Otra forma de realizar un export es poniendo simplemente en la línea de comando exp y esperar a que te vaya pidiendo la 
utilidad los parámetros que requiere.
De esta forma te pedirá el usuario, contraseña, si quieres hacer copia sólo de la estructura, con datos, sin datos, nombre del 
archivo ... etc.

Recomendaciones

Se pueden hacer exports con diferentes versiones de Oracle, aunque es recomendable realizar el export con la misma 
versión de la base de datos.En todo caso si se hace con un cliente, si la versión es superior o la misma a la de la base de 
datos, Oracle "asegura" que no existe ningún problema en realizarlo.

10.2.3  Import en Oracle 10g

Partiendo de un archivo realizado con la utilizad export podemos recuperar datos de toda la base de datos, de ciertas tablas, 
etc.

El comando para realizar export en Oracle 10g es imp

Para ver todos los argumentos y significado de ellos de un export basta con realizar un imp help=yes

Ejemplo1: Importar todo el archivo exportado

$imp system/manager file=fcldfull.dmp full=yes ignore=yes 
log=fcld_log_import_log.log buffer=1000000

Importamos con el usuario system que tiene permisos para importar el archivo fcldfull.dmp dejando un log de dicha 
importación en import_log.log reservando un buffer de 100000

Ejemplo2: Importar una tabla de un usuario concreto

$imp scott/tiger file=fcldmpleados.dmp fromuser=scott touser=scott tables=dept

Importamos del archivo fcldmpleados.dmp sólo del usuario scott de ese archivo al esquema del usuario scott la tabla 
departamento

"Import interactivo"

Otra forma de realizar un import al igual que el export es introducir en la línea de comando imp y esperar a que te vaya 
pidiendo la utilidad los parámetros que requiere.
De esta forma te pedirá el usuario, constraseña, el archivo para importar, qué quieres importar del archivo ... etc.
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

Practicas Instalacion

Comprobar los requerimientos HW y SW para la instalación de
Oracle10g sobre Linux.
HW: Los requerimientos mínimos son los siguientes
RAM 1Gb: “grep Mem /proc/meminfo”
$ grep Mem /proc/meminfo
MemTotal:       4138940 kB
MemFree:          89412 kB

HD 3.5 Gb para el sw, 1.2 Gb para la bd y al menos 400Mb de /tmp: “df”
$ df ­h
S.ficheros           Tamaño Usado Disp Uso% Montado en
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

/dev/hda2               50G   21G  26G  45% /
/dev/hda1               99M   11M  83M  12% /boot
none                   2,0G     0 2,0G   0% /dev/shm
/dev/hdc2               99G   49G  45G  52% /home

Swap 1.5 RAM (si RAM <= 2Gb), e igual RAM si RAM > 2Gb: ”/sbin/swapon ­s”
$ /sbin/swapon ­s
Filename                                Type            Size    Used    Priority
/dev/sdb1                               partition       2096440 260     ­1
(en este caso el espacio de swap es de 2Gb, siendo la RAM=4Gb; por tanto, deberíamos
añadir 2Gb más de swap)

SW: Ahora vamos a comprobar el sw
Linux kernel: “uname ­a”
$ uname ­a
Linux cursos.atica.um.es 2.6.12­1.1381_FC3smp #1 SMP Fri Oct 21 04:03:26 EDT 2005 i686
i686 i386 GNU/Linux

Gcc: “gcc ­v”
$ gcc ­v
...
gcc versión 3.4.2 20041017 (Red Hat 3.4.2­6.fc3)

Entorno gráfico (Xwin): “xclock”
$ xclock
Error: Can't open display:
$ echo $DISPLAY

Acceso a los ejecutables: make, ar, ld, nm.
$ type make ld ar nm
make is /usr/bin/make
ld is /usr/bin/ld
ar is /usr/bin/ar
nm is /usr/bin/nm

Parámetros del kernel (directorio /proc/sys/kernel)
$ cat /proc/sys/kernel/sem
250     32000   100     128
$ cat /proc/sys/kernel/shmmax
2147483648
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

$ cat /proc/sys/kernel/shmmni
4096
$ cat /proc/sys/fs/file­max
65536
$ ulimit ­n
1024
$ ulimit ­u
2047

      Comprobar las tareas de preinstalación.
Puntos de montaje para el sw y las bases de datos:
$ ls ­ld /u0?
drwxrwx­­x 3   oracle dba 4096 oct 26 19:38 /u01
lrwxrwxrwx 1   root   root    9 ene 10 2006 /u02 ­> /home/u02
lrwxrwxrwx 1   root   root    9 ene 10 2006 /u03 ­> /home/u03
drwxr­xr­x 3   oracle dba 4096 feb 17 2006 /u04
drwxrwx­­­ 3   oracle dba 4096 may 8 2006 /u05

Grupos dba y oinstall:
$ grep dba: /etc/group
dba:x:501:
$ grep oinstall: /etc/group
oinstall:x:502:oracle,oracle9

Usuario oracle con grupo primario dba y secundario oinstall:
$ id oracle
uid=502(oracle) gid=501(dba) grupos=501(dba),502(oinstall)

Directorios /u01/app/oracle y /u02/oradata, /u03/oradata, etc.
$ ls ­ld /u01/app/oracle /u0?/oradata
drwxrwx­­x 11 oracle dba 4096 sep 11   10:40 /u01/app/oracle
drwxrwx­­­ 59 oracle dba 4096 dic 8    15:29 /u02/oradata
drwxrwx­­­ 58 oracle dba 4096 dic 8    15:29 /u03/oradata
drwxrwx­­­ 58 oracle dba 4096 dic 8    15:29 /u04/oradata
drwxrwx­­­    3 oracle dba 4096 nov 15 09:40 /u05/oradata

Variables de entorno del usuario oracle justo antes de instalar:
$ echo $DISPLAY
$ echo $ORACLE_BASE
/u01/app/oracle
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION  DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio:            DBA­I
Autor:                Ing. Jose Paredes jparedes@codigolibre.org)
Version:            3.0

$ echo $PATH
/u01/app/oracle/product/10.2.0.1/bin:/usr/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr
/bin:/usr/X11R6/bin:/home/oracle/bin
$ echo $ORACLE_HOME
/u01/app/oracle/product/10.2.0.1
$ echo $ORACLE_SID
CURSOxy

      Comprobar cuánto ocupa el sw de Oracle10g.
$ du ­sm $ORACLE_HOME
1655    /u01/app/oracle/product/10.2.0.1

       Buscar el fichero de log de la instalación y echarle un vistazo.
$ ls ­lt $ORACLE_BASE/oraInventory/logs
total 1820
­rw­­­­­­­ 1 oracle dba 1024921 ago 8 13:39 installActions2006­08­08_01­28­34PM.log
­rw­r­­­­­ 1 oracle dba         0 ago 8 13:28 oraInstall2006­08­08_01­28­34PM.err
­rw­r­­­­­ 1 oracle dba         0 ago 8 13:28 oraInstall2006­08­08_01­28­34PM.out
...
$   tail ­28 $ORACLE_BASE/oraInventory/logs/installActions2006­02­27_12­32­21PM.log

Potrebbero piacerti anche