Instalacion Oracle10g Centos-5 DBA-I
Instalacion Oracle10g Centos-5 DBA-I
Instalacion Oracle10g Centos-5 DBA-I
DIVISION DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio: DBAI
Autor: Ing. Jose Paredes jparedes@codigolibre.org)
Version: 3.0
1Introduccion 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: DBAI
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: DBAI
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.
2Instalacion GNU/Linux
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
Autor: Ing. Jose Paredes jparedes@codigolibre.org)
Version: 3.0
AQUI VA EL ARCHIVO InstalacionCentos5
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio: DBAI
Autor: Ing. Jose Paredes jparedes@codigolibre.org)
Version: 3.0
3Introduccion 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: DBAI
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
aptget install paquete.deb
Desinstalar:
rpm e paquete.rpm
dpkg r paquete.deb
yum remove paquete
aptget 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: DBAI
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, autodocumentado 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: DBAI
Autor: Ing. Jose Paredes jparedes@codigolibre.org)
Version: 3.0
Para informacion adicional, descargue los manuales de la Fundacion Codigo Libre Descargas
4Instalacion 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 setarch1*
yum install setarch1*
rpm Uvh compatlibstdc++333*
yum install compatlibstdc++333*
# From RedHat AS4 Disk 3
cd /media/cdrom/RedHat/RPMS
rpm Uvh openmotif2*
yum install openmotif2*
rpm Uvh compatdb4*
yum install compatdb4*
# From RedHat AS4 Disk 4
cd /media/cdrom/RedHat/RPMS
rpm Uvh compatgcc323*
yum install compatgcc323*
rpm Uvh compatgcc32c++3*
yum install compatgcc32c++3*
yum install binutils compatdb controlcenter gcc gccc++ glibc glibccommon gnomelibs \
libstdc++ libstdc++devel make pdksh sysstat xscreensaver libaio
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio: DBAI
Autor: Ing. Jose Paredes jparedes@codigolibre.org)
Version: 3.0
yum install make gcc glibc compatdb compatgcc compatgccc++ compatlibstdc++ compatlibstdc++devel openmotif21
setarch libaio gccc++ libstdc++ openmotif
yum install xorgx11* expat fontconfig freetype zlib1.2.1.2
glibc6devel 2.3.2.ds112 . 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.78 . 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: DBAI
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.filemax = 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: DBAI
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: DBAI
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 (RedHat o United Linux), podemos hacer una de
dos cosas para arrancar el instalador:
Engañar al instalador para que piense que esta en RedHat (la ^D es Ctrl+D)
cat > /etc/redhatrelease
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: DBAI
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”
5Instalacion Configuracion Cliente Oracle
Instalacion Paquetes necesarios
oracleinstantclientbasic10.2.0.11.i386.rpm
oracleinstantclientdevel10.2.0.11.i386.rpm
oracleinstantclientsqlplus10.2.0.11.i386.rpm
rpm Uvh oracleinstantclient*
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: DBAI
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
6Iniciando 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: DBAI
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: DBAI
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: DBAI
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: DBAI
Autor: Ing. Jose Paredes jparedes@codigolibre.org)
Version: 3.0
7Administracion 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: DBAI
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
8Diccionario de Datos
V$DATABASE (Base de datos).
FUNDACION CODIGO LIBRE DOMINICANA
DIVISION DE INGENIERIA Y PROYECTOS
www.codigolibre.org
Servicio: DBAI
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).
9Administracion 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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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
10Backup 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: DBAI
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: DBAI
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: DBAI
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: DBAI
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: DBAI
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.121.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.26.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: DBAI
Autor: Ing. Jose Paredes jparedes@codigolibre.org)
Version: 3.0
$ cat /proc/sys/kernel/shmmni
4096
$ cat /proc/sys/fs/filemax
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?
drwxrwxx 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
drwxrxrx 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
drwxrwxx 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: DBAI
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 installActions20060808_012834PM.log
rwr 1 oracle dba 0 ago 8 13:28 oraInstall20060808_012834PM.err
rwr 1 oracle dba 0 ago 8 13:28 oraInstall20060808_012834PM.out
...
$ tail 28 $ORACLE_BASE/oraInventory/logs/installActions20060227_123221PM.log