instalacion oracle10g centos-5 dba-i

67
FUNDACION CODIGO LIBRE DOMINICANA DIVISION  DE INGENIERIA Y PROYECTOS www.codigolibre.org Servicio:            DBA-I Autor:                Ing. Jose Paredes [email protected]) 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.

Upload: kalet-apaza-torres

Post on 08-Apr-2015

768 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 2: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 3: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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

Page 4: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 5: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 6: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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».

Page 7: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 8: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 9: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

Conviene crear una disposición que permita un mayor control. Seleccione «Crear disposición personalizada».

Page 10: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

Una vez seleccionado «Crear disposición personalizada», haga clic sobre el botón «Siguiente».

Page 11: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

La herramienta de particiones mostrará el espacio disponible. Haga clic en el botón «Nuevo».

Page 12: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 13: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

Si está conforme, haga clic otra vez en el botón «Nuevo» y proceda a crear la siguiente partición.

Page 14: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 15: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

Si está conforme, haga clic otra vez en el botón «Nuevo» y proceda a crear la siguiente partición.

Page 16: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 17: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 18: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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».

Page 19: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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».

Page 20: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

Al terminar, haga clic sobre el botón «Siguiente».

Page 21: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

Para configurar los parámetros de red del sistema, haga clic sobre el botón «Modificar» para la interfaz eth0.

Page 22: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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».

Page 23: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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».

Page 24: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 25: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 26: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 27: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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».

Page 28: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

Se realizará una comprobación de dependencias de los paquetes a instalar. Este procesos puede demorar algunos minutos.

Page 29: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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».

Page 30: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 31: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 32: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

Espere a que se terminen los preparativos de inicio del proceso de instalación.

Page 33: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

Se realizarán preparativos para realizar las transacciones de instalación de paquetes.

Page 34: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 35: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

Una vez concluida la instalación de los paquetes, haga clic sobre el botón «Reiniciar».

Page 36: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

AQUI VA EL ARCHIVO InstalacionCentos5

Page 37: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

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

3.1 Iniciando LinuxGNU/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 / UNIXcd: Utilizado para entrar a un directorio. Ej: cd /home/userls: Utilizado para listar archivos y directorios. Ej: ls /var/logfile: Usado para saber el tipo de archivo: Ej file archivo.txtmkdir: Comando creado para crear un directorio. Ej: mkdir directorio

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

3.1.2 Demonio InitInit 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 shellInté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 VariablesLas 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 directorios3.2.1 /3.2.2 /home/3.2.3 /var/3.2.4 /usr/3.2.5 /opt/3.2.6 /proc/

Page 38: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

3.2.7  /etc/3.2.8  /bin3.2.9 /sbin3.2.10 /tmp3.3 Instalacion de Paquetes rpm y debInstalar:rpm ivh paquete.rpmdpkg i paquete.debyum install paquete.rpmaptget install paquete.debDesinstalar:rpm e paquete.rpmdpkg r paquete.debyum remove paqueteaptget remove paquete.deb3.4 Usuarios y GruposAgregar un usuario:useradd usuarioEliminar un usuariouserdel usuarioAgregar un grupogroupadd grupoEliminar un grupogroupdel grupo

3.4.1 Cuenta rootroot 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/passwdEl 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.

Page 39: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

3.4.6 Comando fingerEl 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 ProcesosUn 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 topEs 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 EmacsVi 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 tarEl 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/crontabEn 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.

Page 40: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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 2cd /media/cdrom/RedHat/RPMSrpm Uvh setarch1*yum install setarch1*rpm Uvh compatlibstdc++333*yum install compatlibstdc++333*# From RedHat AS4 Disk 3cd /media/cdrom/RedHat/RPMSrpm Uvh openmotif2*yum install openmotif2*rpm Uvh compatdb4*yum install compatdb4*

# From RedHat AS4 Disk 4cd /media/cdrom/RedHat/RPMSrpm 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

Page 41: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

• gcc   : el compilador de c.

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 discoSegú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/meminfogrep 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  rootcd /rootdd if=/dev/zero of=/root/tmpswp bs=1k count=500000chmod 600 tmpswpmkswap tmpswpswapon tmpswpgrep SwapTotal /proc/meminfo

Page 42: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.xkernel.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

Page 43: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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 

Page 44: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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 oinstallgroupadd dbagroupadd oper

useradd g oinstall G dba oraclepasswd oracle

Creacion de los Directorios donde se instalara la Base Dato:mkdir p /opt/app/oracle/product/10.1.0/db_1chown 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/redhatreleaseRed Hat Linux release 2.1 (drupal)^DX

Añade estas variables de entorno:

# Oracle Settings

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

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

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

Page 45: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.rpmoracleinstantclientdevel10.2.0.11.i386.rpmoracleinstantclientsqlplus10.2.0.11.i386.rpm

rpm Uvh oracleinstantclient*

Variablesvariables en el archivo .bashrc# Configuracion de ORACLEORACLE_HOME=/usr/lib/oracle/10.2.0.1/clientPATH=$ORACLE_HOME/bin:$PATHLD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATHexport ORACLE_HOMEexport PATHexport 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/profilePATH=$PATH:/usr/bin ; export PATH

Creamos las carpetas network/adminmkdir p /usr/lib/oracle/10.2.0.1/client/network/admin

Page 46: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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

Page 47: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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

Page 48: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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

Page 49: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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

Page 50: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 51: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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).

Page 52: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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 Seguridad9.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 RolesSYSDBA. 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

Page 53: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 54: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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 secrearán los objetos del esquema del usuario cuando al hacerlono se indica ninguno en particular.

Page 55: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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>

Page 56: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 57: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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 usuarios9.8.1 Asignacion de un usuario a un usuario a un tablespace (default tablespace) 

Page 58: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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;

Page 59: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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 davidSQL > 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:

Page 60: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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 proporcionados soluciones:– Recovery Manager, una herramienta propia de Oracleque puede gestionarse a través de un interfaz línea decomandos o gráfica.– Copia y recuperación gestionada por usuario, queemplea una mezcla de órdenes de s.o. y SQL*Plus.• Se recomienda usar Recovery Manager al poderse realizar losmismos tipos de copias y recuperaciones que manualmente,además de proporcionar un interfaz estándar sobre distintossistemas operativos.

Page 61: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

COPIAS FISICAS/LOGICAS.• Debe permitir, en caso de pérdida de los datosoriginales, recuperarlos.• Pueden clasificarse en:– Físicas. Copias de los ficheros que integran la bd, ficherosde control y ficheros “archive log” hechas con utilidadesdel gestor de bd Recovery Manager, RMAN o del s.o..– Lógicas. Exportación a fichero binario mediante lasutilidades de exportación (DATA PUMP EXPORT o EXPORT).La copia física es la base del sistema de copia yrecuperació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"

Page 62: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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"

Page 63: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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.

Page 64: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

Practicas Instalacion

Comprobar los requerimientos HW y SW para la instalación deOracle10g sobre Linux.HW: Los requerimientos mínimos son los siguientesRAM 1Gb: “grep Mem /proc/meminfo”$ grep Mem /proc/meminfoMemTotal:       4138940 kBMemFree:          89412 kB

HD 3.5 Gb para el sw, 1.2 Gb para la bd y al menos 400Mb de /tmp: “df”$ df hS.ficheros           Tamaño Usado Disp Uso% Montado en

Page 65: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

/dev/hda2               50G   21G  26G  45% //dev/hda1               99M   11M  83M  12% /bootnone                   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 sFilename                                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íamosañadir 2Gb más de swap)

SW: Ahora vamos a comprobar el swLinux kernel: “uname a”$ uname aLinux cursos.atica.um.es 2.6.121.1381_FC3smp #1 SMP Fri Oct 21 04:03:26 EDT 2005 i686i686 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”$ xclockError: Can't open display:$ echo $DISPLAY

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

Parámetros del kernel (directorio /proc/sys/kernel)$ cat /proc/sys/kernel/sem250     32000   100     128$ cat /proc/sys/kernel/shmmax2147483648

Page 66: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])Version:            3.0

$ cat /proc/sys/kernel/shmmni4096$ cat /proc/sys/fs/filemax65536$ ulimit n1024$ ulimit u2047

      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 /u01lrwxrwxrwx 1   root   root    9 ene 10 2006 /u02 > /home/u02lrwxrwxrwx 1   root   root    9 ene 10 2006 /u03 > /home/u03drwxrxrx 3   oracle dba 4096 feb 17 2006 /u04drwxrwx 3   oracle dba 4096 may 8 2006 /u05

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

Usuario oracle con grupo primario dba y secundario oinstall:$ id oracleuid=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?/oradatadrwxrwxx 11 oracle dba 4096 sep 11   10:40 /u01/app/oracledrwxrwx 59 oracle dba 4096 dic 8    15:29 /u02/oradatadrwxrwx 58 oracle dba 4096 dic 8    15:29 /u03/oradatadrwxrwx 58 oracle dba 4096 dic 8    15:29 /u04/oradatadrwxrwx    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

Page 67: Instalacion Oracle10g Centos-5 DBA-I

FUNDACION CODIGO LIBRE DOMINICANADIVISION  DE INGENIERIA Y PROYECTOS

www.codigolibre.orgServicio:            DBAIAutor:                Ing. Jose Paredes [email protected])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_SIDCURSOxy

      Comprobar cuánto ocupa el sw de Oracle10g.$ du sm $ORACLE_HOME1655    /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/logstotal 1820rw 1 oracle dba 1024921 ago 8 13:39 installActions20060808_012834PM.logrwr 1 oracle dba         0 ago 8 13:28 oraInstall20060808_012834PM.errrwr 1 oracle dba         0 ago 8 13:28 oraInstall20060808_012834PM.out...$   tail 28 $ORACLE_BASE/oraInventory/logs/installActions20060227_123221PM.log