manual Oracle 11g.docx

69
REQUISITOS DE INSTALACIÓN Para empezar con la instalación del Oracle Databas 11g Release 2 (11.2.0.1.0) desde cero empezamos por descargar los siguientes instaladores. 1. SOFTWARE REQUERIDO PARA INSTALACIÓN El software a descargar se en los encuentra en el sitio web oficial del Oracle, estos archivos están disponibles solo para personas que se encuentran registradas en el sitio, obviamente para tener acceso a los archivos de instalación que se detallaran deberán hacer el registro previo al sitio oficial de Oracle, siendo este un paso sencillo que no nos tomara más de 5 minutos. NOMBRE DE INSTALADOR LUGAR DE DESCARGA Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (32- bit) http://www.oracle.com/technetwork/database/ enterprise-edition/downloads/112010-win32soft- 098987.html Nota: Este instalador está dividido en 2 partes win32_11gR2_database_1of2.zip (1,625,721,289 bytes) win32_11gR2_database_2of2.zip (631,934,821 bytes) jdk-6u35- windows-i586 http://www.oracle.com/technetwork/java/javase/ downloads/jdk7u9-downloads-1859576.html Nota: Para hacer la integración del instalador de Oracle 11G debemos crear una carpeta en cualquier ruta del computador, una vez creada la carpeta procedemos a descomprimir el archivo win32_11gR2_database_1of2.zip en esta carpeta, realizado este paso procedemos a descomprimir el archivo win32_11gR2_database_2of2.zip en la misma carpeta creada. Previo a la instalación recomendamos ver un par de los videos colgados en YouTube y de los cuales dejamos sus direcciones a continuación; para darnos una idea de lo que vamos a hacer http://youtu.be/2RjUrgT0iW0 http://youtu.be/-Sj3u9yQkfk http://youtu.be/NffFO61Htnk http://youtu.be/PfyrByjdIWw http://youtu.be/tDqLwgOkcnM 2. HARDWARE REQUERIDO PARA LA INSTALACIÓN

Transcript of manual Oracle 11g.docx

Page 1: manual Oracle 11g.docx

REQUISITOS DE INSTALACIÓN

Para empezar con la instalación del Oracle Databas 11g Release 2 (11.2.0.1.0) desde cero empezamos por descargar los siguientes instaladores.

1. SOFTWARE REQUERIDO PARA INSTALACIÓN El software a descargar se en los encuentra en el sitio web oficial del Oracle, estos archivos están disponibles solo para personas que se encuentran registradas en el sitio, obviamente para tener acceso a los archivos de instalación que se detallaran deberán hacer el registro previo al sitio oficial de Oracle, siendo este un paso sencillo que no nos tomara más de 5 minutos.

NOMBRE DE INSTALADOR

LUGAR DE DESCARGA

Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (32-bit)

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html

Nota: Este instalador está dividido en 2 parteswin32_11gR2_database_1of2.zip (1,625,721,289 bytes)win32_11gR2_database_2of2.zip (631,934,821 bytes)

jdk-6u35-windows-i586 http://www.oracle.com/technetwork/java/javase/downloads/

jdk7u9-downloads-1859576.html

Nota: Para hacer la integración del instalador de Oracle 11G debemos crear una carpeta en cualquier ruta del computador, una vez creada la carpeta procedemos a descomprimir el archivo win32_11gR2_database_1of2.zip en esta carpeta, realizado este paso procedemos a descomprimir el archivo win32_11gR2_database_2of2.zip en la misma carpeta creada. Previo a la instalación recomendamos ver un par de los videos colgados en YouTube y de los cuales dejamos sus direcciones a continuación; para darnos una idea de lo que vamos a hacer

http://youtu.be/2RjUrgT0iW0 http://youtu.be/-Sj3u9yQkfk http://youtu.be/NffFO61Htnk http://youtu.be/PfyrByjdIWw http://youtu.be/tDqLwgOkcnM

2. HARDWARE REQUERIDO PARA LA INSTALACIÓN

Es necesario cumplir con los siguientes requerimientos mínimos en equipo.

REQUERIMIENTO MÍNIMOMemoria RAM 1GB

Espacio en discoInstalación básica: 4.5GBInstalación avanzada: 4.9 GB

Adaptación de video 256 coloresArquitectura de Procesador Intel (X86), AMD64 o Intel EM64T

Sistema operativo

Windows 2000 Service Pack 1 o superiorWindows Server 2003 o SuperiorWindows XP ProfessionalWindows Vista Business o Superiorwindows seven

Page 2: manual Oracle 11g.docx

3. INSTALANDO ORACLE

Antes de empezar a instalar componentes debemos asegurarnos de obtener permisos de administrador en el equipo, o realizar todas las instalaciones como administrador de equipo.

Bueno empecemos:

En la carpeta en donde se descargaron e integraron los archivos de instalación de Oracle buscamos el archivo ejecutable Setup.exe como se describe en la imagen a continuación.

Escogemos la opción Ejecutar como Administrador y damos click, a continuación aparecerá el siguiente recuadro que indica una comprobación de la configuración de colores del monitor y aquí el porqué de uno de los requerimientos mínimos de Hardware de instalación.

Luego indica que se está preparando para iniciar el Oracle Universal Installer (OUI), este componente está escrito en Java, y una de sus funciones es comprobar ciertos requerimientos sobre el servidor antes de ejecutarse, como por ejemplo calcular el espacio de memoria Swap y la versión del Sistema Operativo. Para el cálculo de memoria Swap el comprobador obtiene el tamaño toral de la memoria física y obtiene como espacio Swap el 1.5 veces la cantidad de memoria física, el OUI es una herramienta para administrar el entorno de Oracle y este instalara un conjunto de herramientas para la administración de la base de datos y componentes relacionados, en particular el SQL Plus

Page 3: manual Oracle 11g.docx

Luego nos mostrara la siguiente pantalla, propia de cualquier instalación de Win7, escogemos la opción Este programa se instaló Correctamente.

Esta es la primera pantalla del asistente de instalación, en donde nos pide un correo electrónico para enviar notificaciones sobre problemas de seguridad, dependerá de la persona que instala este producto decidir si quiere o no recibir esta información, escogemos la opción siguiente

Page 4: manual Oracle 11g.docx

Aparecerá el siguiente cuadro de dialogo pidiendo especificar la información del servidor proxy para establecer una mayor seguridad cuando Oracle se conecte al servidor Oracle, para este ejemplo práctico omitimos este paso y activamos la casilla de verificación No deseo recibir información sobre los problemas

críticos de mi configuración y continuamos

En este cuadro de dialogo escogemos la opción a instalar entre las que tenemos:

Page 5: manual Oracle 11g.docx

Crear y Configurar Base de Datos: seleccionaremos esta opción para instalar Oracle y crear una base de datos lista para poder usarse tras la instalación.

Instalar sólo Software de la Base de Datos: seleccionaremos esta opción para instalar el software de Oracle y no crear base de datos, para poder usarlo habrá que crear la base de datos más adelante.

Actualizar Base de Datos Existente: seleccionaremos esta opción para actualizar una versión de Oracle anterior existente.

En nuestro caso escogimos la segunda opción y dejamos la creación de la base de datos para más adelante. Damos clic en la opción siguiente

En este cuadro de dialogo escogemos la opción de tipo de base de datos a instalar y seleccionaremos "Instalación de Base de Datos de Instancia Única". La segunda opción "Ejemplo de instalación de Base de Datos Real ApplicationClusters" se usa para entornos de alto rendimiento con varios nodos (equipos servidores) conectados a la misma base de datos en modo clúster.

Page 6: manual Oracle 11g.docx

En el siguiente menú escogemos el idioma o los idiomas que deseamos ejecutar el producto

En este menú escogemos la edición de base de datos a instalar:

Enterprise Edition (3,34GB): Oracle Database 11g Enterprise Edition es una base de datos de gestión automática que tiene las funciones de escalabilidad, rendimiento, alta disponibilidad y seguridad necesarias para ejecutar las aplicaciones críticas más exigentes.

Standard Edition (3,29GB): Oracle Database 11g Standard Edition es una solución de gestión de datos completa adecuada para las necesidades de las empresas medianas. Incluye Oracle Real Application Clusters para obtener disponibilidad de clase empresarial y se suministra completo con su propio clusterware y capacidades de gestión de almacenamiento.

Standard Edition One (3,29GB): Oracle Database 11g Standard Edition One es una solución de gestión de datos completa adecuada para las necesidades de las pequeñas y medianas empresas.

Personal Edition (3,34GB): soporta el desarrollo y el despliegue de un sólo usuario que debe ser totalmente compatible con Oracle Enterprise Edition 11g y Oracle Standard Edition 11g.

Para este proyecto escogimos la opción Estándar Edición One; damos clic en siguiente.

Page 7: manual Oracle 11g.docx

:

En este cuadro de dialogo indicamos las rutas de Dirección Base de Oracle y La ubicación de los archivos de software, se recomienda solo cambiar la dirección Base de Oracle y automáticamente cambiara la ubicación para el software, damos clic en siguiente para continuar con la instalación.

En este cuadro de dialogo se realiza una comprobación automática de espacio en el disco donde se alojaran los archivos de instalación del Oracle 11G

Page 8: manual Oracle 11g.docx

Una vez terminada la comprobación nos aparcera un resumen de los datos proporcionados para la instalación y damos clic en la opción terminar.

Y vemos como se procede a instalar el Oracle 11G en nuestro Equipo

Page 9: manual Oracle 11g.docx

Vemos que durante la instalación aparece el mensaje de firewall de Windows indicándonos si le damos permiso para que el Java (TM) 2 pueda tener acceso a a las redes este el software es la primera plataforma para desarrollar y desplegar rápidamente aplicaciones seguras y portátiles que se ejecutan en el servidor y los sistemas de escritorio.

Page 10: manual Oracle 11g.docx

Este cuadro aparecerá al finalizar la instalación y será el último paso a cumplir le damos clic a la opción cerrar y todo listo con la instalación del software para Oracle 11G

Una vez cerrado el cuadro de dialogo vamos a los programas que se encuentran en el menú inicio y demos tener los accesos a las herramientas administrativas que provee este instalador

Page 11: manual Oracle 11g.docx

Cabe indicar que las pruebas de instalación se las realizaron en varios equipos uno con sistema operativo Windows 7 (hogar), y otras 2 con sistema operativo XP (Laboratorios de la Universidad).

FORMA DE OPERACIÓN PARA ADMINISTRAR LA BASE

SQL Plus

SQL*Plus es un programa de línea de comandos de Oracle que puede ejecutar comandos SQL y PL/SQL de forma interactiva o mediante un script.

SQL*Plus opera como una herramienta relativamente simple con una interfaz de líneas de comando básica. Los programadores y los administradores de bases de datos (DBA's) lo usan de forma muy común como interfaz fundamental en la mayoría de las instalaciones de software de Oracle.

Esta herramienta viene dentro del instalador del Oracle 11G instalado anteriormente.

Para ingresar al SQL PLUS vamos a Inicio-Todos los Programas-Oracle-OraBD11g home1-Desarrollo de aplicación, y damos clic sobre el icono para poder ingresar a la consola de comandos, como en todos los casos ejecutamos como administrador la aplicación, nos aparecerá el control de cuentas de usuarios para pedirnos autorización para ejecutar el programa le damos clic en si para poder continuar. Una vez echo este paso previo aparecerá la consola de comandos del SQL Plus y nos pedirá la autentificación, los usuarios que crea por defecto el Oracle son SYSTEM, SYSMAN, entre otros; si recordamos a estos usuarios le asignamos la misma clave mientras realizamos la creación de la Base de datos, siendo el usuario SYSTEM y la clave “1234”.

Una vez adentro del SQL Plus (SP) estaremos listo para empezar a realizar tareas de administración de Base de datos

Page 12: manual Oracle 11g.docx

Management Studio

Hasta hay una introducción al SQL Plus, pero el Oracle 11G nos proporciona un sin número de herramientas que podemos utilizar para poder administra una base de datos.

Si antes no lo hemos mencionado el Oracle 11G es una aplicación cliente servidor y dentro de sus componentes se instala Management Studio, que es una aplicación que se ejecuta sobre un navegador web para acceder a ella solo tenemos que ejecutar una de las bases de datos que hemos creado y que se encuentran en Inicio-Todos los Programas-Oracle OraDB11G, en nuestro caso escogeremos la Base de Datos con el nombre Nueva_prueba

Se ejecuta el navegador que tengamos configurado como predeterminado en mi caso Google Chrome, de igual manera que en el SQL Plus nos pedirá Usuario y contraseña, esta serán las mismas con las que ingresamos en la consoladel programa mencionado anteriormente

Page 13: manual Oracle 11g.docx

Si todo anda correcto se abrirá el Manager Enterprise 11G, explicar todo si lo conociera me tomaría una par de días, solo detallaremos algunas de las cosas que utilizamos para nuestro proyecto.

Nota: antes de continuar cabe resaltar que en mi maquina sin restricciones de navegación todo anda perfecto, no así en las máquinas de la universidad en donde también se hicieron pruebas.

La diferencia se dio cuando se probó el Manager Studio, puesto que no cargaba pero si conocemos algo de red la solución no es muy difícil, ejecutamos un netstat para saber si estaba activo el puerto 1521 que como ya dijimos es el puerto por defecto para que el listener este a la escucha de peticiones.

Se agregó este puerto dentro de los puertos permitidos por el firewall de Windows.

El segundo problema fue que después de habilitar el puerto aun no cargaba el Manager Enterprise, hubo que configurar en el Mozilla firefox el nombre del servidor proxi que sería el nombre del servidor en donde se carga el manager Enterprise, y como puerto se estableció el puerto 1521. Luego de esto reiniciamos el navegador y todo fluyo normal.

Volviendo a la ventana del Manager Enterprise como podemos observar en la pantalla de bienvenida nos muestra la situación actual de la base de datos, el nombre del Host, el nombre del Listener

Page 14: manual Oracle 11g.docx

En la pestaña Esquema esta la parte que nos permitirá seguir con la creación de nuestras tablas, vistas procedimientos entre otros.

SQL Developer

Oracle SQL Developer es la herramienta gráfica gratuita que proporciona Oracle para que no sea necesario utilizar herramientas de terceros (como el conocido TOAD, o el PL/SQL Developer) para desarrollar, o simplemente para ejecutar consultas o scripts SQL, tanto DML como DDL, sobre bases de datos Oracle).

La apariencia y funcionalidad es similar a la de otras herramientas de este tipo, por lo que es una buena opción si no tenemos especial predilección por otras herramientas.

Además en las últimas versiones ha incorporado mejoras como permitir conectar con bases de datos no Oracle, como SQL Server, MySQL o Access. La conexión con MySQL o SQL Server se realiza a través de JDBC, y de manera bastante sencilla. Una vez establecida la conexión se pueden explorar los objetos de las bases de datos como si se tratara de una de Oracle, y ejecutar sobre ellas sentencias SQL, aunque en cuanto a funcionalidades más avanzadas como la creación de estructuras este tipo de conexión estará mucho más limitado.

Antes de ejecutarse el SQL Developer nos pide buscar el archivo java.exe para poder ejecutarse sobre esa plataforma y aquí el porqué de uno de los requerimiento de software de instalación, en el cuadro de dialogo que nos

Page 15: manual Oracle 11g.docx

aparece le damos clic en examinar para buscar el archivo de java. Que por lo general se instala dentro del disco local C-Archivos de programas-java.

Buscamos en el directorio como lo indica la imagen a continuación, seleccionamos

Una vez hecha esta configuración previa ya podremos abrir el SQL Developer y empezar la administración de la base de datos de una forma mucho más sencilla que las antes descritas.

En la primera vez que se abre el SQL Developer aún no aparecerán las bases de datos a administrar puesto que para ello hay que realizar una configuración previa.

Para agregar una base de datos primero hay q configurar una conexión, esto lo hacemos desde el menú Archivo-Nuevo y aparecerá la ventana de nueva

Page 16: manual Oracle 11g.docx

conexión, otra forma de encontrar esta opción es mediante el icono que se encuentra sobre el área de navegación de directorios de la aplicación.

En el nombre de conexión es un nombre que identifique la conexión hacia la base de datos a administrar.

Usuario y contraseña son las mismas que utilizamos anteriormente, para que cuando nos conectemos no nos vuelva a pedir autentificación activamos la casilla de verificación Guardar Contraseña.

En nombre del Hosts se pone el nombre del equipo que hace las veces de servidor.

En número de puerto ubicamos el 1521 el nombre de SID es el nombre con el Oracle identifica a la base de datos, una vez configurado esto le damos clic en Probar, si todo está bien este cuadro dialogo nos indicará que la conexión se realizó satisfactoriamente.

Le damos clic en guardar y ya tendremos configurada nuestra primera base de datos para administrar. Hay un pantallazo de nuestra base con sus componentes desplegada y con una clausula select ejecutada que despliega los valores de los registros ya vistos anteriormente en SQL PLUS, Manager Enterprise y ahora en SQL DEVELOPER.

Page 17: manual Oracle 11g.docx

COMO CREAR TABLAS

En la creación de tablas se pueden realizar con cualquiera de las tres herramientas mencionadas anteriormente, con la única diferencia que 2 son en ambientes totalmente gráficos e interactivos y el restante por medios de códigos que se ingresan a trabes de la consola.

En este manual se explicará los pasos en SQL developer y SQL plus para apreciar la diferencia al trabajar en estas dos herramientas que viene incluidas en el paquete de Oracle 11g

Nota: SQL developer se incluyó recién en esta última versión de Oracle, puesto que hasta la versión 10g para trabajar en ambiente grafico se debía descargar también la herramienta conocida como TOAD.

® SQL Plus

La creación de tablas es igual a la creación de tablas en SQL Server 2008 con la única diferencia que al final de comando se coloca punto y coma (;) para terminar la instrucción.

Page 18: manual Oracle 11g.docx

Crearemos una tabla llamada usuarios con los siguientes campos: id_usuario number, usuario varchar2(30) y clave varchar2(15)

Nos aparecerá un mensaje que nos dice que la tabla ha sido creada.

® SQL Developer

Para la creación de una tabla en esta herramienta usaremos la conexión que guardamos en la sección anterior (forma de operación para administrar la base), vamos a la pestaña conexiones en la parte izquierda de la ventana presionamos en el signo mas junto a la conexión llamada nueva y se desplegará las diferentes estructuras que se pueden crear en la base de datos, escogemos la sección tablas.

Damos clic derecho y escogemos nueva tabla, se abrirá una cuadro de dialogo, colocamos el nombre para este ejemplo pondremos usuarios 1

Page 19: manual Oracle 11g.docx

Damos click en el checkbox que dice avanzado, se dividirá en dos la pantalla en la parte izquierda están las diferentes acciones que se pueden realizar y en la parte derecha se colocaran el nombre de las columnas, para ingresar otra columna se da

click en el botón y aparecerá otra columna que por defecto se llama COLUMN1.

Una vez añadidas las columnas necesarias en nuestra tabla presionaos aceptar y la tabla quedará creada.

COMO CREAR CLAVES PRIMARIAS

Page 20: manual Oracle 11g.docx

Para el ejemplo anterior con la tabla usuarios1 nos colocamos en la tabla con ese nombre y damos click derecho editar

Se abrirá un cuadro de dialogo nos colocamos en la parte izquierda en la opción que dice clave primaria, le damos click y aparecerá la siguiente ventana:

Luego seleccionamos la columna que deseamos como clave primaria y presionamos

en el botón o le damos doble click, presionamos aceptar y quedará realizada esta acción.

Page 21: manual Oracle 11g.docx

COMO CREAR RELACIONES

Para crear relaciones usaremos el SQL developer primero crearemos 2 tablas (Alumno y Examen) siguiendo los pasos en la sección anterior.

Siguiendo los pasos de la sección anterior creamos la tabla alumno que tendrá columnas como: cod_aumno que será nuestra clave primaria de tipo number, nombres, apellidos, dirección, nom_padre, nom_madre y teléfono de tipo varchar2 con diferentes longitudes.

Page 22: manual Oracle 11g.docx

Ahora la tabla examen con las columnas: cod_examen de tipo number, cod_alumno de tipo number, fecha de tipo date, asignatura de tipo varchar2 y calificación de tipo number con 2 decimales

Nótese que la tabla exámenes tiene el campo cod_alumno que es la clave primaria de la tabla alumno ahora definimos la clave primaria de esta tabla que será cod_examen.

Page 23: manual Oracle 11g.docx

Ahora vamos a definir el campo COD_ALUMNO como clave foránea de la tabla para eso nos vamos a la parte izquierda del cuadro de dialogo en la opción claves ajenas, nos saldrá en la ventana un recuadro que dice clave ajena y un botona su lado que dice agregar le damos click y saldrá el siguiente mensaje “EXAMEN_FK1” que nos dice que es la clave foránea de la tabla examen luego esta el esquema de referencia, es decir el usuario con el que ingresamos, y la tabla de referencia aquí escogemos la tabla ALUMNO y la restricción de referencia que es la clave primaria de la tabla que escogimos y finalmente asociaciones en esta sección se selecciona el campo de la tabla exámenes que va a estar ligado con la tabla ALUMNO y escogemos la columna COD_ALUMNO

Y con ese paso tenemos relacionadas las dos tablas, ingresamos algunos datos en las dos tablas y luego para comprobar la relación de estas abrimos SQL Plus, colocamos usuario y contraseña e insertamos la instrucción que vemos en la imagen:

La salida de esta instrucción nos dice:

------------- --------------- --------------- ----------------Nombres Apellidos Asignatura Calificación------------- --------------- --------------- ----------------Jim Jim ooo 20

Que son los datos que le ingrese anteriormente en la cual se cumple el criterio del WHERE de la consulta anterior.

Page 24: manual Oracle 11g.docx

COMO INSERTAR DATOS EN LAS TABLAS

La inserción de datos es idéntica a la que se hace en SQL Server con el comando INSERT, para este ejemplo tomaremos la tabla usuarios creada anteriormente, primero haremos un SELECT para conocer los datos ingresados, luego ejecutamos el INSERT y el SQL Plus nos dirá que una fila a sido creada

Realizamos una comprobación de la inserción

Page 25: manual Oracle 11g.docx

COMO MODIFICAR UNA TABLA

- Modificar el contenido de una tabla

La instrucción UPDATE sigue teniendo los mismos parámetros al trabajar en Oracle.

UPDATE nombre_tablaSET campo1 = valor1,Campo2 = valor2,campoN = valorN[WHERE <condición>]

Abriremos el SQL Plus y escribimos select *from all_tables; con esta instrucción nos aparecerán las tablas creadas en la base de datos, ahora veamos la estructura de la tabla "usuarios": describe usuarios y por ultimo los datos dentro de la tabla select * from usuarios1;

Una vez que conocemos los datos vamos a modificarlos con la siguiente instrucción:

Nos dirá que una fila a sido actualizada, ahora escribamos otra consulta para verificar que los datos han cambiado select * from usuarios1.

Page 26: manual Oracle 11g.docx

- Modificar las columnas de una tablaPara cambiar la estructura de una tabla se utiliza la sentencia ALTER TABLE.Sintaxis:

Con esta sentencia se añade una columna a nuestra tabla, llamada f_creacion de tipo date.

COMO FUNCIONA EL EDITOR DE SQL

Escribir las sentencias SQL en la ventana de edición SQL (Hoja de Trabajo SQL):

Para ejecutar sólo una sentencia, se sitúa el cursor sobre la sentencia y se pulsa el

icono o la tecla F9.

Para ejecutar todas las sentencias, se pulsa el icono o la tecla F5.

Los resultados de la ejecución de las sentencias SQL se muestran en las pestañas “Salida de Sentencia” y “Salida de Script”

El icono permite acceder a un histórico de sentencias SQL ejecutadas. Para cargar una sentencia del histórico sobre el editor SQL se hace doble-clik sobre la sentencia.

El icono borra el contenido del editor SQL o de las pestañas de resultados.

Page 27: manual Oracle 11g.docx

Para ver el número de línea en el editor SQL hay que activar Herramientas Preferencias Editor de Códigos Canal de LíneaMostrar Número de Línea.

Para grabar a un fichero .SQL el contenido del editor SQL se utiliza la opción

ArchivoGuardar o el icono

Para abrir un fichero .SQL en el editor SQL se utiliza la opción Archivo Abrir o el

icono .Para abrir un nuevo editor SQL se utiliza la opción Herramientas Hoja de Trabajo

SQL o el icono .Para crear y editar un nuevo fichero SQL se utiliza la opción ArchivoNuevo Archivo SQL.

IMPORTANTE: Las sentencias SQL que modifican la base de datos (INSERT INTO, UPDATE, DELETE,...) no se realizan (cometen) en la base de datos hasta que se

pulsa el icono .Si se quiere que las sentencias SQL se comentan automáticamente después de ejecutarlas hay que activar la opción Herramientas Preferencias Base de Datos Hoja de Trabajo ConfirmaciónAutomática en la Hoja de Trabajo SQL.Para que los cambios realizados por sentencias SQL de creación de objetos (DDL) se

reflejen en el navegador de objetos, es necesario pulsar el icono "Refrescar” .

COMO RESPALDAR Y RESTAURAR LA BASE

Para conseguir un funcionamiento seguro de la BD y una pronta recuperación ante fallos se necesita planear una estrategia de copias de seguridad, backup, y de recuperación, recovery, ya que de nada sirve pensar que estamos a salvo de tales circunstancias, y que eso no me puede pasar a mí.

Los backups se pueden clasificar en físicos y lógicos. Los físicos se realizan cuando se copian los ficheros que soportan la BD. Entre estos se encuentran los backups del SO, los backups en frío y los backups en caliente.

Los backups lógicos sólo extraen los datos de las tablas utilizando comandos SQL y se realizan con la utilidad export/import.

Los backups en frio.-Los backups en frio implican parar la BD en modo normal y copiar todos los ficheros sobre los que se asienta. Antes de parar la BD hay que parar también todas las aplicaciones que estén trabajando con la BD. Una vez realizada la copia de los ficheros, la BD se puede volver a arrancar.

Los backups en caliente.-El backup en caliente se realiza mientras la BD está abierta y funcionando en modo ARCHIVELOG. Habrá que tener cuidado de realizarlo cuando la carga de la BD sea pequeña. Este tipo de backup consiste en copiar todos los ficheros correspondientes a un tablespace determinado, los ficheros redo log archivados y los ficheros de control. Esto para cada tablespace de la BD.

Tablespace.- Almacén lógico de los ficheros de la BD. La BD posee ficheros (datafiles) donde almacena toda la información (objetos); estos ficheros deben tener una estructura lógica, que es la que lo establece el tablespace.

Page 28: manual Oracle 11g.docx

Usuario.- Es el usuario propietario de los objetos, tiene asignado una cantidad de espacio en un tablespace, o puede tener varios tablespace (compartidos o de uso exclusivo).

Esquema.- Concepto en el cual se indica cual es el ámbito de un usuario, es decir, el esquema es cuanto abarca un usuario, pj. cuantos objetos tiene, que permisos, que tablespaces posee...

Objeto.- Cualquier cosa que se pueda crear/eliminar: Usuarios, tablas, procedimientos, indices, tipos, tablespaces...

Al crear un usuario, generalmente se le asigna un tablespace por defecto y otro temporal. Cuando dicho usuario crea tablas, indices, paquetes... se van almacenando en el tablespace indicado por defecto. Cuando el usuario hace consultas, los resultados temporales se almacenan en el tablespace temporal.

Backups lógicos.-Estas utilidades permiten al DBA hacer copias de determinados objetos de la BD, así como restaurarlos o moverlos de una BD a otra. Estas herramientas utilizan comandos del SQL para obtener el contenido de los objetos y escribirlos en/leerlos de ficheros.

A continuación explicaremos unos cuantos preocesos de backups.

1. Copia de seguridad en Oracle con expdp modo hot

Pues bien para empezar con el respaldo de base de datos debemos disponer con permisos de administrador, disponer del usuario y contraseña de la BD Oracle, en la variable pth del sistema operativo deberá estar disponible la ruta de instalación de Oracle y la ruta bin donde se encuentra el comando expdp esto podemos comprobarlo desde una consola de comandos del sistema operativo ejecutando el comando set path como se muestra continuación, y si observamos en la captura de pantalla ya con el comando ejecutado, el directorio de instalación de Oracle se encuentra en la primera fila del resultado de la consulta.

Page 29: manual Oracle 11g.docx

Continuando con los requisitos para ejecutar un expdp es contar con un directorio para almacenar nuestra copia de base de datos, en nuestro caso se llamara “RESPALDO” y estará ubicada en el disco de D de nuestro equipo servidor. A continuación se muestra una pantalla con los comandos que permiten crear este repositorio.Para evitar la autentificación iniciamos una sesión en el SQL PLUS con el usuario sysdba, como se muestra en la siguiente pantalla

Una vez conectados como sysdba procedemos a crear el directorio que contendrá el respaldo general de la base de datos en donde RESPALDO será el nombre que le signamos al directorio, y es el que usaremos en el expdp y “D\RESPALDO_DB” será la ruta en donde se creara el respaldo, damos enter para ejecutar y no indica que el directorio fue creado.

Page 30: manual Oracle 11g.docx

Para constatar que la carpeta se creó ejecutamos una consulta para verificar los directorios del dba y como observamos nuestro directorio esta incluido.

Salimos del SQL PLUS con el comando exit y digitamos el comando expdp precedido del nombre de usuario y contraseña, especificamos el nombre del dumpfile, el nombre del logfile, en el directorio que creamos y la cláusula full indica que crearemos una copia de todo los registros, tablas, vistas, procedimiento que

contenga ese usuario.Vemos que el comando fue aceptado y en la pantalla siguiente se muestra como se copian los archivos al destino especificado.

Page 31: manual Oracle 11g.docx

Cuando se concluye el respaldo podremos verificar los archivos en el directorio; una vez exportados los datos, podrían importarse con el comando impdp (Import) en otra base de datos o en la misma si queremos "sobreescribirla".

Este es uno de los respaldos más sencillos, pero tarda un poco, el rendimiento de la base de datos disminuye hasta que se termina la exportación.

Aquí un link en donde podrá encontrar más información sobre el comando de exportación expdp.

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=560#.UMUNB-SZS4I

Page 32: manual Oracle 11g.docx

2. Copia de seguridad física en frio

Para hacer este tipo de copias hay que detener la base de datos, primero debemos ingresar al SQL PLUS con privilegios de dba, ejecutamos el comando shutdown para detener la base de datos

Esperemos a que nos confirme que se ha detenido la base de datos y procedemos a copiar los siguientes archivos:

Ficheros de dato, control y logs relacionados a la base de datos que estamos respaldando y que por lo general están en el directorioraíz de Oracle, dentro de la carpeta oradata

Ficheros de configuración y contraseñas (SPFILE y PWDFile), normalmente ubicados en:$ORACLE_HOME/dbhome_1/database

Copiaremos también los ficheros de log archivado:

Cuando este todo listo ejecutamos el comando startup para reiniciar la base de datos y es peramos a que nos indique que la base de dato fue montada

3. Que son los archivos logs y para qué sirven?

Page 33: manual Oracle 11g.docx

Los archivos logs se crean en Oracle para dar seguimiento a: errores de una base de datos y a las actividades realizadas dentro de la misma.

Trabajando con con el modo Archive log

Primero apuntamos el ORACLE_SID hacia la base de datos con la que vamos a trabajar, para nuestro caso será con la base de datos de nombre Nueva_prueva con SID nuevaprueba y esto lo hacemos desde una consola de comandos ejecutada como administrador:

Nos ubicamos en el directorio en donde se encuentra nuestra base de datos para verificar los archivos log dbf.

Luego ejecutamos las lineas de comando para entrar a SQL PLUS como sysdba y realizamos una consulta para visualizar las bases de datos. Luego ejecutamos una vista para comprobar el modo en el que está trabajando el Log_mode

Page 34: manual Oracle 11g.docx

Debemos ver algo parecido a esto puesto q nuestro log_mode aún no está configurado.

Para configurarlo digitamos los siguientes códigos (después de cada punto y coma presione enter)

1. >Alter system set log_archive_dest_1=’LOCATION=D:\Oracle\oradata\Nueva_prueba\LOGS\’ scope=spfile;

Esta línea específica la ruta en donde se almacenaran los archivos logs de la base de datos, la cláusula scope especifica donde quiere que se realice el cambio; spfile (graba los nuevos valores en spfile.ora), memory (aplica el cambio solo en la memoria) o both(graba las modificaciones enspfile.ora y lo aplica en memoria).Para log_archive_start necesitamos scope=spfile ya que es un parámetro estático y necesita reiniciar la BD para que el cambio surja efecto. Al contrario log_archive_dest es dinámico y para su modificación no necesitamos reiniciar la BD.)

2. >Shutdownimmediate;3. >Startupmount;4. >Alter databasearchivelog;5. >alter database open;6. >select log_mode from v$database;7. >archive log list;

Con esto ya tendremos nuestrolog_mode configurado

Page 35: manual Oracle 11g.docx

Para conocer la ubicación de los data files, redo logs y control files ejecutamos los siguientes comandos

A continuación hemos creado un tabla para guardas nombres y hacer pruebas de recuperación, esta tabla solo guarda nombres, insertamos un valor y consultamos si tenemos activado la opción de backup, como vemos este servicio aún no está activado.

Page 36: manual Oracle 11g.docx

Consultamos los tablespace para saber cuáles están asociados a este usuario

Modificamos el modo de backup de la base con el comando alter database.

Consultamos el estado de los backup.

Ejecutamos el comando quit para salir a crear una carpeta para almacenar nuestros respaldos .

Page 37: manual Oracle 11g.docx

En este directorio copiamos los archivos *.dbf que están en la carpeta de la base de datos que estamos modificando en este caso el directorio actual

Luego de esto entramos nuevamente al SQL PLUS para desactivar el modo backup

Page 38: manual Oracle 11g.docx

Comprobamos cual fue nuestro último log recuerden que establecimos una carpeta con el nombre LOGS dentro de la carpeta de la base de datos en la que estamos trabajando.

Entramos nuevamente al SQL PLUS para generar un nuevo log file y por efectos de práctica y comprobación nuevamente salimos al símbolo del sistema para ver si se cre el nuevo log file y como podremos obsrvar en l apantalla anterior solo teníamos hasta el archivo log 16

Es recomendable tener una copia de los ficheros de control de la base de datos. Este backup se puede realizar de la siguiente forma:

Page 39: manual Oracle 11g.docx

Una vez hecho esto empezamos a ingresar valores en nuestra tabla para hacer las pruebas de respaldo y restauración, recordemos que nuestra tabla se llama nombres.

Hacemos la inserción y luego ejecutamos el comando de confirmación commit.

Generamos un nuevo archivo log como hasta ahora lo hemos venido haciendo.

El proceso anterior lo repetimos por 3 veces más.

Page 40: manual Oracle 11g.docx

Comprobamos nuestras inserciones con un select

Chequeamos nuestros logs y vemos que se han incrementado hasta el log 21

Page 41: manual Oracle 11g.docx

Ahora simularemos un evento crítico de perdida de datos pero antes de eso

respaldamos los archivos log en otro directorio que se llamara respáldo_logs y

estará una ubicación diferente a la ubicación en donde tenemos nuestros archivos

logs y dbf.

Solo apagaremos la base y luego de comprobamos que todo este copiado

completamente

Page 42: manual Oracle 11g.docx

Salimos del directorio para realizar la eliminación de todos los archivos de la base

de datos, luego de confirmar ejecutamos un dir para comprobar que ya no existe ni

un archivo en el directorio de la base de datos Nuev_prueba.

Hacemos lo mismo con los archivos que se encuentran dentro del directorio LOGS, y

nuevamente comprobamos con un dir para ver el contenido de la carpeta

Page 43: manual Oracle 11g.docx

Vamos al SQL PLUS e intentamos corre la base de datos, y como podemos

comprobar existe un erro, lo cual es lógico puesto que eliminamos todo.

Terminamos el comando

Page 44: manual Oracle 11g.docx

Para empezando a la restauración primero copiamos los archivos que se guardaron

en la carpeta respal_sys al directorio de la base de datos con el nombre

Nueva_prueba.

Realizamos copias de seguridad para el CONTROLBACKUP en el mismo directorio

Entramos al SQL PLUS para empezar a montar la base de datos

Page 45: manual Oracle 11g.docx

Se hace lo mismo para los archivos logs que compiamos en la carpeta respaldo_logs

COMO MIGRAR DATOS ENTRE BASES DE DATOS

Para hacer la migración utilizamos la herramienta full convert versión trial disponible en internet.

La manera de instalar el fullconvert 5 no es difícil, y no necesita de configuraciones especiales. La versión trial permite hacer migraciones de bases datos sin inconvenientes, es una aplicación cliente servidor

En este manual explicaremos en varios pasos sencillos realizar la migración de una base de dato Oracle hacia una base de SQL server 2008

Para empezar debemos crear una base de datos en sql-server 2008 que servirá de repositorio para la migrar desde Oracle.

Page 46: manual Oracle 11g.docx

Hecho esto abrimos el full convert y en la primera venta escogemos la opción de conversión de nueva base de datos

De inmediato aparecera una ventana en donde nos pedira el tipo de base de datos que vamos a empezar a migrar, como podrermos observar dentro de sus opciones tenemo a Oracle

Page 47: manual Oracle 11g.docx

Al escoger la opcion Oracle debemos despues seleccionar como opcion Direct tcp/ip para poder escribir el nombre del SID, el usuario,la clave de usuario para acceder a esa base de datos, el servidor y el puerto de comunicación de la base de datos que como ya emos estado diciendo seria el puerto por defecto del listener de oracle. Luego de especificar bien los parametros damos clic en next.

En esta ventana escogemos la opcion sql puesto que s hacia donde nosotros vamos a realizar nuestra migracion. Seleccionamos la opcion Windows para que nos permita buscar en las bases de datos de Windows, y especificamos el nombre de la base de datos que creamos anteriormente con el nombre “NUEVA” y damos clic en siguiente.

Page 48: manual Oracle 11g.docx

De inmediato nos muestra un resumen de las tablas que están a punto de migrarse, por efectos de demostración dejamos todas las tablas habilitadas para migrar y damos clic en next.

Este es un mensaje de confirmación, seleccionamos Convert para empezar la migración.

Page 49: manual Oracle 11g.docx

Nos emite un nuevo aviso sobre las tablas que estamos a punto de migrar, seleccionamos la opción continue.

Esta son imágenes de la migración

Luego nos emite un cuadro de dialogo indicando el tiempo que se tardo la migración y la cantidad de tablas afectadas.

Page 50: manual Oracle 11g.docx

Después de esto vamos al sqlserver 2008 para realizar una consulta sobre la tabla usuarios de los archivos migrados.

COMO ACCEDER A LA BASE DE DATOS DESDE UNA APLICACIÓN

Para esta sección usaremos Visual Studio 2008 y trabajaremos con el lenguaje Visual .net, primero creamos un proyecto nuevo y le pondremos de nombre PracticaConeccionOracle y al Windows Form le asignamos el nombre de frm_Principal.

Para Poderse conectar con Oracle añadimos la referencia a System.Data.OracleClient y asi mismo para utilizarlo en el nuestro trabajo lo importamos así:

Imports System.Data.OracleClient

Una vez hecho esto diseñamos nuestra pantalla principal.

Page 51: manual Oracle 11g.docx

Le damos click derecho ver código y lo primero que haremos es que al presionar el botón consulta en el DataGridView se carguen todos los datos de la base de datos.

Para aclarar el código la variable llamada cadena posee los diferentes parámetros que nos dirán con que base de datos nos vamos a conectar:

Data Source: Es la base de datos en la cual se encuentran las diferentes tablas con las que vamos a trabajar.

User ID: Es el usuario con los diferentes privilegios con el cual vamos a acceder a la base de datos, recordemos que en Oracle siempre para realizar alguna acción sobre las tablas o sobre la base de datos nos piden un usuario y su respectiva contraseña.

Unicode:

Password: La clave del usuario que colocamos en User ID, si en la creación de la base de datos le asigno la misma contraseña para los diferentes usuarios, como es lógico se podrá conectar con cualquier usuario pero recuerde que no todos los usuarios tienen los mismos privilegios.

El fragmento de código que se ve en la imagen nos va a permitir ingresar a la base de datos, a la tabla definida en la clausula SELECT y cargar los datos del resultado en el DataGrigView (DBVusuarios).

En esta primera parte solo hicimos una consulta, ahora vamos a realizar una inserción a la tabla usuario para esto añadimos un nuevo Windows Form y le ponemos por nombre frm_Usuarios, es el que va a tener los diferentes datos que enviaremos a la base de datos.

Page 52: manual Oracle 11g.docx

Damos doble click en el botón grabar y este nos añadirá su evento por defecto y dentro del evento escribimos:

En este evento tenemos la misma cadena de conexión pero con la diferencia que aquí vamos a utilizar un procedimiento almacenado llamado insertusuario, este procedimiento está ligado a una secuencia para que la clave primaria incremente automáticamente.

OracleCommand es el que nos va a permitir dar el nombre y decir el tipo de comando a ejecutar para nuestro caso es StoredPreocedure, también nos va a permitir añadir los diferentes parámetros que se van a utilizar.

Page 53: manual Oracle 11g.docx

En esta operación decimos que van a ser parámetros de Oracle y el tipo de cada variable y que su valor va a ser lo que llenamos en los diferentes textboxs. Al finalizar la inserción nos dira si se realizo con éxito o no se realizo, si fue exitosa se limpiaran los texboxs.

Finalmente el botón cerrar, va a cerrar el formulario y regresara al formulario anterior.

COMO CREAR PROCEDIMIENTOS ALMACENADOS

A continuación digitamos el siguiente código en la consola de comandos, al final de cada línea damos enter, el procedimiento modifica el nombre del usuario, la sentencia es parecida a la de SQL Server 2008, además de que el código es fácil de intuir. Al terminar el procedimiento la cláusula End termina con punto y coma, y para indicar que terminamos con el procedimiento digitamos el slash (/), damos enter para ejecutar ese conjunto de líneas de comandos, el SP nos indica que el procedimiento fue creado.

Con la cláusula EXECUTE probamos nuestro procedimiento

Luego creamos una vista con el nombre de ACTIVOS para mostrar los usuarios activos dentro de la tabla, es parecida a la creación de un procedimiento, la última línea de comandos termina con punto y coma, para ejecutar la creación de la vista damos enter y el SP nos indica que vista fue

Page 54: manual Oracle 11g.docx

creada, realizamos la comprobación ejecutando la vista y obtenemos el resultado.

COMO CREAR TRIGGER

Los triggers son subprogramas que se disparan frente a eventos que ocurren en la base de datos.Los tipos de trigger son:

§ Simple DML triggers (BEFORE, AFTER y INSTEAD OF).§ Compound triggers.§ Non DML triggers (DDL & Database events).

Los triggers de tipo simple DML serán explicados a continuación.Los triggers de tipo simple DML son aquellos que se disparan cuando ocurre una operación DML y dependiendo del momento que deseemos que se dispare antes o después de la transacción o reemplazar la transacción por otro código.

Sintaxis:

CREATE OR REPLACE TRIGGER <NOMBRE_TRIGGER>INSTEAD OF|BEFORE|AFTERINSERT|DELETE|UPDATE OF <COLUMNAS>ON <TABLA>FOR EACH ROWWHEN <CONDICION>DECLAREBEGIN<CODIGO>END;

Respecto a FOR EACH ROW, significa que el trigger se disparará por cada fila que esté siendo afectado por la transacción. Para este ejemplo Cree las siguientes tablas con la siguiente estructura:

Autores = ID: numérico (PK)Nombre: carácter (50)Apellidos: carácter (50)

Page 55: manual Oracle 11g.docx

Libros = ISBN: carácter (10) (PK)Género: carácter (20)Título: carácter (100)Páginas: numéricoPrecio: numéricoCopyright: numérico (4)Autor1: numérico (FK autores)Autor2: numérico (FK autores)Autor3: numérico (FK autores)

Estadisticas = Genero: carácter (20)Total_Libros: numéricoPrecio_Medio: numéricoVerificamos la creación de las tablas con la sentencia describe

El tigger a implementar será:

Page 56: manual Oracle 11g.docx

Una vez ejecutado el bloque de sentencias del tigger este aparecerá en la carpeta disparadores en el lado izquierdo de la ventana.

COMO ADMINISTRAR LAS SEGURIDADES A LA BASE

Oracle pone al alcance del DBA varios niveles de seguridad:

Seguridad de cuentas para la validación de usuarios. Seguridad en el acceso a los objetos de la base de datos. Seguridad a nivel de sistema para la gestión de privilegios globales.

Seguridad de Cuentas

Para acceder a los datos en una BD Oracle, se debe tener acceso a una cuenta en esa BD. Cada cuenta debe tener una palabra clave o password asociada. Una cuenta en una BD puede estár ligada con una cuenta de sistema operativo. Los passwords son fijados cuando se crea un usuario y pueden ser alterados por el DBA o por el usuario mismo. La BD almacena una versión encriptada del password en una tabla del diccionario llamada dba_users. Si la cuenta en la BD está asociada a una cuenta del sistema operativo puede evitarse la comprobación del password, dándose por válida la comprobación de la identidad del usuario realizada por el SO.

Seguridad de Objetos

El acceso a los objetos de la BD se realiza via privilegios. Estos permiten que determinados comandos sean utilizados contra determinados objetos de la BD. Esto

Page 57: manual Oracle 11g.docx

se especifica con el comando GRANT, conceder. Los privilegios se pueden agrupar formando lo que se conoce por roles. La utilización de los roles simplifica la administración de los privilegios cuando tenemos muchos usuarios. Los roles pueden ser protegidos con passwords, y pueden activarse y desactivarse dinámicamente, con lo que constituyen una capa más de seguridad en el sistema.

Roles del Sistema

Los roles se pueden utilizar para gestionar los comandos de sistema disponibles para los usuarios. Estos incluyen comandos como CREATE TABLE o SELECT ANY TABLE. Todos los usuarios que quieran acceder a la BD deben tener el rol CONNECT; aquellos que necesiten crear segmentos necesitaran el rol RESOURCE. Un usuario con el rol DBA tiene derecho para ver y manejar todos los datos de la BD. En Oracle CONNECT, RESOURCE y DBA son roles de sistema. Las acciones contra cada tipo de objeto son autorizadas por privilegios separados. Así, un usuario puede tener concedido el privilegio CREATE TABLE, pero no el ALTER TABLE.

Creando Usuarios y Roles Cada usuario que se conecta a nuestra base de datos debe contar con un

usuario con fines de auditoría. Un esquema es un usuario más sus objetos. Existen 3 modos de autentificar a un usuario y son: Password authentication

(El password se almacena en el data dictionary), external authentication (Confía en el sistema operativo su autentificación) y global authentication (La autentificación se hace por mecanismos de seguridad avanzada como kerberos, radius, biometrica y certificados X.509).

Cada usuario tiene asignado por default un tablespace donde almacenará sus objetos, a un tablespace temporal y a un profile (Sirve para limitar recursos al usuario y para asignarle políticas de password).

Creando un usuario con autentificación de base de datos:

create user nombre identified by password;

Creando un usuario con autentificación por sistema operativo:Previamente validar el parámetro: os_authent_prefix

create user ops$nombre identified externally;

Donde nombre es un usuario de sistema operativo.

Desbloqueando / Bloqueando un usuario:

alter user usuario account unlock;alter user usuario account lock;

Expirando un password:

alter user usuario password expire;

Configurando quotas sobre tablespaces:

alter user xx identified by xx quota 100M | unlimited on USERS

Eliminación de Usuarios

Page 58: manual Oracle 11g.docx

Los usuarios pueden ser eliminados de la BD utilizando el comando DROP USER. Este comando tiene un único parámetro, CASCADE, el cual permite borrar todos los objetos del usuario antes de eliminar el usuario.

A continuación un ejemplo en el que eliminamos al usuario Pérez:

SVRMGR> drop user perez cascade;

Si a continuación se crea otro usuario con el mismo nombre no hereda los objetos del anterior usuario con ese nombre. La razón estriba en que Oracle asigna a cada cuenta un número además del nombre, y utiliza ese número para determinar el propietario de todos los objetos que crea esa cuenta, y no utiliza el nombre sino para la comunicación con los usuarios. De este modo al crear un nuevo usuario, aunque sea con el mismo nombre, no puede heredar los objetos que antes eran de otro usuario con el mismo nombre.

Privilegios del Sistema

Los roles de sistema se utilizan para distribuir la disponibilidad de los comandos del sistema utilizados para gestionar la BD. Los privilegios más comunes están en la siguiente tabla. En ella se distinguen entre privilegios de manejo de objetos y de gestión de la BD. La palabra clave ANY significa que ese usuario tiene el privilegio para todos los esquemas en la BD. Hay que hacer notar que ANY y PUBLIC no son sinónimos.

Privilegio Capacidades

Manejo de Objetos

...

CREATE ANY INDEX

Crear cualquier índice.

CREATE [PUBLIC] SYNONYM

Crear sinónimos [públicos].

CREATE [ANY] TABLE

Crear tablas. El usuario debe tener cuota en el espacio de tablas, o ha de tener asignado el privilegio UNLIMITED TABLESPACE.

CREATE [ANY] VIEW

Crear vistas.

Page 59: manual Oracle 11g.docx

ALTER ANY INDEX Alterar cualquier índice.

ALTER ANY TABLE Alterar cualquier tabla

DROP ANY INDEX Borrar cualquier índice.

DROP ANY SYNONYM

Borrar cualquier sinónimo.

DROP PUBLIC SYNONYM

Borrar sinónimos públicos.

DROP ANY VIEW Borrar cualquier vista.

DROP ANY TABLE Borrar cualquier tabla.

SELECT ANY TABLE

Efectuar selecciones de cualquier tabla o vista.

INSERT ANY TABLE

Insertar en cualquier tabla o vista.

DELETE ANY TABLE

Borrar filas de cualquier tabla o vista, y también truncar.

ALTER SESSION Alterar los parámetros de la sesión.

CREATE SESSION Conectarse a la BD.

Gestión de la BD

...

CREATE PROFILE Crear perfiles de usuario.

CREATE ROLE Crear roles.

CREATE ROLLBACK SEGMENT

Creación de segmentos de rollback.

CREATE TABLESPACE

Crear espacios de tablas.

CREATE USER Crear usuarios.

ALTER PROFILE Alterar perfiles existentes.

ALTER ANY ROLE Alterar cualquier rol.

ALTER ROLLBACK SEGMENT

Alterar segmentos de rollback.

ALTER TABLESPACE

Alterar espacios de tablas.

ALTER USER Alterar usuarios.

DROP PROFILE Borrar un perfil existente.

DROP ANY ROLE Borrar cualquier rol.

DROP ROLLBACK SEGMENT

Borrar un segmento de rollback existente.

DROP TABLESPACE

Borrar un espacio de tablas.

DROP USER Borrar un usuario. Añadir CASCADE si el usuario posee objetos.

ALTER DATABASE Permite una sentencia ALTER DATABASE.

GRANT ANY PRIVILEGE

Otorgar cualquiera de estos privilegios.

GRANT ANY ROLE Otorgar cualquier rol a un usario.

UNLIMITED TABLESPACE

Puede usar una cantidad de almacenamiento ilimitada.

Page 60: manual Oracle 11g.docx

DROP PROFILE Borrar un perfil existente.

Los privilegios se pueden agrupar en roles, para así satisfacer a distintos tipos de usuarios. En la instalación se crea un rol llamado OSOPER que sirve para los operarios de la máquina donde está la BD y permite realizar copias de seguridad en frio y en caliente. Los privilegios de OSOPER son STARTUP, SHUTDOWN, ALTER DATABASE OPEN/MOUNT, ALTER DATABASE BACKUP, ARCHIVE LOG, RECOVER y RESTRICTED SESSION.

Se pueden crear nuevos roles. Por ejemplo, podemos crear un rol llamado creadorCuentas que sólo pueda crear usuarios y no pueda realizar ninguna otra operación de DBA. Las sentencias que permiten hacer esto son las siguientes:

SVRMGR> create role creadorCuentas;Statement processed.SVRMGR> grant create session, create user to creadorCuentas;Statement processed.

Oracle incluye otros tres roles de sistema: CONNECT, RESOURCE y DBA, cuyos privilegios son:

Rol Privilegios

CONNECT alter session, create session, create cluster, create table, create view, create synonym, create sequence, create database link

RESOURCE

create cluster, create table, create procedure, create sequence, create trigger

DBA todos los privilegios de sistema con la opcion with admin option

Gestionando Privilegios

Los privilegios dan acceso a los usuarios a los datos que no poseen. Los roles con grupos de privilegios que facilitan la administración de los privilegios. Pero los privilegios se pueden manejar de manera explícita en algunas circunstancias.

Los privilegios se crean via el comando GRANT y son registrados en el diccionario de datos.

Los privilegios que pueden otorgarse sobre objetos son los siguientes:

Privilegio Capacidades Otorgadas

SELECT Puede consultar a un objeto.

INSERTPuede insertar filas en una tabla o vista. Puede especificarse las columnas donde se permite insertar dentro de la tabla o vista.

Page 61: manual Oracle 11g.docx

UPDATEPuede actualizar filas en una tabla o vista. Puede especificarse las columnas donde se permite actualizar dentro de la tabla o vista.

DELETE Puede borrar filas dentro de la tabla o vista.

ALTER Puede alterar la tabla.

INDEX Puede crear índices de una tabla.

REFERENCES

Puede crear claves ajenas que referencie a esta tabla.

EXECUTE Puede ejecutar un procedimieto, paquete o función.

Haciendo un privilegio PUBLIC lo hace disponible a todos los usuarios de la BD.

Aunque los privilegios se puedan otorgar individualmente, no resulta razonable basar la gestión de los privilegios en su asignación individual. La gestión de los privilegios se facilita con la utilización de los roles. A continuación se puede ver como se crean dos roles, el ALUMNOS que permite establecer una sesión, y el rol INSERTA_PEREZ que permite insertar y seleccionar en la tabla emp de perez:

SVRMGR> create role alumnos;Statement processed.SVRMGR> grant create session to alumnos;Statement processed.SVRMGR> create role inserta_perez;Statement processed.SVRMGR> grant select, insert on perez.emp to inserta_perez;Statement processed.

Se pueden asignar roles a roles:

SVRMGR> grant usuarios to inserta_perez;

Los roles pueden asignarse a los usuarios. Así, podemos asignar el rol INSERTA_PEREZ al usuario alu20:

SVRMGR> grant inserta_perez to alu20;

Los roles se pueden denegar con el comando REVOKE.

Auditoría de Seguridad

El SGBD Oracle tiene la capacidad de auditar todas las acciones que tienen lugar en la BD. Se pueden auditar tres tipos de acciones:

intentos de entrada en cuentas de la BD. accesos a los objetos de la BD. acciones sobre la BD.

La BD registra todos los intentos de acción, tanto los exitosos como los infructuosos, aunque es un parámetro configurable.

Page 62: manual Oracle 11g.docx

Para habilitar la capacidad de auditoría, se debe fijar el parámetro AUDIT_TRAIL en el fichero init.ora. Los registros de auditoría se almacenan en la tabla SYS.AUD$ o bien su gestión se deja al SO. Cuando se decide utilizar la tabla SYS.AUD$ esta debe revisarse periódicamente, por si hiciera falta truncarla debido a que su aumento de tamaño puede causar problemas de espacio en el tablespace SYSTEM. Los valores del parámetro AUDIT_TRAIL son los que se exponen en la siguiente tabla:

Valor Descripción

NONE Deshabilita la auditoría

BD Habilita la auditoría, escribiendo en la tabla SYS.AUD$.

OS Habilita la auditoría, dejando al SO su gestión.

ALGÚN APORTE PERSONAL QUE CREYERE IMPORTANTE.

Que es un Data WareHouse?

Es un repositorio de datos de muy fácil acceso, alimentado de numerosas fuentes, transformadas en grupos de información sobre temas específicos de negocios, para permitir nuevas consultas, análisis, reporteador y decisiones.

Que es lo que le preocupa a los ejecutivos?

Se tienen montañas de datos en la compañía, pero no podemos llegar a ellos adecuadamente. Nada enloquece más a los ejecutivos que dos personas presentando el mismo resultado de operación pero con diferentes números y los ejecutivos lo que buscan es ver la información pero desde diferentes ángulos, mostrando únicamente lo que es importante para tomar una decisión en la empresa, finalmente los ejecutivos saben que hay datos que nunca serán confiables, por lo que prefieren que se eviten en los reportes ejecutivos.

Uno de los valores más importantes de una organización es la información.

Estos valores normalmente son guardados por la organización de dos formas:

Los sistemas operacionales de registros Y el Data Warehouse

Crudamente hablando, los sistema operacionales de registros es donde los datos son depositados y el Data WareHouse es de donde se extraen eso datos.

Oracle Warehouse BuilderPara cumplir con estos requerimientos de negocio, Oracle Database 11g incluye una herramienta líder para la integración de datos, Oracle Warehouse Builder (OWB). Las características principales de OWB se incluyen como característica de base de datos sin costo, y OWB tiene adicionalmente tres opciones para requerimientos de integración específicos:

• Producto Base: El producto base está diseñado para permitir que cualquier cliente Oracle cree un data mart o data warehouse con eficiencia, de cualquier tamaño o complejidad. Incluye un repositorio de metadatos de múltiples usuarios y listo para empresas, capacidades para el modelado de datos y una amplia variedad de

Page 63: manual Oracle 11g.docx

técnicas de transformación y extracción, y el desempeño y la escalabilidad de una arquitectura ‘ELT’.

• Opción Enterprise ETL: Esta opción está específicamente diseñada para aumentar el desempeño y la productividad, e incluye las siguientes características:• Opciones avanzadas para la carga de datos

• Productividad del desarrollador mediante componentes reutilizables

• Administración de dimensiones lentamente cambiantes

• Análisis de impacto y linaje completo de datos