SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
INSTALACIÓN DE ORACLE




Manual explicado paso a paso (con capturas de pantalla) cómo instalar Oracle 9i en Windows (cualquier
versión). Incluyendo soluciones de algunos errores en el arranque de Oracle.

    1.   INSTALACIÓN DE ORACLE 9i EN WINDOWS

• Introduciremos el CD 1 de la instalación, los tres CDs que componen el programa de instalación se
pueden descargar gratuitamente (siempre que no sea con fines lucrativos) desde la propia web de
oracle: www.oracle.co m




• Tras seleccionar la ruta de los ficheros de oracle pulsaremos en Siguiente.
• A continuación seleccionaremos el tipo de instalación que deseemos:
En nuestro caso, puesto que crearemos la base de datos en el servidor donde estamos realizando la
instalación seleccionaremos Oracle9i Database 9.2.0.1.0. Si ya disponemos de un servidor de Oracle con
las correspondientes bases de datos a las que queramos acceder será suficiente con seleccionar la
opción Oracle9i Client 9 .2.0.1.0, en este caso la instalación es bastante más simple, pues sólo es
necesario especificar la IP o el nombre de red del servidor de Oracle así como el nombre (sid) de la base
de datos a la que queramos acceder.

• Seleccionaremos el tipo de instalación que queramos realizar:
En nuestro caso, seleccionaremos Enterprise Edition , si queremos realizar una instalación más avanzada
(especificando manualmente las opciones a instalar) seleccionaremos Personalizado , en este caso
aparecería una ventana como esta:




• Seleccionaremos la siguiente opción dependiendo del uso que le quer amos dar a nuestra base de
datos, normalmente es para Uso General. Si no queremos crear una base de datos en el proceso de
instalación (se puede crear en otro momento) seleccionaremos Sólo software:




• Seleccionaremos el puerto para Oracle MTS Service, normalmente se suele seleccionar el puerto por
defecto 2030. Este parámetro es muy importante pues, si decidimos cambiar el puerto por defecto,
cuando queramos que un cliente se conecte al servidor deberemos especificar el puerto que hayamos
seleccionado en este punto de la instalación:
• Especificaremos el nombre de la base de datos (con un máximo de 8 caracteres):




Nota: el SID es el identificador interno que utilizará Oracle para referenciar a nuestra base de datos, se
puede elegir uno diferente al del nombre de la Base de Datos, aunque se suele utilizar el mismo.

• En este punto de la instalación seleccionaremos la ubicación de los archivos de la base de datos que la
instalación creará. Oracle recomienda que la ubicación de los archivos de la base de datos esté en un
disco físico distinto al de los archivos de la instalación (software de Oracle). También recomienda que los
archivos de Redo Log estén multiplexados (varias copias, esto se configura en la consola de
administración de Oracle) y en diferentes discos físicos. Lógicamente es lo recomendable por Oracle y
sólo se configura así cuando se trata de una Base de Datos que tendrá múltiples accesos concurrentes
(al mismo tiempo) y con un volumen de datos importante, pues el desembolso económico en harware
para la correcta instalación de Oracle puede ser importante. En nuestro caso, instalaremos los archivos
de la base de datos en un segundo disco duro instalado exclusivamente para Oracle. A pesar de todo no
hay ningún problema por instalar la bas e de datos en el mismo disco duro que el software de Oracle. Si
nuestra organización dispone, por ejemplo, de unos 20 usuarios conectados a Oracle no habría una
pérdida del rendimiento por instalarla en el mismo disco duro. Por supuesto esto es orientativo pues
dependerá también del volumen de datos que necesite cada usuario así como de otros factores (rpm del
disco duro, características del servidor de Oracle (procesadores, memoria RAM, …), velocidad de la red
local, tipo de conexión que realice el software de nuestra empresa que acceda a Oracle (el acceso nativo
sin necesidad de utilizar controladores ODBC incrementa considerablemente el rendimiento frente a
accesos mediante controladores ODBC que no dejan de ser una pasarela entre el software y Oracle):




• Seleccionaremos el juego de caracteres que vayamos a utilizar, si dejamos el juego de caracteres por
defecto Oracle utilizará el juego de caracteres que tengamos configurado en nuestro sistema operativo,
es la opción recomendada. Este parámetro sólo sería importante en el caso en que queramos exportar
nuestra base de datos a otro servidor de Oracle, en este caso será importante que el juego de caracteres
del servidor que recibirá los datos coincida con el que los exportó. Si no coinciden podrían aparecer
erróneamente caracteres como “€” alojados en nuestra base de datos:
• Como último paso de la preinstalación nos aparecerá una ventana con el software que se va a instalar,
tras comprobar que es correcto pulsaremos en Instalar:




• Introduciremos los CDs de instalación conforme los vaya pidiendo el programa:




• Tras la instalación de Oracle y la creación de la base de datos aparecerá una ventana indicando que el
proceso de instalación ha finalizado:
En esta ventana nos indica que ha finalizado el proceso de instalación y que podemos acceder desde
cualquier otro PC de la red introduciendo en el navegador de Internet:
                              http://nombre_o _IP_del_servidor_oracle:7778

El acceso vía Internet está permitido pues al seleccionar la instalación Enterprise Edition se instala e
inicia por defecto Oracle http Server (servidor web de Oracle).
Si al intentar acceder a la Consola de Oracle En terprise Manager nos aparece este error:




Deber emos configurar el Listener manualmente, para ello accederemos a Inicio – Programas – Ora cle –
OraHome92 – Configuration and Migration Tools – Net Configuration Assistant:
Seleccionamos Configuración de Listener y a continuación Volver a Configurar:




Nos aparecerá el Listener que el programa de instalación de Oracle crea automáticamente:




Seleccionamos el protocolo a utilizar (TCP):
Seleccionamos el puerto a utilizar, por defecto 1521:




Con esto habremos vuelto a actualizar el Listener:
Si el error ORA-12541: TNS: no hay ningún listen er continúa apareciendo deberemos seguir los pasos
que se indican en el punto 1 del anexo.

       CONFIGURACIÓN DE USUARIO PARA ACCESO V ÍA HTTP A LOS PROCEDIMIENTOS PL -SQL
                                    ALMACENADOS

Si tenemos iniciado el Servidor http de Ora cle podr emos acceder desde cualquier equipo de la red local
y, también, desde cualquier parte del mundo (siempre que tengamos configurado el router con el
puerto 7778 redirigido a la IP local del Servidor de Oracle). Es suficiente con poner en el navegador de
Internet: http://IP_Servidor_Oracle:7778, nos aparecerá una ventana como esta:




Desde aquí podremos configurar los usuarios que tendrán acceso a través de Internet a Oracle, así como
los procedimientos que se ejecutarán en el inicio.

                                       ERRORES CON EL ORACLE

1.- ALGUNOS ERRORES AL INICIAR ORACLE Y SU SOL UCIÓN

• Al iniciar la Enterprise Manager Console o al intentar conectarme a la Base de Datos de Oracle aparece
el siguiente error:

TNSLSNR.EXE ha detectado un problema y deb e cerrarse.
Más información: szAppName: TNSLSNR.EXE szAppVer: 0.0.0.0 szModNa me: orantcp9.dll
Y tras pulsar en Cerrar el servicio OracleOraHome92TNSListener se detiene.

Solución:
Accedemos al Regedit, desde el botón Inicio – Ejecu tar ponemos regedit y pulsamos en Acepta r:
buscamos la siguiente clave:
                         HKEY_LOCAL_MACHINE/SOFTW ARE/ORACLE/HOME0
E insertamos una nueva entrada de tipo Valor de cadena expandible con el valor TRUE:
                                     USE_SHARED_SOCKET=TRUE




Una vez añadida esta clave reiniciaremos el sistema. En teoría ya debería haberse solucionado el
problema.
Si el problema sigue produciéndose tras reiniciar, será conveniente comprobar el fichero
WinsockXPFix.exe
• El espacio en disco no para de decrecer, hasta quedarse sin espacio. Este problema es producido por el
Servidor HTTP de O racle Basado en Apache, cuando dicho servidor encuentra algún problema con el
Listener (como el descrito en el punto 1), lo informa escribiendo en el log que crea a tal efecto. Dicho
fichero de log va creciendo desproporcionadamente hasta dejar el disco duro sin espacio. La línea del
fichero de log podría ser como esta:

     [warn] FastCGI: server "c:/oracle/o ra92/bin/isqlplus" can't be resta rted :exceeded max resta rts

Solución:
Para solucionar este problema, en primer lugar deberemos detener el servicio
OracleOraHome92HTTPServer y deshabilitarlo para que no se vuelva a iniciar, al menos, hasta que
solucionemos el problema, a continuación eliminaremos el fichero de log de Apache ubicado en:
C:/oracle/ora92/Apache/Apache/logs

Eliminaremos el fichero error_log, si no nos deja eliminarlo será porque el servicio no se ha detenido
correctamente, con lo cual deberíamos deshabilitar dicho servicio y reiniciar el equipo.

Con esto hemos solucionado el problema parcialmente pues, aunque ya no vamos a tener problemas
con el espacio en disco, el servidor de Apache estará deshabilitado, con lo cual no podremos acceder a
Oracle vía Internet.

Para poder iniciar el servicio de Apa che sin que deje el disco sin espacio editaremos el fichero:

                            C:/oracle/ora92/Apache/Apache/conf/httpd.conf

Y modificaremos la línea LogLevel warn por Log Level erro r . De esta forma evitaremos que el log se llene
de warning y sólo se guardarán los errores. Una vez guardado el fichero httpd.conf podremos volver a
iniciar el servicio OracleOraHome92HTTPServer.

• Al intentar conectar a Oracle aparece el error "TNS-12535: TNS:timeout de la operación" ó "ORA-
12535: TNS:operation timed out". Dicho error se puede comprobar en el directorio de instalación de
Oracle: C:/oracle/ora92/bin/sqlnet.log

Solución:
Normalmente es debido a un fallo de conexión de red con el servidor. Si, tras comprobar que la red
funciona adecuadamenete, el problema sigue apareciendo se puede deber también a la intervención de
un cortafuegos (tanto hardware como software). Por ejemplo, si tenemos instalado Oracle Server en un
PC con Windows XP, el cortafuegos software que éste incorpora inpedirá el acceso a la Base de Datos
Oracle desde otros PCs. Para solucionarlo deberemos configurar adecuadamente en cortafuegos
abriendo los puertos que utiliza Oracle, tales como el 1521.

2.- INICIAR / PARAR / PROBAR LA BASE DE DATOS MAN UALMENTE

Para iniciar una base de datos de Oracle manualmente seguiremos los siguientes pasos:

         Desde la línea de comandos (consola de MS-DOS) pondremos:

             o    Sqlplus /nolog: Para conectarnos a SQLPlus que es la consola de Oracle para MS-DOS,
                  útil para realizar tareas de mantenimiento de la Base de Datos, tales como reparación,
                  apagado manual, inicio manual
             o    Connect / as sysdba: Para conectarnos a Oracle como administradores, al no poner
                  nombre de usuario delante de “/” se asume el usuario del sistema operativo (éste ha
                  de ser administrador)
             o    Select status from v$instance: con esta consulta comprobamos que la base de datos
                  no está iniciada, para ello deberá devolver un valor distinto a STARTED
             o    Select database_status from v$instance
             o    startup nomount: con esta sentencia iniciaremos la base de datos sin montar, puede
                  ser útil para reparar algún datafile dañado o para realizar tareas que no se podrían
                  llevar a cabo con la base de datos montada
             o    shutdown immediate: cierra la base de datos, incluso aunque haya usuarios
                  conectados
             o    startup: inicia y monta la base de datos , la deja lista para ser usada
             o    alter user hr identified by hr account unlock: esta instrucción sirve para desbloquear
                  un usuario bloqueado y cambiarle la contraseña, en este caso hemos desbloqueado un
                  usuario que Oracle crea por defecto, llamado hr y le hemos asignado la contraseña hr
             o    connect hr/hr: nos conectamos con el usuario hr para hacer una Select y comprobar
                  que funciona correctamente
o    select * from employees: hacemos una consulta de selección para que nos muestre el
                  contenido de la tabla employees que Oracle crea automáticamente en la instalación

Para realizar este manual hemos utilizado:

         Oracle9i Database 9.2.0.1.0.
         Microsoft Windows XP.

Nota: este manual no tiene por qué ser la mejor forma de instalar Oracle, es una de las muchas
configuraciones que se pueden realizar.

                              INSTALACIÓN DE ORACLE 11G EN WINDOWS XP

Requerimientos:

Permisos de Administrador: Es necesario tener per misos de administrador para ejecutar el instalador.
Requisitos mínimos de Hardware: Es necesario cumplir con los siguientes requerimientos mínimos en
Esta es una guía rápida de instalación de Oracle 11g en Windows 32 -Bit, así que solo se tocaran los
puntos más importantes para dejar corriendo los servicios básicos de Oracle.

Requerimientos:

    1.   Permisos de Administrador: Es necesario tener per misos de administrador para ejecutar el
         instalador.

    2.   Requisitos mínimos de Hardw are: Es nec esario cumplir con los siguientes requerimientos
         mínimos en equipo donde se desea instalar:

                 Requisito                          Mínimo
                 Memoria Física (RAM)               1Gb
                 Memoria Virtual                    El doble de tamaño que la RAM
                                                    (2Gb)
                 Espacio en disco                   Instalación Básica: 4.55Gb
                                                    Instalación Avanzada: 4.92Gb
                 Adaptación de Vídeo                256 colores
                 Procesador                         550Mhz

    3.   Requisitos mínimos de Software:

                 Arquitectura de procesador         Intel (x86), AMD64, o Intel EM64T
                 Sistema Operativo                        oWindows 2000 Service
                                                           Pack 1 o superior
                                                       o Windows Server 2003 o
                                                           Superior
                                                       o Windows XP Professional
                                                       o Windows Vista Businnes o
                                                           Superior
                                                    *Windows NT no esta soportado
                 Compilador                               o   ACUCOBOL-GT version 6.2
                                                          o   Micro Focus Net Express
                                                              5.0
                 Protocolo de red                         o   TCP/IP
                                                          o   TCP/IP with SSL
o   Named Pipes

    4.   Navegadores web soportados:

               o   Netscape Navigator 7.2 o Superior
               o   Mozilla version 1.7 o Superior
               o   Microsoft Internet Explorer 6.0 SP2 o Superior
               o   Firefox 1.0.4 o Superior

Instalación:

    1.   Si está instalando Oracle en un equipo con muchos alias, defina la variable de entorno
         ORACLE_HOSTNAME en el Panel de Control para definir el alias que se va a usar.
    2.   Ingrese al directorio donde descomprimió el instalador
    3.   Ejecute el instalador con permisos de Admi nistrador. Si el usuario que en el que estas logueado
         actualmente no tiene esos permisos(En Windows Vista es obligatorio usar el usuario
         Administrador / Administrador para esto), da clic derecho al instalador, elige la opción ejecutar
         como…. y selecciona un usuario con los permisos adecuados:




    4.   Se selecciona el producto que se va a instalar:




    5.   Usualmente se elige la opción Básica, pero esta vez va mos a pasar por la parte avanzada. así
         que elegimos Instalación Avanzada:
6.   Si es la primer instalación que hace de Oracle es probable que tenga que especificar, la ruta
     seria: “/u01/app/oraInventory“.

7.   Ahora seleccionaremos Custom y clic al botón Next:




8.   Ahora dejamos todos los parámetros de la localización de la instalación tal como están por
     default:




9.   A continuación se nos muestran los componentes a ser instalados. Seleccionamos los que
     necesitemos o podemos dejarlo tal como esta:
10. Llego la hora de la instalación de la base de datos. Seleccionamos el tipo de base de datos que
    necesitemos:




11. Antes de instalarse se nos muestra un breve sumario que detalla cada parámetro de la
    instalación, si todo esta correcto damos clic en Install:
12. Seguro que a estas alturas ya se antoja una taza de café (ahora mismo hace frío acá en
        Montemor elos,NL), así que sientete en la libertad de irte a preparar uno o charlar un rato con
        tu chapis; porque esto va a tardar un buen rato:




    13. Espero que te hallas divertido mientras Oracle se instalaba, si no ocurrió ningún
        problema….felicidades Oracle está instalado en tu máquina y listo para comenzar a trabajar:




Cualquier duda a problema con la instalación porfavor no preguntes aquí, no soy un experto en la
administración de BD Oracle. Este solo es un trabajo presentado en cumplimiento de una materia, por el
contrario te animo visites el sitio que te r ecomiendo a continuación; espero allí puedas resolver todas
tus dudas.

                                 CREAR UNA BASE DE DATOS ORACLE

CONFIGURAR UNA BASE NUEVA
Para configurar una nueva base de datos ingresamos al “Asistente de configuración de Bases de Datos”:
Seguimos los 15 pasos, en el paso 3 escribimos el nombre de la nueva base de datos, y en el paso 5
seleccionamos el uso de la misma contraseña para todos los usuarios, y la escribimos, en los demás
pasos seleccionamos los valores por defecto:
Creamos un usuario para poder ingresar con una conexión a la base de datos.
El usuario tiene que tener asignado por defecto la tablespace SYSTEM y como temporal TEMP, también
tiene que tener todos los privilegios, por eso seleccionamos en la misma ventana la viñeta de privilegios
del sistema.




Finalmente en el SQL Developer realizamos una nueva conexión de la base de datos creada con el
nombre del usuario.
CREACIÓN DE TABLAS

Los nombres de las tablas deben cumplir las siguientes reglas:

           Deben comenzar con una letra
           No deben tener más de 30 caracteres
           Sólo se permiten utilizar letras del alfabeto (inglés), números o el signo de subrayado (también
            el signo $ y #, pero esos se utilizan de manera especial por lo que no son recomendados)
           No puede haber dos tablas con el mismo nombre para el mismo usuario (pueden coincidir l os
            nombres si están en distintos esquemas)
           No puede coincidir con el nombre de una palabra reservada de Word

La sentencia CREATE TABLE es la orden SQL que permite crear una tabla. Por defecto será almacenad en
el tablespace por defecto del usuario que crea la tabla.

Sintaxis:




Ejemplo:

CREATE TABLE Region
       (
       RegionID NUMBER NOT NULL,
       RegionDescription CHAR(50) NOT NULL,
       CONSTRAINT PK_Region
       PRIMARY KEY (RegionID)
       )
/

La sentencia DESCRIBE, per mite obtener la estructura de una tabla.

Ejemplo:

DESCRIBE Region;

Y aparecerán los campos de la tabla proveedores.

La sentencia INSERT permite añadir datos a las tablas.




Su sintaxis básica es:

Indicando la tabla se añaden los datos que se especifiquen tras el apartado VALUES en un nuevo
registro. Los valores deben corresponderse con el orden de las columnas. Si no es así se puede indicar
tras el nombre de la tabla y entre paréntesis.
Ejemplo:

Begin
INSERT INTO Region(RegionID, RegionDescription)
VALUES (1, 'Eastern');
commit;
end;/
                                       BORRADO TABLAS

Borrar tabla

La sentencia DROP TABLE seguida del nombre de una tabla, permite eliminar la tabla en cuestión.
Al borrar una tabla:

          Desaparecen todos los datos.
          Cualquier vista y sinónimo refer ente a la tabla seguirán existiendo, pero ya no funcionarán
           (conviene eliminarlos).
           Las transacciones pendientes son aceptadas (COMMIT).
          Sólo es posible realizar esta operación si se es el propietario de la tabla o se posee el privilegio
           DROP ANY TABLE.

El borrado de una tabla es irreversible, y no hay ninguna petición de confirmación, por lo que conviene
ser muy cuidadoso con esta operación.

Borra contenido de tablas

La sentencia TRUNCATE TABLE seguida del nombre de una tabla, hace que se elimine el contenido de la
tabla, pero no la tabla en sí. Incluso borra del archivo de datos el espacio ocupado por la tabla.
Esta orden no puede anularse con un ROLLBACK.

                                          MODIFICAR TABLAS
La versátil ALTER TABLE per mite hacer cambios en la estructura de una tabla.

Cambiar nombre de tablas
La sentencia RENAME permite el cambio de nombre de cualquier objeto.
Sintaxis:




Añadir columnas




Permite añadir nuevas columnas a la tabla. Se deben indicar su tipo de datos y sus propiedades si es
necesario (al estilo de CREATE TABLE).
Las nuevas columnas se añaden al final, no se puede indicar otra posición.
Borrar columnas




Elimina la columna indicada de manera irreversible e incluyendo los datos que contenía.
No se puede eliminar la última columna (habrá que usar DROP TABLE).

Modificar columna
Permite cambiar el tipo de datos y propiedades de una determinada columna.
Sintaxis:




Los cambios que se permiten son:

       Incrementar precisión o anchura de los tipos de datos
       Sólo se puede reducir la anchura si la anchura máxima de un campo si esa columna posee nulos
        en todos los registros, o todos los valores so o no hay registros.
       Se puede pasar de CHAR a VARCHAR2 y viceversa (si no se modifica la anchura)
       Se puede pasar de DATE a TIMESTAMP y viceversa.

Añadir comentarios a las tablas

Se le pueden poner comentarios a las tablas y las columnas. Un comentario es un texto descriptivo
utilizado para documentar la tabla.
Sintaxis:




Para mostrar los comentarios puestos se usan las siguientes vistas del diccionario de datos mediante la
instrucción SELECT:

• USER_TAB_COMMENTS. Comentarios de las tablas del usuario actual.
• USER_COL_COMMENTS. Comentarios de las columnas del usuario actual.
• ALL_TAB_CO MMENTS. Comentarios de las tablas de todos los usuarios (sólo administradores)
• ALL_CO L_COMMENTS. Comentarios de las columnas de todos los usuarios (sólo administradores).

                                           RESTRICCIONES

Una restricción es una condición de obligado cumplimiento para una o más columnas de la tabla. A cada
restricción se le pone un nombre, en el caso de no poner un nombr e (en las que eso sea posible)
entonces el propio Oracle le coloca el nombre que es un mnemotécnico con el nombre de tabla,
columna y tipo de restricción.
Su sintaxis general es:




Las restricciones tienen un nombre, se puede hacer que sea Oracle el que les ponga nombre, pero
entonces será críptico. Por eso es mejor ponerle uno mismo.
Los nombres de restricción no se pueden repetir para el mismo esquema, por lo que es buena idea
incluir de algún modo el nombr e de la tabla, los campos involucrados y el tipo de restricción en el
nombre de la misma.

Prohibir nulos

La restricción NOT NULL permite prohibir los nulos en una determinada tabla. Eso obliga a que la
columna tenga que tener obligatoriamente un valor para que sea almacenado el registro.
Se puede colocar durante la creación (o modificación) del c ampo añadiendo la palabra

NOT NULL tras el tipo:
CREATE TABLE Territories (TerritoryID VARCHAR2(20) NOT NULL);
En ese caso el nombre le coloca Oracle. La otra forma (que admite nombr e) es:
CREATE TABLE Territories(TerritoryID VARCHAR2(20)
CONSTRAINT TerritoryID _sinnulos NOT NULL(TerritoryID));

Valores únicos

Las restricciones de tipo UNIQUE obligan a que el contenido de uno o más campos no puedan repetir
valores. Nuevamente hay dos formas de colocar esta restricción:
CREATE TABLE cliente(dni VARCHAR2(9) UNIQUE);

En ese caso el nombre de la restricción la coloca el sistema Oracle. Otra forma es:
CREATE TABLE cliente(dni VARCHAR2(9) CONSTRAINT dni_u UNIQUE);
Esta forma permite poner un nombre a la restricción. Si la repetición de valores se refiere a varios
campos, la forma sería:
CREATE TABLE alquiler(dni VARCHAR2(9),
cod_pelicula NUMBER(5),
CONSTRAINT alquiler_uk UNIQUE(dni,cod_pelicula) ;

La coma tras la definición del campo cod_pelicula hace que la restricción sea independiente de ese
campo. Eso obliga a que, tras UNIQUE se indique la lista de campos.

Clave prim aria

La clave primaria de una tabla la forman las columnas que indican a cada registro de la misma. La clave
primaria hace que los campos que la forman sean NOT NULL (sin posibilidad de quedar vacíos) y que los
valores de los campos sean de tipo UNIQUE (sin posibilidad de repetición).

Si la clave está formada por un solo campo basta con:
CREATE TABLE Shippers(ShipperID NUMBER NO T NULL, CO NSTRAINT
PK_Shippers PRIMARY KEY (ShipperID))
Clave se cundaria o foráne a

Una clave secundaria o foránea, es uno o más campos de una tabla que están relacionados con la clave
principal de los campos de otra tabla. La forma de indicar una clave foránea es:

CREATE TABLE alquiler(dni VARCHAR2(9),
cod_pelicula NUMBER(5),
CONSTRAINT alquiler_pk PRIMARY KEY(dni,cod_pelicula),
CONSTRAINT dni_fk FOREIGN KEY (dni)
REFERENCES clientes(dni),
CONSTRAINT pelicula_fk FOREIGN KEY (cod_pelicula)
REFERENCES peliculas(cod));

La integridad referencial es una herramienta imprescindible de las bases de datos relacionales. Pero
provoca varios problemas. Por ejemplo, si borramos un registro en la tabla principal que está
relacionado con uno o varios de la secundaria ocurrirá un error, ya que de permitírsenos borrar el
registro ocurrirá fallo de integridad (habrá claves secundarios refiriéndose a una clave principal que ya
no existe).

Por ello Oracle nos ofrece dos soluciones a añadir tras la cláusula REFERENCES:

          ON DELETE SET NULL. Coloca nulos todas las claves secundarias relacionadas con la borrada.
          ON DELETE CASCADE. Borra todos los registros cuya clave secundaria es igual que la clave del
           registro borrado.

Restricciones de validación

Son restricciones que dictan una condición que deben cumplir los contenidos de una columna. La
expresión de la condición es cualquier expresión que devuelva verdadero o falso, pero si cumple estas
premisas:

          No puede hacer refer encia a números de fila
          No puede hacer refer encia a objetos de SYSTEM o SYS
          No se permiten usar las funciones SYSDATE, UID, USER y USERENV
          No se per miten referencias a columnas de otras tablas (si a las de la misma tabla)

Una misma columna puede tener múltiples CHECKS en su definición (se pondrían varios
CONSTRAINT seguidos, sin comas).

Ejemplo:

CREATE TABLE ingresos(cod NUMBER(5) PRIMARY KEY,
concepto VARCHAR2(40) NO T NULL,
importe NUMBER(11,2) CONSTRAINT importe_min
CHECK (importe>0)
CONSTRAINT importe_max
CHECK (importe<8000)
);

Mostrar restricciones

La vista del diccionario de datos USER_CONSTRAINTS permite identificar las restricciones colocadas por
el usuario (ALL_CO NSTRAINTS per mite mostrar las restricciones de todos los usuarios, pero sólo está
permitida a los administradores). En esa vista aparece toda la información que el diccionario de datos
posee sobre las restricciones.
CREACIÓN DE ÍNDICES

Tipos de índices

Existen tres tipos de índices cuya naturaleza depende de la forma en que haya sido creado. Estos tipos
son:

Un índice único es aquel que tiene la restricción adicional de que el grupo de columnas indexadas define
una única fila. Sin embargo, si no van a existir más grupos de columnas con estas características dentro
de una misma tabla, se recomienda crear el conjunto como una clave primaria ya que de todas formas
Oracle asociará un índice único a esta restricción (la clave primaria).

Un índice no único, que es aquel que no impone la restricción de que las filas no deban repetirse.

Un índice compuesto es aquel que agrupa varias columnas de la tabla. Este tipo es muy útil cuando las
sentencias de selección (SELECT) efectúan búsquedas por varios criterios (columnas) en una misma
tabla. Es importante el orden en que se ponen las columnas al crear el índice; la columna más
referenciada debería ser puesta en primer lugar y así sucesivamente.

Es importante decidir qué columnas indexar. Siga las siguientes reglas cuando tenga que tomar esta
decisión:

       Escoja las columnas que se utilizan con mayor frecuencia en las cláusulas
                                         WHERE de las consultas.
       No indexe aquellas columnas que tengan demasiados valores repetidos en ellas.
       Las columnas que toman valores únicos son excelentes candidatas para indexar.
        Oracle automáticamente indexa las claves primarias de las tablas.
       Indexe las columnas que sirven para unir una tabla con otras (join en las consultas).
       Si hay columnas que no tienen valores únicos por sí solas pero que en conjunto con otra
        columna forman una dupla única o con pocas repeticiones (menos que las columnas
        individualmente), entonces conviene indexarlas (siempre y cuando existan consultas que las
        utilicen en conjunto). Estos índices reciben el nombre de índices compuestos.

Sintaxis de creación de índices:

CREATE INDEX nombre_indice ON [esquema.]nombre_tabla
(columna1 [, colu mna2,...])
TABLESPACE nombre_tablespace;

                              2. LENGUAJE DE CONSUL TA ESTRUCTURADO

Los comandos básicos del DBMS es un conjunto de sentencias que está orientado a la consulta y manejo
de datos de los objetos creados, básicamente consta de 4 sentencias:
SELECT, INSERT, DELETE, UPDATE.

                                         INSTRUCCIÓN SELECT

Es la encargada de indicar las columnas que se desean mostrar de una tabla en el resultado, con
cualquier tipo de condición, agrupación u ordenación. Una sentencia
SELECT retorna un único conjunto de res ultados, por lo que podrá ser aplicada en cualquier lugar donde
se espere un conjunto de resultados.

Las distintas columnas deben aparecer separadas por coma ( , ), opcionalmente puede ser cualificadas
con el nombre de su tabla utilizando la sintaxis:
Si se quieren mostrar todas las columnas de una tabla, se podrá incluir el carácter *, o bien TABLA.*
La sintaxis básica es:

SELECT * / columna1, colu mna2,...
FROM nombre_tabla
WHERE condición
GROUP BY columnas de agrupación
HAVING condición agrupada
ORDER BY colu mnas de ordenación;

Todas las cláusulas son opcionales excepto SELECT y FRO M.
Si se incluye la cláusula DISTINCT después de SELECT, se suprimirán aquellas filas del resultado que
tenga igual valor que otras.

La sentencia FROM se indican el (los) conjunto(s) de resultado(s) que interviene(n) en la consulta.
Normalmente se utilizan tablas, pero se admite cualquier tipo de conjunto (tabla, select, vista…). Si
apareciese más de una tabla, deben ir separadas por coma. Las tablas deben existir y si no existiera
alguna aparecería un error.

La sentencia WHERE indica qué condiciones debe cumplirse para que una fila entre dentro del conjunto
de resultados retornado. Para construir las condiciones se podrán utilizar todos los operadores lógicos.

Es posible construir condiciones complejas uniendo dos o más condiciones simples a través de los
operadores lógicos AND y OR.

La sentencia GROUP BY.- La expresión GROUP BY se utiliza para agrupar valores que es necesario
procesar como un grupo.

La sentencia HAVING.- Se utiliza cuando se quiere poner condiciones al resultado de un grupo. Sólo se la
puede utilizar si se ha incluido la cláusula GROUP BY.

La sentencia ORDER BY.- Se utiliza para ordenar las filas del conjunto de resultados final.
Todas las columnas por las que se desea realizar el orden tienen que encontrarse en la sentencia SELECT
de la consulta.

                                          INSTRUCCIÓN DELETE.

Borra una o más filas de una tabla, dependiendo de la condición WHERE, para guardar cambios hay que
ejecutar COMMIT; y para cancelar el borrado podemos hacer
ROLLBACK; su sintaxis es la siguiente:
DELETE FROM no mbre_tabla
WHERE condición;

Si no se pone condición, borra todas las filas de una tabla.

Ejemplo de DELETE
Tabla antes del borrado




Tabla después del borrado




                                         INSTRUCCIÓN UPDATE.

Actualiza valores de una o más columnas para un subconjunto de filas de una tabla, para guardar
cambios hay que ejecutar COMMIT; y para cancelar la modificación podemos hacer ROLLBACK;
su sintaxis es la siguiente:

UPDATE no mbre_tabla
SET columna1 = valor1, columna2 = valo r2, ...
WHERE condición;

Actualiza las filas que cumplan con la condición, si no se pone condición de selección, la actualización se
da en todas las filas de la tabla.

No existe una gran diferencia entre la sintaxis básica de SQL Server 2005 y Oracle 11g, la única diferencia
es que para ejecutar la consulta, inserción, actualización o borrado en SQL se ponía al final GO, mientras
que en Oracle solo se pone punto y coma (;).

Ejemplo de UPDATE
Antes de la actualización




Después de la actualización




                                            CONSULTAS

SQL es un conjunto de sentencias u órdenes que todos los programas y usuarios deben utilizar para
acceder a bases de datos Oracle. No hay otra manera de comunicarse con Oracle si no es a través de
SQL. Dado que SQL es un estándar, todas las bases de datos comerciales de la actualidad utilizan SQL
como puente de comunicación entre la base de datos y el usuario.

Ejemplo de consultas




                                          SUBCONSUL TAS

Una subconsulta es una instrucción SELECT anidada dentro de una instrucción SELECT,
SELECT...INTO, INSERT...INTO, DELETE, o UPDATE o dentro de otra subconsulta.

Puede utilizar tres formas de sintaxis para crear una subconsulta:
     Comparación: Es una expresión y un operador de comparación que compara la expresión con el
        resultado de la subconsulta.
Sintaxis: co mparación [ANY | A LL | SOME] (instru cción sql);
      Expresión: Es una expresión por la que se busca el conjunto resultante de la subconsulta.

Sintaxis: expresión [NOT] IN (instrucción sql);
      Instrucción SQL: Es una instrucción SELECT, que sigue el mismo formato y reglas que cualquier
          otra instrucción SELECT. Debe ir entre paréntesis.

Sintaxis: [NOT] EXISTS (instrucción sql)
                                                  VISTAS

Una vista no es más que una consulta al macenada a fin de utilizarla tantas veces como se desee. Una
vista no contiene datos sino la instrucción SELECT necesaria para crear la vista.

Hay dos tipos de vistas:
     Simples: Las forman una sola tabla y no contienen funciones de agrupación. Su ventaja es que
        permiten siempre realizar operaciones DML sobre ellas.
     Complejas: Obtienen datos de varias tablas, pueden utilizar funciones de agrupación. No
        siempre permiten operaciones DML.

Creación de vistas
Sintaxis:




Donde:
        OR REPLACE. Si la vista ya existía, la cambia por la actual.
        FORCE. Cr ea la vista aunque los datos de la consulta SELECT no existan
        vista. Nombre que se le da a la vista
        alias. Lista de alias que se establecen para las columnas devueltas por la consulta

SELECT en la que se basa esta vista. El número de alias debe coincidir con el número de columnas
devueltas por SELECT.

        WITH CHECK OPTION. Hace que sólo las filas que se muestran en la vista puedan ser añadidas
         (INSERT) o modificadas (IPDATE). La restricción que sigue a esta sección es el nombre que se le
         da a esta restricción de tipo CHECK OPTION.
        WITH READ ONLY. Hace que la vista sea de sólo lectura. Permite grabar un nombre para esta
         restricción.

Procedimientos almacenados
Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que pueden ser llamado
usando el nombre que se le haya asignado.
La sintaxis para crear un procedimiento es la siguiente:
CREATE [OR REPLACE] PROCEDURE name ([param [IN|OUT|IN OUT|] datatype ], . . .)
AS sql_subprogram

El uso de OR REPLACE permite sobreescribir un procedimiento existente. Si se omite, y el procedimiento
ya existe, se producirá un error.
Los modificadores IN, OUT, IN OUT indican si el parametro es de entrada, salida o ambos.
Si se desea eliminar (borrar) un procedimiento almacenado, se usa la instrucción:
DROP PROCEDURE name;

Más contenido relacionado

La actualidad más candente

instalacion e intregracion de OcsInventory-NG y GLPI
instalacion e intregracion de OcsInventory-NG y GLPIinstalacion e intregracion de OcsInventory-NG y GLPI
instalacion e intregracion de OcsInventory-NG y GLPImiltonvf
 
Servicio de instalación remota en linux con pxe
Servicio de instalación remota en linux con pxeServicio de instalación remota en linux con pxe
Servicio de instalación remota en linux con pxeAndres Ldño
 
Manual PXE - RHEL 6.2
Manual PXE - RHEL 6.2Manual PXE - RHEL 6.2
Manual PXE - RHEL 6.2cyberleon95
 
Manual de referencia
Manual de referenciaManual de referencia
Manual de referenciacyberleon95
 
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64Santa Edith De La Cruz Gonzalez
 
Instalación y administración de un servicio de instalación remota en win serv...
Instalación y administración de un servicio de instalación remota en win serv...Instalación y administración de un servicio de instalación remota en win serv...
Instalación y administración de un servicio de instalación remota en win serv...Andres Ldño
 
Manual WSUS - Windows Server 2008 R2
Manual WSUS - Windows Server 2008 R2Manual WSUS - Windows Server 2008 R2
Manual WSUS - Windows Server 2008 R2cyberleon95
 
Instalacion remota pxe
Instalacion remota pxe Instalacion remota pxe
Instalacion remota pxe Daniel Patiño
 
Installacion De Una Base De Datos Mysql En Linux
Installacion De Una Base De Datos Mysql En LinuxInstallacion De Una Base De Datos Mysql En Linux
Installacion De Una Base De Datos Mysql En Linuxandres
 
Instalación Oracle 11gR2 en Linux Centos 5.5
Instalación Oracle 11gR2 en Linux Centos 5.5Instalación Oracle 11gR2 en Linux Centos 5.5
Instalación Oracle 11gR2 en Linux Centos 5.5Cosmosnet
 
Servidor ftp windows server 2008
Servidor ftp  windows server 2008Servidor ftp  windows server 2008
Servidor ftp windows server 2008cyberleon95
 
Servidor web server
Servidor web serverServidor web server
Servidor web servercyberleon95
 
Manual Instalación y Configuración Firewall TMG
Manual Instalación y Configuración Firewall TMGManual Instalación y Configuración Firewall TMG
Manual Instalación y Configuración Firewall TMGcyberleon95
 
Instalación de dns en centos
Instalación de dns en centos Instalación de dns en centos
Instalación de dns en centos Gerson Zapata
 
Integración LDAP + SAMBA
Integración LDAP + SAMBAIntegración LDAP + SAMBA
Integración LDAP + SAMBAcyberleon95
 
Guia Funcionamiento LDAP
Guia Funcionamiento LDAPGuia Funcionamiento LDAP
Guia Funcionamiento LDAPcyberleon95
 

La actualidad más candente (20)

instalacion e intregracion de OcsInventory-NG y GLPI
instalacion e intregracion de OcsInventory-NG y GLPIinstalacion e intregracion de OcsInventory-NG y GLPI
instalacion e intregracion de OcsInventory-NG y GLPI
 
Servicio de instalación remota en linux con pxe
Servicio de instalación remota en linux con pxeServicio de instalación remota en linux con pxe
Servicio de instalación remota en linux con pxe
 
Openvp non redhat
Openvp non redhatOpenvp non redhat
Openvp non redhat
 
Manual PXE - RHEL 6.2
Manual PXE - RHEL 6.2Manual PXE - RHEL 6.2
Manual PXE - RHEL 6.2
 
Manual de referencia
Manual de referenciaManual de referencia
Manual de referencia
 
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
 
Instalación y administración de un servicio de instalación remota en win serv...
Instalación y administración de un servicio de instalación remota en win serv...Instalación y administración de un servicio de instalación remota en win serv...
Instalación y administración de un servicio de instalación remota en win serv...
 
Manual WSUS - Windows Server 2008 R2
Manual WSUS - Windows Server 2008 R2Manual WSUS - Windows Server 2008 R2
Manual WSUS - Windows Server 2008 R2
 
COMO INSTALAR MySQL EN LINUX
COMO INSTALAR  MySQL EN LINUXCOMO INSTALAR  MySQL EN LINUX
COMO INSTALAR MySQL EN LINUX
 
Instalacion remota pxe
Instalacion remota pxe Instalacion remota pxe
Instalacion remota pxe
 
Installacion De Una Base De Datos Mysql En Linux
Installacion De Una Base De Datos Mysql En LinuxInstallacion De Una Base De Datos Mysql En Linux
Installacion De Una Base De Datos Mysql En Linux
 
Instalación Oracle 11gR2 en Linux Centos 5.5
Instalación Oracle 11gR2 en Linux Centos 5.5Instalación Oracle 11gR2 en Linux Centos 5.5
Instalación Oracle 11gR2 en Linux Centos 5.5
 
Servidor ftp windows server 2008
Servidor ftp  windows server 2008Servidor ftp  windows server 2008
Servidor ftp windows server 2008
 
Servidor web server
Servidor web serverServidor web server
Servidor web server
 
Manual Instalación y Configuración Firewall TMG
Manual Instalación y Configuración Firewall TMGManual Instalación y Configuración Firewall TMG
Manual Instalación y Configuración Firewall TMG
 
Instalación de dns en centos
Instalación de dns en centos Instalación de dns en centos
Instalación de dns en centos
 
Requisitos jin
Requisitos jinRequisitos jin
Requisitos jin
 
Integración LDAP + SAMBA
Integración LDAP + SAMBAIntegración LDAP + SAMBA
Integración LDAP + SAMBA
 
Guia Funcionamiento LDAP
Guia Funcionamiento LDAPGuia Funcionamiento LDAP
Guia Funcionamiento LDAP
 
Servidor de correo en Zentyal 3.5
Servidor de correo en Zentyal 3.5Servidor de correo en Zentyal 3.5
Servidor de correo en Zentyal 3.5
 

Destacado

Proyecto ipython - Oracle - Excel
Proyecto ipython -  Oracle - ExcelProyecto ipython -  Oracle - Excel
Proyecto ipython - Oracle - ExcelDaniel Cruz
 
Introducción a base de datos Oracle
Introducción a base de datos OracleIntroducción a base de datos Oracle
Introducción a base de datos Oraclepajaro5
 
Los sistemas gestores de bases de datos actuales
Los sistemas gestores de bases de datos actualesLos sistemas gestores de bases de datos actuales
Los sistemas gestores de bases de datos actualesFrancisco Gómez Pino
 
Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Henry Cumbicus Rivera
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datosGusttavo Nipas
 
Oracle introduccion
Oracle introduccionOracle introduccion
Oracle introduccionNii Caytuiro
 

Destacado (12)

Proyecto ipython - Oracle - Excel
Proyecto ipython -  Oracle - ExcelProyecto ipython -  Oracle - Excel
Proyecto ipython - Oracle - Excel
 
Conceptos Basicos Oracle
Conceptos Basicos OracleConceptos Basicos Oracle
Conceptos Basicos Oracle
 
Introducción a base de datos Oracle
Introducción a base de datos OracleIntroducción a base de datos Oracle
Introducción a base de datos Oracle
 
Exposicion oracle
Exposicion oracleExposicion oracle
Exposicion oracle
 
ORACLE
ORACLEORACLE
ORACLE
 
Base de Dato Oracle
Base de Dato OracleBase de Dato Oracle
Base de Dato Oracle
 
Los sistemas gestores de bases de datos actuales
Los sistemas gestores de bases de datos actualesLos sistemas gestores de bases de datos actuales
Los sistemas gestores de bases de datos actuales
 
Gestores de bases de datos cuadros comparativos
Gestores de bases de datos cuadros comparativosGestores de bases de datos cuadros comparativos
Gestores de bases de datos cuadros comparativos
 
Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
Oracle
OracleOracle
Oracle
 
Oracle introduccion
Oracle introduccionOracle introduccion
Oracle introduccion
 

Similar a 25157555 instalacion-y-manual-de-oracle

Requerimientos de instalación
Requerimientos de instalaciónRequerimientos de instalación
Requerimientos de instalaciónPrincezitha Ruiz
 
Instalar oracle database 11g r2 enterprise 64bits en windows server 2003 64 b...
Instalar oracle database 11g r2 enterprise 64bits en windows server 2003 64 b...Instalar oracle database 11g r2 enterprise 64bits en windows server 2003 64 b...
Instalar oracle database 11g r2 enterprise 64bits en windows server 2003 64 b...Francisco Fuentes Solano
 
Requerimientos para instalar un smbd
Requerimientos para instalar un smbdRequerimientos para instalar un smbd
Requerimientos para instalar un smbdjake
 
Instalación oracle database 12c
Instalación oracle database 12cInstalación oracle database 12c
Instalación oracle database 12cWiki Gi
 
Tarea 3 cristian_merchan_administracion_base_datos
Tarea 3 cristian_merchan_administracion_base_datosTarea 3 cristian_merchan_administracion_base_datos
Tarea 3 cristian_merchan_administracion_base_datosCristian Merchan
 
Manual de instalación MySQL PostgreSQL y Oracle
Manual de instalación MySQL PostgreSQL y Oracle Manual de instalación MySQL PostgreSQL y Oracle
Manual de instalación MySQL PostgreSQL y Oracle Juan Leo
 
Reinicio automático de Oracle Database (Oracle Restart)
Reinicio automático de Oracle Database (Oracle Restart)Reinicio automático de Oracle Database (Oracle Restart)
Reinicio automático de Oracle Database (Oracle Restart)Angel Freire Ramirez
 
Abd mauro patino_s3
Abd mauro patino_s3Abd mauro patino_s3
Abd mauro patino_s3mpatinop
 
Manual para-instalar-oracle-database-11 g-r2-en-centos-6
Manual para-instalar-oracle-database-11 g-r2-en-centos-6Manual para-instalar-oracle-database-11 g-r2-en-centos-6
Manual para-instalar-oracle-database-11 g-r2-en-centos-6shac Rob
 
Procedimiento general de instalación
Procedimiento general de  instalaciónProcedimiento general de  instalación
Procedimiento general de instalaciónmantruvic
 
Instalación de MySQL en dispositivos o pc
Instalación de MySQL en dispositivos o pcInstalación de MySQL en dispositivos o pc
Instalación de MySQL en dispositivos o pcLU1HGFLU1HGF
 
Nestor Nieto Tarea03
Nestor Nieto Tarea03Nestor Nieto Tarea03
Nestor Nieto Tarea03NestorNieto
 
instalacion de oracle en ubuntu 13
instalacion de oracle en ubuntu 13instalacion de oracle en ubuntu 13
instalacion de oracle en ubuntu 13davidsalvadorplds
 
Evidencia instalacion
Evidencia instalacionEvidencia instalacion
Evidencia instalacionalbusscorpio
 
Instalacion de oracle database 9i
Instalacion de oracle database 9iInstalacion de oracle database 9i
Instalacion de oracle database 9iJorgeluisw
 
Manual de instalacion de Oracle - Windows 7
Manual de instalacion de Oracle - Windows 7Manual de instalacion de Oracle - Windows 7
Manual de instalacion de Oracle - Windows 7Mario Alfonso
 

Similar a 25157555 instalacion-y-manual-de-oracle (20)

Requerimientos de instalación
Requerimientos de instalaciónRequerimientos de instalación
Requerimientos de instalación
 
Instalar oracle database 11g r2 enterprise 64bits en windows server 2003 64 b...
Instalar oracle database 11g r2 enterprise 64bits en windows server 2003 64 b...Instalar oracle database 11g r2 enterprise 64bits en windows server 2003 64 b...
Instalar oracle database 11g r2 enterprise 64bits en windows server 2003 64 b...
 
Instalacion de oracle
Instalacion de oracleInstalacion de oracle
Instalacion de oracle
 
Requerimientos para instalar un smbd
Requerimientos para instalar un smbdRequerimientos para instalar un smbd
Requerimientos para instalar un smbd
 
Instalacion oracle forms
Instalacion oracle formsInstalacion oracle forms
Instalacion oracle forms
 
Instalación oracle database 12c
Instalación oracle database 12cInstalación oracle database 12c
Instalación oracle database 12c
 
Tarea 3 cristian_merchan_administracion_base_datos
Tarea 3 cristian_merchan_administracion_base_datosTarea 3 cristian_merchan_administracion_base_datos
Tarea 3 cristian_merchan_administracion_base_datos
 
Manual de instalación MySQL PostgreSQL y Oracle
Manual de instalación MySQL PostgreSQL y Oracle Manual de instalación MySQL PostgreSQL y Oracle
Manual de instalación MySQL PostgreSQL y Oracle
 
Reinicio automático de Oracle Database (Oracle Restart)
Reinicio automático de Oracle Database (Oracle Restart)Reinicio automático de Oracle Database (Oracle Restart)
Reinicio automático de Oracle Database (Oracle Restart)
 
Abd mauro patino_s3
Abd mauro patino_s3Abd mauro patino_s3
Abd mauro patino_s3
 
Instalar oracle database 11g r2
Instalar oracle database 11g r2Instalar oracle database 11g r2
Instalar oracle database 11g r2
 
Manual para-instalar-oracle-database-11 g-r2-en-centos-6
Manual para-instalar-oracle-database-11 g-r2-en-centos-6Manual para-instalar-oracle-database-11 g-r2-en-centos-6
Manual para-instalar-oracle-database-11 g-r2-en-centos-6
 
Procedimiento general de instalación
Procedimiento general de  instalaciónProcedimiento general de  instalación
Procedimiento general de instalación
 
Instalación de MySQL en dispositivos o pc
Instalación de MySQL en dispositivos o pcInstalación de MySQL en dispositivos o pc
Instalación de MySQL en dispositivos o pc
 
Nestor Nieto Tarea03
Nestor Nieto Tarea03Nestor Nieto Tarea03
Nestor Nieto Tarea03
 
instalacion de oracle en ubuntu 13
instalacion de oracle en ubuntu 13instalacion de oracle en ubuntu 13
instalacion de oracle en ubuntu 13
 
Apache
ApacheApache
Apache
 
Evidencia instalacion
Evidencia instalacionEvidencia instalacion
Evidencia instalacion
 
Instalacion de oracle database 9i
Instalacion de oracle database 9iInstalacion de oracle database 9i
Instalacion de oracle database 9i
 
Manual de instalacion de Oracle - Windows 7
Manual de instalacion de Oracle - Windows 7Manual de instalacion de Oracle - Windows 7
Manual de instalacion de Oracle - Windows 7
 

25157555 instalacion-y-manual-de-oracle

  • 1. INSTALACIÓN DE ORACLE Manual explicado paso a paso (con capturas de pantalla) cómo instalar Oracle 9i en Windows (cualquier versión). Incluyendo soluciones de algunos errores en el arranque de Oracle. 1. INSTALACIÓN DE ORACLE 9i EN WINDOWS • Introduciremos el CD 1 de la instalación, los tres CDs que componen el programa de instalación se pueden descargar gratuitamente (siempre que no sea con fines lucrativos) desde la propia web de oracle: www.oracle.co m • Tras seleccionar la ruta de los ficheros de oracle pulsaremos en Siguiente. • A continuación seleccionaremos el tipo de instalación que deseemos:
  • 2. En nuestro caso, puesto que crearemos la base de datos en el servidor donde estamos realizando la instalación seleccionaremos Oracle9i Database 9.2.0.1.0. Si ya disponemos de un servidor de Oracle con las correspondientes bases de datos a las que queramos acceder será suficiente con seleccionar la opción Oracle9i Client 9 .2.0.1.0, en este caso la instalación es bastante más simple, pues sólo es necesario especificar la IP o el nombre de red del servidor de Oracle así como el nombre (sid) de la base de datos a la que queramos acceder. • Seleccionaremos el tipo de instalación que queramos realizar:
  • 3. En nuestro caso, seleccionaremos Enterprise Edition , si queremos realizar una instalación más avanzada (especificando manualmente las opciones a instalar) seleccionaremos Personalizado , en este caso aparecería una ventana como esta: • Seleccionaremos la siguiente opción dependiendo del uso que le quer amos dar a nuestra base de datos, normalmente es para Uso General. Si no queremos crear una base de datos en el proceso de instalación (se puede crear en otro momento) seleccionaremos Sólo software: • Seleccionaremos el puerto para Oracle MTS Service, normalmente se suele seleccionar el puerto por defecto 2030. Este parámetro es muy importante pues, si decidimos cambiar el puerto por defecto, cuando queramos que un cliente se conecte al servidor deberemos especificar el puerto que hayamos seleccionado en este punto de la instalación:
  • 4. • Especificaremos el nombre de la base de datos (con un máximo de 8 caracteres): Nota: el SID es el identificador interno que utilizará Oracle para referenciar a nuestra base de datos, se puede elegir uno diferente al del nombre de la Base de Datos, aunque se suele utilizar el mismo. • En este punto de la instalación seleccionaremos la ubicación de los archivos de la base de datos que la instalación creará. Oracle recomienda que la ubicación de los archivos de la base de datos esté en un disco físico distinto al de los archivos de la instalación (software de Oracle). También recomienda que los archivos de Redo Log estén multiplexados (varias copias, esto se configura en la consola de administración de Oracle) y en diferentes discos físicos. Lógicamente es lo recomendable por Oracle y sólo se configura así cuando se trata de una Base de Datos que tendrá múltiples accesos concurrentes (al mismo tiempo) y con un volumen de datos importante, pues el desembolso económico en harware para la correcta instalación de Oracle puede ser importante. En nuestro caso, instalaremos los archivos
  • 5. de la base de datos en un segundo disco duro instalado exclusivamente para Oracle. A pesar de todo no hay ningún problema por instalar la bas e de datos en el mismo disco duro que el software de Oracle. Si nuestra organización dispone, por ejemplo, de unos 20 usuarios conectados a Oracle no habría una pérdida del rendimiento por instalarla en el mismo disco duro. Por supuesto esto es orientativo pues dependerá también del volumen de datos que necesite cada usuario así como de otros factores (rpm del disco duro, características del servidor de Oracle (procesadores, memoria RAM, …), velocidad de la red local, tipo de conexión que realice el software de nuestra empresa que acceda a Oracle (el acceso nativo sin necesidad de utilizar controladores ODBC incrementa considerablemente el rendimiento frente a accesos mediante controladores ODBC que no dejan de ser una pasarela entre el software y Oracle): • Seleccionaremos el juego de caracteres que vayamos a utilizar, si dejamos el juego de caracteres por defecto Oracle utilizará el juego de caracteres que tengamos configurado en nuestro sistema operativo, es la opción recomendada. Este parámetro sólo sería importante en el caso en que queramos exportar nuestra base de datos a otro servidor de Oracle, en este caso será importante que el juego de caracteres del servidor que recibirá los datos coincida con el que los exportó. Si no coinciden podrían aparecer erróneamente caracteres como “€” alojados en nuestra base de datos:
  • 6. • Como último paso de la preinstalación nos aparecerá una ventana con el software que se va a instalar, tras comprobar que es correcto pulsaremos en Instalar: • Introduciremos los CDs de instalación conforme los vaya pidiendo el programa: • Tras la instalación de Oracle y la creación de la base de datos aparecerá una ventana indicando que el proceso de instalación ha finalizado:
  • 7. En esta ventana nos indica que ha finalizado el proceso de instalación y que podemos acceder desde cualquier otro PC de la red introduciendo en el navegador de Internet: http://nombre_o _IP_del_servidor_oracle:7778 El acceso vía Internet está permitido pues al seleccionar la instalación Enterprise Edition se instala e inicia por defecto Oracle http Server (servidor web de Oracle). Si al intentar acceder a la Consola de Oracle En terprise Manager nos aparece este error: Deber emos configurar el Listener manualmente, para ello accederemos a Inicio – Programas – Ora cle – OraHome92 – Configuration and Migration Tools – Net Configuration Assistant:
  • 8. Seleccionamos Configuración de Listener y a continuación Volver a Configurar: Nos aparecerá el Listener que el programa de instalación de Oracle crea automáticamente: Seleccionamos el protocolo a utilizar (TCP):
  • 9. Seleccionamos el puerto a utilizar, por defecto 1521: Con esto habremos vuelto a actualizar el Listener:
  • 10. Si el error ORA-12541: TNS: no hay ningún listen er continúa apareciendo deberemos seguir los pasos que se indican en el punto 1 del anexo. CONFIGURACIÓN DE USUARIO PARA ACCESO V ÍA HTTP A LOS PROCEDIMIENTOS PL -SQL ALMACENADOS Si tenemos iniciado el Servidor http de Ora cle podr emos acceder desde cualquier equipo de la red local y, también, desde cualquier parte del mundo (siempre que tengamos configurado el router con el puerto 7778 redirigido a la IP local del Servidor de Oracle). Es suficiente con poner en el navegador de Internet: http://IP_Servidor_Oracle:7778, nos aparecerá una ventana como esta: Desde aquí podremos configurar los usuarios que tendrán acceso a través de Internet a Oracle, así como los procedimientos que se ejecutarán en el inicio. ERRORES CON EL ORACLE 1.- ALGUNOS ERRORES AL INICIAR ORACLE Y SU SOL UCIÓN • Al iniciar la Enterprise Manager Console o al intentar conectarme a la Base de Datos de Oracle aparece el siguiente error: TNSLSNR.EXE ha detectado un problema y deb e cerrarse. Más información: szAppName: TNSLSNR.EXE szAppVer: 0.0.0.0 szModNa me: orantcp9.dll
  • 11. Y tras pulsar en Cerrar el servicio OracleOraHome92TNSListener se detiene. Solución: Accedemos al Regedit, desde el botón Inicio – Ejecu tar ponemos regedit y pulsamos en Acepta r: buscamos la siguiente clave: HKEY_LOCAL_MACHINE/SOFTW ARE/ORACLE/HOME0 E insertamos una nueva entrada de tipo Valor de cadena expandible con el valor TRUE: USE_SHARED_SOCKET=TRUE Una vez añadida esta clave reiniciaremos el sistema. En teoría ya debería haberse solucionado el problema. Si el problema sigue produciéndose tras reiniciar, será conveniente comprobar el fichero WinsockXPFix.exe • El espacio en disco no para de decrecer, hasta quedarse sin espacio. Este problema es producido por el Servidor HTTP de O racle Basado en Apache, cuando dicho servidor encuentra algún problema con el Listener (como el descrito en el punto 1), lo informa escribiendo en el log que crea a tal efecto. Dicho fichero de log va creciendo desproporcionadamente hasta dejar el disco duro sin espacio. La línea del fichero de log podría ser como esta: [warn] FastCGI: server "c:/oracle/o ra92/bin/isqlplus" can't be resta rted :exceeded max resta rts Solución: Para solucionar este problema, en primer lugar deberemos detener el servicio OracleOraHome92HTTPServer y deshabilitarlo para que no se vuelva a iniciar, al menos, hasta que solucionemos el problema, a continuación eliminaremos el fichero de log de Apache ubicado en:
  • 12. C:/oracle/ora92/Apache/Apache/logs Eliminaremos el fichero error_log, si no nos deja eliminarlo será porque el servicio no se ha detenido correctamente, con lo cual deberíamos deshabilitar dicho servicio y reiniciar el equipo. Con esto hemos solucionado el problema parcialmente pues, aunque ya no vamos a tener problemas con el espacio en disco, el servidor de Apache estará deshabilitado, con lo cual no podremos acceder a Oracle vía Internet. Para poder iniciar el servicio de Apa che sin que deje el disco sin espacio editaremos el fichero: C:/oracle/ora92/Apache/Apache/conf/httpd.conf Y modificaremos la línea LogLevel warn por Log Level erro r . De esta forma evitaremos que el log se llene de warning y sólo se guardarán los errores. Una vez guardado el fichero httpd.conf podremos volver a iniciar el servicio OracleOraHome92HTTPServer. • Al intentar conectar a Oracle aparece el error "TNS-12535: TNS:timeout de la operación" ó "ORA- 12535: TNS:operation timed out". Dicho error se puede comprobar en el directorio de instalación de Oracle: C:/oracle/ora92/bin/sqlnet.log Solución: Normalmente es debido a un fallo de conexión de red con el servidor. Si, tras comprobar que la red funciona adecuadamenete, el problema sigue apareciendo se puede deber también a la intervención de un cortafuegos (tanto hardware como software). Por ejemplo, si tenemos instalado Oracle Server en un PC con Windows XP, el cortafuegos software que éste incorpora inpedirá el acceso a la Base de Datos Oracle desde otros PCs. Para solucionarlo deberemos configurar adecuadamente en cortafuegos abriendo los puertos que utiliza Oracle, tales como el 1521. 2.- INICIAR / PARAR / PROBAR LA BASE DE DATOS MAN UALMENTE Para iniciar una base de datos de Oracle manualmente seguiremos los siguientes pasos: Desde la línea de comandos (consola de MS-DOS) pondremos: o Sqlplus /nolog: Para conectarnos a SQLPlus que es la consola de Oracle para MS-DOS, útil para realizar tareas de mantenimiento de la Base de Datos, tales como reparación, apagado manual, inicio manual o Connect / as sysdba: Para conectarnos a Oracle como administradores, al no poner nombre de usuario delante de “/” se asume el usuario del sistema operativo (éste ha de ser administrador) o Select status from v$instance: con esta consulta comprobamos que la base de datos no está iniciada, para ello deberá devolver un valor distinto a STARTED o Select database_status from v$instance o startup nomount: con esta sentencia iniciaremos la base de datos sin montar, puede ser útil para reparar algún datafile dañado o para realizar tareas que no se podrían llevar a cabo con la base de datos montada o shutdown immediate: cierra la base de datos, incluso aunque haya usuarios conectados o startup: inicia y monta la base de datos , la deja lista para ser usada o alter user hr identified by hr account unlock: esta instrucción sirve para desbloquear un usuario bloqueado y cambiarle la contraseña, en este caso hemos desbloqueado un usuario que Oracle crea por defecto, llamado hr y le hemos asignado la contraseña hr o connect hr/hr: nos conectamos con el usuario hr para hacer una Select y comprobar que funciona correctamente
  • 13. o select * from employees: hacemos una consulta de selección para que nos muestre el contenido de la tabla employees que Oracle crea automáticamente en la instalación Para realizar este manual hemos utilizado: Oracle9i Database 9.2.0.1.0. Microsoft Windows XP. Nota: este manual no tiene por qué ser la mejor forma de instalar Oracle, es una de las muchas configuraciones que se pueden realizar. INSTALACIÓN DE ORACLE 11G EN WINDOWS XP Requerimientos: Permisos de Administrador: Es necesario tener per misos de administrador para ejecutar el instalador. Requisitos mínimos de Hardware: Es necesario cumplir con los siguientes requerimientos mínimos en Esta es una guía rápida de instalación de Oracle 11g en Windows 32 -Bit, así que solo se tocaran los puntos más importantes para dejar corriendo los servicios básicos de Oracle. Requerimientos: 1. Permisos de Administrador: Es necesario tener per misos de administrador para ejecutar el instalador. 2. Requisitos mínimos de Hardw are: Es nec esario cumplir con los siguientes requerimientos mínimos en equipo donde se desea instalar: Requisito Mínimo Memoria Física (RAM) 1Gb Memoria Virtual El doble de tamaño que la RAM (2Gb) Espacio en disco Instalación Básica: 4.55Gb Instalación Avanzada: 4.92Gb Adaptación de Vídeo 256 colores Procesador 550Mhz 3. Requisitos mínimos de Software: Arquitectura de procesador Intel (x86), AMD64, o Intel EM64T Sistema Operativo oWindows 2000 Service Pack 1 o superior o Windows Server 2003 o Superior o Windows XP Professional o Windows Vista Businnes o Superior *Windows NT no esta soportado Compilador o ACUCOBOL-GT version 6.2 o Micro Focus Net Express 5.0 Protocolo de red o TCP/IP o TCP/IP with SSL
  • 14. o Named Pipes 4. Navegadores web soportados: o Netscape Navigator 7.2 o Superior o Mozilla version 1.7 o Superior o Microsoft Internet Explorer 6.0 SP2 o Superior o Firefox 1.0.4 o Superior Instalación: 1. Si está instalando Oracle en un equipo con muchos alias, defina la variable de entorno ORACLE_HOSTNAME en el Panel de Control para definir el alias que se va a usar. 2. Ingrese al directorio donde descomprimió el instalador 3. Ejecute el instalador con permisos de Admi nistrador. Si el usuario que en el que estas logueado actualmente no tiene esos permisos(En Windows Vista es obligatorio usar el usuario Administrador / Administrador para esto), da clic derecho al instalador, elige la opción ejecutar como…. y selecciona un usuario con los permisos adecuados: 4. Se selecciona el producto que se va a instalar: 5. Usualmente se elige la opción Básica, pero esta vez va mos a pasar por la parte avanzada. así que elegimos Instalación Avanzada:
  • 15. 6. Si es la primer instalación que hace de Oracle es probable que tenga que especificar, la ruta seria: “/u01/app/oraInventory“. 7. Ahora seleccionaremos Custom y clic al botón Next: 8. Ahora dejamos todos los parámetros de la localización de la instalación tal como están por default: 9. A continuación se nos muestran los componentes a ser instalados. Seleccionamos los que necesitemos o podemos dejarlo tal como esta:
  • 16. 10. Llego la hora de la instalación de la base de datos. Seleccionamos el tipo de base de datos que necesitemos: 11. Antes de instalarse se nos muestra un breve sumario que detalla cada parámetro de la instalación, si todo esta correcto damos clic en Install:
  • 17. 12. Seguro que a estas alturas ya se antoja una taza de café (ahora mismo hace frío acá en Montemor elos,NL), así que sientete en la libertad de irte a preparar uno o charlar un rato con tu chapis; porque esto va a tardar un buen rato: 13. Espero que te hallas divertido mientras Oracle se instalaba, si no ocurrió ningún problema….felicidades Oracle está instalado en tu máquina y listo para comenzar a trabajar: Cualquier duda a problema con la instalación porfavor no preguntes aquí, no soy un experto en la administración de BD Oracle. Este solo es un trabajo presentado en cumplimiento de una materia, por el contrario te animo visites el sitio que te r ecomiendo a continuación; espero allí puedas resolver todas tus dudas. CREAR UNA BASE DE DATOS ORACLE CONFIGURAR UNA BASE NUEVA Para configurar una nueva base de datos ingresamos al “Asistente de configuración de Bases de Datos”:
  • 18. Seguimos los 15 pasos, en el paso 3 escribimos el nombre de la nueva base de datos, y en el paso 5 seleccionamos el uso de la misma contraseña para todos los usuarios, y la escribimos, en los demás pasos seleccionamos los valores por defecto:
  • 19.
  • 20. Creamos un usuario para poder ingresar con una conexión a la base de datos.
  • 21. El usuario tiene que tener asignado por defecto la tablespace SYSTEM y como temporal TEMP, también tiene que tener todos los privilegios, por eso seleccionamos en la misma ventana la viñeta de privilegios del sistema. Finalmente en el SQL Developer realizamos una nueva conexión de la base de datos creada con el nombre del usuario.
  • 22. CREACIÓN DE TABLAS Los nombres de las tablas deben cumplir las siguientes reglas:  Deben comenzar con una letra  No deben tener más de 30 caracteres  Sólo se permiten utilizar letras del alfabeto (inglés), números o el signo de subrayado (también el signo $ y #, pero esos se utilizan de manera especial por lo que no son recomendados)  No puede haber dos tablas con el mismo nombre para el mismo usuario (pueden coincidir l os nombres si están en distintos esquemas)  No puede coincidir con el nombre de una palabra reservada de Word La sentencia CREATE TABLE es la orden SQL que permite crear una tabla. Por defecto será almacenad en el tablespace por defecto del usuario que crea la tabla. Sintaxis: Ejemplo: CREATE TABLE Region ( RegionID NUMBER NOT NULL, RegionDescription CHAR(50) NOT NULL, CONSTRAINT PK_Region PRIMARY KEY (RegionID) ) / La sentencia DESCRIBE, per mite obtener la estructura de una tabla. Ejemplo: DESCRIBE Region; Y aparecerán los campos de la tabla proveedores. La sentencia INSERT permite añadir datos a las tablas. Su sintaxis básica es: Indicando la tabla se añaden los datos que se especifiquen tras el apartado VALUES en un nuevo registro. Los valores deben corresponderse con el orden de las columnas. Si no es así se puede indicar tras el nombre de la tabla y entre paréntesis.
  • 23. Ejemplo: Begin INSERT INTO Region(RegionID, RegionDescription) VALUES (1, 'Eastern'); commit; end;/ BORRADO TABLAS Borrar tabla La sentencia DROP TABLE seguida del nombre de una tabla, permite eliminar la tabla en cuestión. Al borrar una tabla:  Desaparecen todos los datos.  Cualquier vista y sinónimo refer ente a la tabla seguirán existiendo, pero ya no funcionarán (conviene eliminarlos).  Las transacciones pendientes son aceptadas (COMMIT).  Sólo es posible realizar esta operación si se es el propietario de la tabla o se posee el privilegio DROP ANY TABLE. El borrado de una tabla es irreversible, y no hay ninguna petición de confirmación, por lo que conviene ser muy cuidadoso con esta operación. Borra contenido de tablas La sentencia TRUNCATE TABLE seguida del nombre de una tabla, hace que se elimine el contenido de la tabla, pero no la tabla en sí. Incluso borra del archivo de datos el espacio ocupado por la tabla. Esta orden no puede anularse con un ROLLBACK. MODIFICAR TABLAS La versátil ALTER TABLE per mite hacer cambios en la estructura de una tabla. Cambiar nombre de tablas La sentencia RENAME permite el cambio de nombre de cualquier objeto. Sintaxis: Añadir columnas Permite añadir nuevas columnas a la tabla. Se deben indicar su tipo de datos y sus propiedades si es necesario (al estilo de CREATE TABLE). Las nuevas columnas se añaden al final, no se puede indicar otra posición.
  • 24. Borrar columnas Elimina la columna indicada de manera irreversible e incluyendo los datos que contenía. No se puede eliminar la última columna (habrá que usar DROP TABLE). Modificar columna Permite cambiar el tipo de datos y propiedades de una determinada columna. Sintaxis: Los cambios que se permiten son:  Incrementar precisión o anchura de los tipos de datos  Sólo se puede reducir la anchura si la anchura máxima de un campo si esa columna posee nulos en todos los registros, o todos los valores so o no hay registros.  Se puede pasar de CHAR a VARCHAR2 y viceversa (si no se modifica la anchura)  Se puede pasar de DATE a TIMESTAMP y viceversa. Añadir comentarios a las tablas Se le pueden poner comentarios a las tablas y las columnas. Un comentario es un texto descriptivo utilizado para documentar la tabla. Sintaxis: Para mostrar los comentarios puestos se usan las siguientes vistas del diccionario de datos mediante la instrucción SELECT: • USER_TAB_COMMENTS. Comentarios de las tablas del usuario actual. • USER_COL_COMMENTS. Comentarios de las columnas del usuario actual. • ALL_TAB_CO MMENTS. Comentarios de las tablas de todos los usuarios (sólo administradores) • ALL_CO L_COMMENTS. Comentarios de las columnas de todos los usuarios (sólo administradores). RESTRICCIONES Una restricción es una condición de obligado cumplimiento para una o más columnas de la tabla. A cada restricción se le pone un nombre, en el caso de no poner un nombr e (en las que eso sea posible) entonces el propio Oracle le coloca el nombre que es un mnemotécnico con el nombre de tabla, columna y tipo de restricción.
  • 25. Su sintaxis general es: Las restricciones tienen un nombre, se puede hacer que sea Oracle el que les ponga nombre, pero entonces será críptico. Por eso es mejor ponerle uno mismo. Los nombres de restricción no se pueden repetir para el mismo esquema, por lo que es buena idea incluir de algún modo el nombr e de la tabla, los campos involucrados y el tipo de restricción en el nombre de la misma. Prohibir nulos La restricción NOT NULL permite prohibir los nulos en una determinada tabla. Eso obliga a que la columna tenga que tener obligatoriamente un valor para que sea almacenado el registro. Se puede colocar durante la creación (o modificación) del c ampo añadiendo la palabra NOT NULL tras el tipo: CREATE TABLE Territories (TerritoryID VARCHAR2(20) NOT NULL); En ese caso el nombre le coloca Oracle. La otra forma (que admite nombr e) es: CREATE TABLE Territories(TerritoryID VARCHAR2(20) CONSTRAINT TerritoryID _sinnulos NOT NULL(TerritoryID)); Valores únicos Las restricciones de tipo UNIQUE obligan a que el contenido de uno o más campos no puedan repetir valores. Nuevamente hay dos formas de colocar esta restricción: CREATE TABLE cliente(dni VARCHAR2(9) UNIQUE); En ese caso el nombre de la restricción la coloca el sistema Oracle. Otra forma es: CREATE TABLE cliente(dni VARCHAR2(9) CONSTRAINT dni_u UNIQUE); Esta forma permite poner un nombre a la restricción. Si la repetición de valores se refiere a varios campos, la forma sería: CREATE TABLE alquiler(dni VARCHAR2(9), cod_pelicula NUMBER(5), CONSTRAINT alquiler_uk UNIQUE(dni,cod_pelicula) ; La coma tras la definición del campo cod_pelicula hace que la restricción sea independiente de ese campo. Eso obliga a que, tras UNIQUE se indique la lista de campos. Clave prim aria La clave primaria de una tabla la forman las columnas que indican a cada registro de la misma. La clave primaria hace que los campos que la forman sean NOT NULL (sin posibilidad de quedar vacíos) y que los valores de los campos sean de tipo UNIQUE (sin posibilidad de repetición). Si la clave está formada por un solo campo basta con: CREATE TABLE Shippers(ShipperID NUMBER NO T NULL, CO NSTRAINT PK_Shippers PRIMARY KEY (ShipperID))
  • 26. Clave se cundaria o foráne a Una clave secundaria o foránea, es uno o más campos de una tabla que están relacionados con la clave principal de los campos de otra tabla. La forma de indicar una clave foránea es: CREATE TABLE alquiler(dni VARCHAR2(9), cod_pelicula NUMBER(5), CONSTRAINT alquiler_pk PRIMARY KEY(dni,cod_pelicula), CONSTRAINT dni_fk FOREIGN KEY (dni) REFERENCES clientes(dni), CONSTRAINT pelicula_fk FOREIGN KEY (cod_pelicula) REFERENCES peliculas(cod)); La integridad referencial es una herramienta imprescindible de las bases de datos relacionales. Pero provoca varios problemas. Por ejemplo, si borramos un registro en la tabla principal que está relacionado con uno o varios de la secundaria ocurrirá un error, ya que de permitírsenos borrar el registro ocurrirá fallo de integridad (habrá claves secundarios refiriéndose a una clave principal que ya no existe). Por ello Oracle nos ofrece dos soluciones a añadir tras la cláusula REFERENCES:  ON DELETE SET NULL. Coloca nulos todas las claves secundarias relacionadas con la borrada.  ON DELETE CASCADE. Borra todos los registros cuya clave secundaria es igual que la clave del registro borrado. Restricciones de validación Son restricciones que dictan una condición que deben cumplir los contenidos de una columna. La expresión de la condición es cualquier expresión que devuelva verdadero o falso, pero si cumple estas premisas:  No puede hacer refer encia a números de fila  No puede hacer refer encia a objetos de SYSTEM o SYS  No se permiten usar las funciones SYSDATE, UID, USER y USERENV  No se per miten referencias a columnas de otras tablas (si a las de la misma tabla) Una misma columna puede tener múltiples CHECKS en su definición (se pondrían varios CONSTRAINT seguidos, sin comas). Ejemplo: CREATE TABLE ingresos(cod NUMBER(5) PRIMARY KEY, concepto VARCHAR2(40) NO T NULL, importe NUMBER(11,2) CONSTRAINT importe_min CHECK (importe>0) CONSTRAINT importe_max CHECK (importe<8000) ); Mostrar restricciones La vista del diccionario de datos USER_CONSTRAINTS permite identificar las restricciones colocadas por el usuario (ALL_CO NSTRAINTS per mite mostrar las restricciones de todos los usuarios, pero sólo está permitida a los administradores). En esa vista aparece toda la información que el diccionario de datos posee sobre las restricciones.
  • 27. CREACIÓN DE ÍNDICES Tipos de índices Existen tres tipos de índices cuya naturaleza depende de la forma en que haya sido creado. Estos tipos son: Un índice único es aquel que tiene la restricción adicional de que el grupo de columnas indexadas define una única fila. Sin embargo, si no van a existir más grupos de columnas con estas características dentro de una misma tabla, se recomienda crear el conjunto como una clave primaria ya que de todas formas Oracle asociará un índice único a esta restricción (la clave primaria). Un índice no único, que es aquel que no impone la restricción de que las filas no deban repetirse. Un índice compuesto es aquel que agrupa varias columnas de la tabla. Este tipo es muy útil cuando las sentencias de selección (SELECT) efectúan búsquedas por varios criterios (columnas) en una misma tabla. Es importante el orden en que se ponen las columnas al crear el índice; la columna más referenciada debería ser puesta en primer lugar y así sucesivamente. Es importante decidir qué columnas indexar. Siga las siguientes reglas cuando tenga que tomar esta decisión:  Escoja las columnas que se utilizan con mayor frecuencia en las cláusulas WHERE de las consultas.  No indexe aquellas columnas que tengan demasiados valores repetidos en ellas.  Las columnas que toman valores únicos son excelentes candidatas para indexar. Oracle automáticamente indexa las claves primarias de las tablas.  Indexe las columnas que sirven para unir una tabla con otras (join en las consultas).  Si hay columnas que no tienen valores únicos por sí solas pero que en conjunto con otra columna forman una dupla única o con pocas repeticiones (menos que las columnas individualmente), entonces conviene indexarlas (siempre y cuando existan consultas que las utilicen en conjunto). Estos índices reciben el nombre de índices compuestos. Sintaxis de creación de índices: CREATE INDEX nombre_indice ON [esquema.]nombre_tabla (columna1 [, colu mna2,...]) TABLESPACE nombre_tablespace; 2. LENGUAJE DE CONSUL TA ESTRUCTURADO Los comandos básicos del DBMS es un conjunto de sentencias que está orientado a la consulta y manejo de datos de los objetos creados, básicamente consta de 4 sentencias: SELECT, INSERT, DELETE, UPDATE. INSTRUCCIÓN SELECT Es la encargada de indicar las columnas que se desean mostrar de una tabla en el resultado, con cualquier tipo de condición, agrupación u ordenación. Una sentencia SELECT retorna un único conjunto de res ultados, por lo que podrá ser aplicada en cualquier lugar donde se espere un conjunto de resultados. Las distintas columnas deben aparecer separadas por coma ( , ), opcionalmente puede ser cualificadas con el nombre de su tabla utilizando la sintaxis: Si se quieren mostrar todas las columnas de una tabla, se podrá incluir el carácter *, o bien TABLA.*
  • 28. La sintaxis básica es: SELECT * / columna1, colu mna2,... FROM nombre_tabla WHERE condición GROUP BY columnas de agrupación HAVING condición agrupada ORDER BY colu mnas de ordenación; Todas las cláusulas son opcionales excepto SELECT y FRO M. Si se incluye la cláusula DISTINCT después de SELECT, se suprimirán aquellas filas del resultado que tenga igual valor que otras. La sentencia FROM se indican el (los) conjunto(s) de resultado(s) que interviene(n) en la consulta. Normalmente se utilizan tablas, pero se admite cualquier tipo de conjunto (tabla, select, vista…). Si apareciese más de una tabla, deben ir separadas por coma. Las tablas deben existir y si no existiera alguna aparecería un error. La sentencia WHERE indica qué condiciones debe cumplirse para que una fila entre dentro del conjunto de resultados retornado. Para construir las condiciones se podrán utilizar todos los operadores lógicos. Es posible construir condiciones complejas uniendo dos o más condiciones simples a través de los operadores lógicos AND y OR. La sentencia GROUP BY.- La expresión GROUP BY se utiliza para agrupar valores que es necesario procesar como un grupo. La sentencia HAVING.- Se utiliza cuando se quiere poner condiciones al resultado de un grupo. Sólo se la puede utilizar si se ha incluido la cláusula GROUP BY. La sentencia ORDER BY.- Se utiliza para ordenar las filas del conjunto de resultados final. Todas las columnas por las que se desea realizar el orden tienen que encontrarse en la sentencia SELECT de la consulta. INSTRUCCIÓN DELETE. Borra una o más filas de una tabla, dependiendo de la condición WHERE, para guardar cambios hay que ejecutar COMMIT; y para cancelar el borrado podemos hacer ROLLBACK; su sintaxis es la siguiente: DELETE FROM no mbre_tabla WHERE condición; Si no se pone condición, borra todas las filas de una tabla. Ejemplo de DELETE
  • 29. Tabla antes del borrado Tabla después del borrado INSTRUCCIÓN UPDATE. Actualiza valores de una o más columnas para un subconjunto de filas de una tabla, para guardar cambios hay que ejecutar COMMIT; y para cancelar la modificación podemos hacer ROLLBACK; su sintaxis es la siguiente: UPDATE no mbre_tabla SET columna1 = valor1, columna2 = valo r2, ... WHERE condición; Actualiza las filas que cumplan con la condición, si no se pone condición de selección, la actualización se da en todas las filas de la tabla. No existe una gran diferencia entre la sintaxis básica de SQL Server 2005 y Oracle 11g, la única diferencia es que para ejecutar la consulta, inserción, actualización o borrado en SQL se ponía al final GO, mientras que en Oracle solo se pone punto y coma (;). Ejemplo de UPDATE
  • 30. Antes de la actualización Después de la actualización CONSULTAS SQL es un conjunto de sentencias u órdenes que todos los programas y usuarios deben utilizar para acceder a bases de datos Oracle. No hay otra manera de comunicarse con Oracle si no es a través de SQL. Dado que SQL es un estándar, todas las bases de datos comerciales de la actualidad utilizan SQL como puente de comunicación entre la base de datos y el usuario. Ejemplo de consultas SUBCONSUL TAS Una subconsulta es una instrucción SELECT anidada dentro de una instrucción SELECT, SELECT...INTO, INSERT...INTO, DELETE, o UPDATE o dentro de otra subconsulta. Puede utilizar tres formas de sintaxis para crear una subconsulta:  Comparación: Es una expresión y un operador de comparación que compara la expresión con el resultado de la subconsulta.
  • 31. Sintaxis: co mparación [ANY | A LL | SOME] (instru cción sql);  Expresión: Es una expresión por la que se busca el conjunto resultante de la subconsulta. Sintaxis: expresión [NOT] IN (instrucción sql);  Instrucción SQL: Es una instrucción SELECT, que sigue el mismo formato y reglas que cualquier otra instrucción SELECT. Debe ir entre paréntesis. Sintaxis: [NOT] EXISTS (instrucción sql) VISTAS Una vista no es más que una consulta al macenada a fin de utilizarla tantas veces como se desee. Una vista no contiene datos sino la instrucción SELECT necesaria para crear la vista. Hay dos tipos de vistas:  Simples: Las forman una sola tabla y no contienen funciones de agrupación. Su ventaja es que permiten siempre realizar operaciones DML sobre ellas.  Complejas: Obtienen datos de varias tablas, pueden utilizar funciones de agrupación. No siempre permiten operaciones DML. Creación de vistas Sintaxis: Donde:  OR REPLACE. Si la vista ya existía, la cambia por la actual.  FORCE. Cr ea la vista aunque los datos de la consulta SELECT no existan  vista. Nombre que se le da a la vista  alias. Lista de alias que se establecen para las columnas devueltas por la consulta SELECT en la que se basa esta vista. El número de alias debe coincidir con el número de columnas devueltas por SELECT.  WITH CHECK OPTION. Hace que sólo las filas que se muestran en la vista puedan ser añadidas (INSERT) o modificadas (IPDATE). La restricción que sigue a esta sección es el nombre que se le da a esta restricción de tipo CHECK OPTION.  WITH READ ONLY. Hace que la vista sea de sólo lectura. Permite grabar un nombre para esta restricción. Procedimientos almacenados Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que pueden ser llamado usando el nombre que se le haya asignado. La sintaxis para crear un procedimiento es la siguiente: CREATE [OR REPLACE] PROCEDURE name ([param [IN|OUT|IN OUT|] datatype ], . . .) AS sql_subprogram El uso de OR REPLACE permite sobreescribir un procedimiento existente. Si se omite, y el procedimiento ya existe, se producirá un error. Los modificadores IN, OUT, IN OUT indican si el parametro es de entrada, salida o ambos. Si se desea eliminar (borrar) un procedimiento almacenado, se usa la instrucción: DROP PROCEDURE name;