practica2-ubuntu12.10

Upload: jorge-rdz

Post on 03-Jun-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 practica2-ubuntu12.10

    1/17

    Ing. Jorge A. Rodrguez Campos 2013 1 de 17

    UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO

    FACULTAD DE INGENIERIA

    BASES DE DATOSPRACTICA 2:

    CREACIN DE UNA BASE DE DATOS CON ORACLE 11g R2

    2.1.OBJETIVO:

    Conocer y poner en prctica las actividades requeridas para crear una base de datos en Oracle.

    Conocer la estructura lgica de una base de datos Oracle.

    2.2. CONCEPTOS PREVIOS.Investigar las caractersticas de los siguientes comandos, mismos que se instalan al momento de instalar

    Oracle:

    dbca

    netca

    sqlplus y sus principales comandos.

    2.3. PREPARACIN DEL SISTEMA OPERATIVO PARA CREAR UNA BASE DE DATOS ORACLE.Posterior a la instalacin del software de Oracle realizado en la prctica anterior, el siguiente paso es la

    creacin de una instancia de base de datos. Para ello, se debern ejecutar los siguientes pasos para preparar el

    sistema operativo:

    1. Configuracin de variables de entorno.Es necesario configurar las siguientes variables de entorno para poder trabajar con oracle. Las variables

    pueden agregarse al archivo .bashrc localizado en el directorio home de oracle (/home/oracle) , o si se

    desea que estas variables estn disponibles para todos los usuarios se pueden agregar en el archivo

    /etc/bash.bashrc Se recomienda este ltimo.

    Para agregar las variables al archivo /etc/bash.bashrc abrir una terminal emplear alguno de los editores

    mencionados en la prctica anterior. El archivo debe editarse con sesin de root:

    sudo nano /etc/bash.bashrc (agregar las variables al final del archivo).

    #Lineas agregadas para la instalacion de oracleexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1export ORACLE_SID=cursobdexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

    export PATH=$ORACLE_HOME/bin:$PATH

    El archivo deber verse similar al siguiente:

  • 8/12/2019 practica2-ubuntu12.10

    2/17

    Prctica 2 Bases de Datos

    Ing. Jorge A. Rodrguez Campos 2013 2 de 17

    Observar el valor de la variable ORACLE_SID. Su valor corresponde al identificador de la base de datos que se

    crear, se recomienda dejar este nombre, aunque puede ser modificado. Adicionalmente, confirmar que las

    rutas existan.

    Para verificar que la instalacin y las variables han sido configuradas de forma correcta, abrir una nuevaterminal y ejecutar los siguientes comandos. Verificar que la salida sea similar a la siguiente. Incluir en elreporte la salida.

    echo $LD_LIBRARY_PATHsqlplus /nolog

    Estando dentro del prompt SQL>, indicar exit para salir de sqlplus. Esta herramienta se revisar a detalle

    en prcticas posteriores.

    2. Habilitacin de la memoria compartida para Oracle en UbuntuA partir de la versin 11.10 de Ubuntu, se modifica el directorio que asigna el sistema operativo como

    memoria compartida para uso de las aplicaciones. Originalmente, este directorio se encuentra en /dev/shm,

    pero a partir de esta versin el directorio se cambi a /run/shm.

    El cambio anterior provoca que no este disponible la administracin de la memoria automtica en

    Oracle. Para solucionar este inconveniente, se agregar un script que se ejecute al inicio del sistema operativo.

    El script realiza el montaje de un rea de memoria de 2GB en /dev/shm. Se debern realizar las siguientes

    actividades:

    Del archivo zip practica2.zip, obtener el archivo llamado oracle-shm, copiarlo en alguna

    ruta, por ejemplo en el escritorio.

    Empleando una terminal, cambiarse al directorio donde se encuentra el archivo.

    Mover el archivo al directorio /etc/init.d

    sudo mv oracle-shm /etc/init.d/oracle-shm

    Modificar los permisos del archivo para que este pueda ser ejecutado al iniciar el equipo. Ejecutar las 2

    siguientes instrucciones como root:

  • 8/12/2019 practica2-ubuntu12.10

    3/17

    Prctica 2 Bases de Datos

    Ing. Jorge A. Rodrguez Campos 2013 3 de 17

    sudo chmod 755 /etc/init.d/oracle-shm

    Ejecutar el siguiente comando para que el archivo se ejecute al iniciar el sistema operativo:

    sudo update-rc.d oracle-shm defaults 01 99

    Una vez realizado lo anterior, se deber reiniciar el sistema operativo para que el script se ejecute. Posterior alreinicio, ejecutar el siguiente comando para verificar que se ha montado el rea de memoria en /dev/shm:

    sudo cat /etc/mtab | grep shm

    La salida del comando anterior deber ser similar a la siguiente (en especial debe aparecer la segunda lnea):

    none /run/shm tmpfs rw,nosuid,nodev 0 0shmfs /dev/shmtmpfs rw,size=2048m0 0

    Incluir en el reporte la pantalla donde muestre la ejecucin de este comando y su salida.

    3. Preparando el ambiente para realizar la creacin de la base de datos.Para iniciar con la creacin de la base de datos, se emplear el asistente grfico de Oracle. De forma similar a

    la prctica anterior, se debe verificar que la variable DISPLAYest disponible para el usuario oracle:

    Antes de cambiar de sesin al usuario oracle, o en otra terminal ejecutar :xhost +

    Posteriormente, cambiarse al usuario Oracle (su l oracle) , establecer el valor de la variable

    display:export DISPLAY=:0.0

    2.4. CREACIN DE UN LISTENEREl siguiente paso en cuanto a instalacin es la creacin de un listener. El listener permite a clientes

    conectarse a la instancia de Oracle a travs de peticiones TCP. Para crear un listener ejecutar los siguientes

    comandos, nuevamente empleando el usuario oracle.

    1. Ejecutar el comando netca Aparecer la siguiente pantalla. Seguir las instrucciones.

  • 8/12/2019 practica2-ubuntu12.10

    4/17

    Prctica 2 Bases de Datos

    Ing. Jorge A. Rodrguez Campos 2013 4 de 17

    2. Agregar listener.

    3. Nombre del listener.Se recomienda dejar el default:

    4. Lista de protocolos.Dejar los valores por default.

  • 8/12/2019 practica2-ubuntu12.10

    5/17

    Prctica 2 Bases de Datos

    Ing. Jorge A. Rodrguez Campos 2013 5 de 17

    5. Nmero de puerto.Por default oracle escucha peticiones en el puerto 1521. A menos que se est haciendo uso de ese puerto,

    modificar su valor, en otro caso, dejar los valores por default.

    Seleccione terminar para crear el listener.

    2.5. CREACIN DE UNA BDCON DBCA.El ltimo punto para tener listo el ambiente, es la creacin de la base de datos. Para ello, se deber iniciar el

    asistente grfico. Ejecutar el comando dbca (empleando el usuario oraclecomo se muestra en la figura).

    6. Seguir las instrucciones en pantalla.

  • 8/12/2019 practica2-ubuntu12.10

    6/17

    Prctica 2 Bases de Datos

    Ing. Jorge A. Rodrguez Campos 2013 6 de 17

    7. Seleccione la opcin crear base de datos.

    8. Seleccin de la plantilla

    9. Identificacin de la base de datosObservar que en el campo SID debe corresponder con el valor de la variable ORACLE_SID especificada

    en el archivo que contiene las variables de entorno configurado en pasos anteriores.

  • 8/12/2019 practica2-ubuntu12.10

    7/17

    Prctica 2 Bases de Datos

    Ing. Jorge A. Rodrguez Campos 2013 7 de 17

    10. Opciones de Gestin.Habilitar la opcin Configurar Enterprise Manager, dar clic en siguiente.

    11. Cuentas de usuario.Para propsitos del curso no es necesario asignar passwords para cada uno de los usuarios que se crean al

    crear la instancia. Proporcione un solo password, por ejemplo system

    12. Ubicacin de los archivos de datos.

  • 8/12/2019 practica2-ubuntu12.10

    8/17

  • 8/12/2019 practica2-ubuntu12.10

    9/17

    Prctica 2 Bases de Datos

    Ing. Jorge A. Rodrguez Campos 2013 9 de 17

    15. Configuracin de la memoria.Para propsitos del curso, basta con seleccionar la cantidad mnima de memoria. Observar que se marca la

    opcin de Gestin automtica de memoria, esto debido a los cambios que se aplicaron con el script de inicio en

    el paso2.

    En la pestaa tamao, modificar el nmero mximo de procesos del sistema operativo que pueden levantarse,

    asignar el valor 50. Para propsitos del curso no es necesario un valor mayor.

  • 8/12/2019 practica2-ubuntu12.10

    10/17

    Prctica 2 Bases de Datos

    Ing. Jorge A. Rodrguez Campos 2013 10 de 17

    En la pestaa Juego de caracteres, seleccionar la opcin juego de caracteres UNICODE.

    16. Resumen.En esta pantalla se muestra la configuracin de almacenamiento de datos. Por ejemplo, en la siguiente

    pantalla se muestran las rutas en la que se almacenarn los datos de la base.

    17. Finalmente puede indicar de forma opcional si todas las instrucciones que se requieren para crear labase de datos se guarden en algn directorio. Habilite esta opcin para posteriormente inspeccionar

    el archivo generado.

  • 8/12/2019 practica2-ubuntu12.10

    11/17

    Prctica 2 Bases de Datos

    Ing. Jorge A. Rodrguez Campos 2013 11 de 17

    18. Presionar Terminar, y esperar a que el proceso concluya.

    Al final del proceso aparecer un mensaje como el siguiente:

    Nota: si por alguna razn el instalador se queda en el 85% del avance y despus de un tiempo considerable no

    avanza (15 o mas minutos), abrir otra terminal, empleando el usuario oracle, verificar el status del listener

    ejecutando el comando lsnrctl status El comando debe indicar que la instancia esta lista (ready) para

    recibir peticiones (ver las pantallas de la seccin 2.6 punto 3). Si el status es ready, es posible cerrar el

    instalador (parar) y continuar con la prctica de forma normal.

    Hasta este punto, tanto el listener como la instancia de la base de datos estn listas para recibir peticiones.

  • 8/12/2019 practica2-ubuntu12.10

    12/17

    Prctica 2 Bases de Datos

    Ing. Jorge A. Rodrguez Campos 2013 12 de 17

    En Linux, ni el listener ni la instancia de Oracle se inician al iniciar el sistema operativo, por lo que cada vez

    que se requiera trabajar con oracle, y para efectos del curso, no ser necesario configurar estos servicios para

    que se inicien de forma automtica. Los pasos que se deben realizar para comenzar a trabajar con Oracle

    posterior al inicio de la maquina son:

    I. Iniciar el listener empleando el comando lsnrctl startII. Entrar a sqlplus. SqlPlus es la herramienta principal a lnea de comandos de Oracle para interactuar

    con la base de datos (este tema se tratar en la siguiente prctica).

    III. Iniciar la instancia de la base de datos.2.6. CONECTANDO CON ORACLE.

    Para verificar que el proceso de instalacin y configuracin ha sido correcto, realizar el siguiente ejercicio,

    incluir la salida de cada comando en el reporte.

    1. Detener el listener: ejecutar lsnrctl stopSi el listener est iniciado, aparecer una ventana como la siguiente:

    Si el listener no est iniciado, aparecer una ventana como la siguiente:

    2. Iniciar el listener: ejecutar lsnrctl start3. Verificar el estado del listener: ejecutar lsnrctl status, se deber mostrar una pantalla como la

    siguiente.

  • 8/12/2019 practica2-ubuntu12.10

    13/17

    Prctica 2 Bases de Datos

    Ing. Jorge A. Rodrguez Campos 2013 13 de 17

    En este caso, observar la lnea The listener supports no services, esto significa que el listenerest iniciado,pero la instancia de Oracle no est iniciada. Si la instancia ha sido iniciada previamente, aparecer una

    pantalla como la siguiente:

    Observar que el comando indica el estatus de la base, en este caso READY. Esto significa que el listener y la

    instancia estn listos para recibir peticiones.

    4. Entrando a sqlplus.Para interactuar con la base a lnea de comandos con sqlplus, ejecutar el siguiente comando:

    oracle@lap-xps:~$ sqlplus / as sysdba

  • 8/12/2019 practica2-ubuntu12.10

    14/17

    Prctica 2 Bases de Datos

    Ing. Jorge A. Rodrguez Campos 2013 14 de 17

    SQL*Plus: Release 11.2.0.1.0 Production on Sat May 8 12:21:03 2010Copyright (c) 1982, 2009, Oracle. All rights reserved.Connected to an idle instance.SQL>

    Observar la forma del prompt, SQL> indica que estamos dentro de sqlPlus.

    Observar que al invocar a sqlplus no fue necesario indicar algn usuario y password. Esto es porque se estusando la autenticacin a nivel sistema operativo para el usuario oracle.

    5. Iniciar y detener la base de datosEn oracle, las bases de datos cuentan con varios estatus:

    SHUTDOWNNOMOUNTMOUNTOPEN

    Para poder interactuar con la BD el estatus debe ser OPEN.

    Aplicar los siguientes comandos estando en sqlplus, incluir la salida en el reporte.

    Detener la instancia con el comando SHUTDOWN el cual tiene la siguiente sintaxis:shutdown [normal | transactional | immediate abort]

    usar shutdown normal.

    Ejecutar nuevamente lsnrctl status , confirmar en la salida del comando que efectivamente, no

    existe instancia iniciada.

    Levantar nuevamente la instancia empleando la siguiente secuencia de comandos:

    SQL> startup nomountSQL> alter database mount;SQL> alter database open;

    Existe una forma corta de iniciar la base de datos sin especificar las 3 instrucciones anteriores:

    SQL> startup

    Esta instruccin lleva a la base de datos a su status OPEN, y es equivalente a escribir las 3 instrucciones

    anteriores.

    2.7.EXPLORANDO LOS OBJETOS DEL USUARIO SYSTEM.

    Por default todas las cuentas de usuario excepto SYS y SYSTEM se bloquean. Para efectos de esta prctica

    no es necesario crear nuevos usuarios, se emplear system.

    Recordando el concepto de esquema, antes de poder aplicar alguna consulta, manipulacin, etc., debemos

    conectarnos a alguno de los esquemas (usuarios). En este caso usaremos el usuario system.

    Para conectarnos al esquema system emplear el siguiente comando en sqlplus:

    sql> connect user/password

  • 8/12/2019 practica2-ubuntu12.10

    15/17

  • 8/12/2019 practica2-ubuntu12.10

    16/17

    Prctica 2 Bases de Datos

    Ing. Jorge A. Rodrguez Campos 2013 16 de 17

    La siguiente imagen, muestra una consulta tpica que muestra informacin de las caractersticas de las tablas

    de la base de datos:

    Muestra las caractersticas de las columnas de una tabla.

    Muestra las restricciones (constraints) aplicadas a una tabla.

    2.8.1.1. Ejercicios asociados al diccionario de datos.Ejecutar los siguientes comandos e incluir la salida en el reporte.

    Mostrar la lista de usuarios existentes:o select username from USER_USERS;o select count(*) from USER_USERS;o select count(*) from DBA_USERS;Ejecutar ambas sentencias, mostrar el resultado y describir diferencias. Por qu ambas

    vistas muestran diferente nmero de registros (investigar)?

    Mostrar el nmero de tablas existentes en la base de datos:select count(*) from all_tables;

    Investigar qu tipo de informacin se almacena en la vista user_constraints.

    En oracle existe una tabla dictionary. Ejecutar el siguiente comando para describirla, y con

    base a resultado comentar, e investigar la informacin que almacena: describedictionary

  • 8/12/2019 practica2-ubuntu12.10

    17/17