Está en la página 1de 47

INDICE

1. INTRODUCCION A LA BASE DE DATOS........................................................... 6 BASE DE DATOS ................................................................................................ 6 COMPONENTES DE UNA BASE DE DATOS ..................................... 6 TIPOS DE BASES DE DATOS. ............................................................... 7 FUNCIONES DE LAS BASES DE DATOS. ......................................... 7 AUDITORIA EN BASES DE DATOS ..................................................... 7

1.1.

1.1.1. 1.1.2. 1.1.3. 1.1.4. 1.2.

BASE DE DATOS ORACLE ............................................................................. 8 ESTRUCTURAS DE ORACLE ................................................................. 9

1.2.1. 1.3. 2.

TIPOS DE DATOS EN ORACLE..................................................................... 9

PROGRAMACIN CON PL/SQL .......................................................................... 11 INTRODUCCION ............................................................................................... 11 TIPOS DE OBJETOS EN ORACLE ............................................................. 11 IDENTIFICADORES ................................................................................. 12 TIPOS DE OPERADORES ...................................................................... 12

2.1. 2.2.

2.2.1. 2.2.2. 2.3. 2.4. 3.

PROCEDIMIENTOS ALMACENADOS........................................................ 12 TRIGGERS .......................................................................................................... 13

DESARROLLO............................................................................................................ 15 SERVICIOS DE ORACLE. .............................................................................. 15 CREACIN DE USUARIO EN ORACLE10G............................................ 15 MODELO DE LA BASE DE DATOS. ........................................................... 17

3.1. 3.2. 3.3.

3.4. CREACIN DE SECUENCIAS, DISPARADORES Y PROCEDIMIENTOS ALMACENADOS EN ORACLE SQLDEVELOPER. ........ 20 3.5. DEMOSTRACIN .............................................................................................. 24 INSERTAR UN REGISTRO EN LA TABLA CLIENTE. ................. 24 ACTUALIZAR UN REGISTRO EN LA TABLA CLIENTE. ............ 25 ELIMINAR UN REGISTRO EN LA TABLA CLIENTE ................... 25

3.5.1. 3.5.2. 3.5.3. 4. 5. 6.

CONCLUSIONES ....................................................................................................... 27 BIBLIOGRAFA .......................................................................................................... 28 ANEXOS ....................................................................................................................... 29

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

INDICE DE GRAFICOS
Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin Ilustracin 1.- Partes principales de una Base de Datos ...................................6 2.- Componentes Principales de Una base de Datos. ...................8 3.- Levantar Servicios de Oracle10g ............................................... 15 4.- Nuevo Usuario.................................................................................. 16 5.-Privilegios del Sistema ................................................................... 16 6.-Roles del Sistema ............................................................................ 16 7.-Modelo de Base de Datos ............................................................... 18 8.- Iniciar Sesin................................................................................... 19 9.- Cargar el script en el Isqlplus. .................................................... 19 10.- Usuario Objetos Creados ............................................................ 20 11.- Oracle Sqldeveloper ..................................................................... 20 12.- Conexin a oracle ........................................................................ 21 13.- Secuencia del IDUSER ................................................................ 21 14.- Secuencia ID .................................................................................. 22 15.- Trigger LOGOFF............................................................................ 22 16.- Trigger LOGON .............................................................................. 23 17.- Procedimiento Validar ................................................................ 24 18.- Procedimiento Guardar .............................................................. 24

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

CREACION DE TABLAS MEDIANTE LA UTILIZACION DE SENTENCIAS SQL Y AUDITORIA EN LA BASE DE DATOS ORACLE 10G.

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

OBJETIVOS

OBJETIVO GENERAL Conocer la funcionalidad de la Base de datos Oracle, a travs del diseo de tablas y sentencias SQL, que permitan ingresar datos y realizar una auditora para salvaguardar la informacin registrada.

OBJETIVOS ESPECFICOS Conocer el uso esencial de la base de datos Oracle 10g y sentencias SQL. Aplicar distintos objetos que permitan insertar datos en las tablas. Auditar el inicio y cierre de sesin del usuario, automticamente las irregularidades detectadas. reportando

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

INTRODUCCIN
La mayora de Organizaciones que almacenan su informacin en bases de datos no disponen de herramientas de software que les proporcionen la posibilidad de detectar si se han realizado accesos autorizados pero no adecuados a sus datos. La necesidad de manejar gran cantidad de informacin de una manera rpida y segura ha obligado a recurrir a soluciones informticas, muy necesarias. Los sistemas implementados con Bases de Datos Oracle disponen de diversas herramientas que permiten el manejo eficaz de los datos importantes de una empresa y gestionar toda la entrada, salida, proteccin y elaboracin de la informacin que almacena, asegurando el desempeo y competitividad de los datos. Una Base de datos Oracle incluye mejoras de rendimiento y de utilizacin de recursos, independientemente de que se necesite dar soporte a decenas de miles de usuarios. Proporcionando mejores resultados al automatizar las tareas administrativas, ofreciendo seguridad y disponibilidad. Con Oracle Database 10g, la primera Base de Datos Relacional, su informacin se consolida de manera segura y est siempre disponible. Como sabemos Oracle es una potente herramienta cliente/servidor para la gestin de Bases de Datos. En el siguiente informe se desarrollara el diseo de tablas mediante la conexin a una base de datos Oracle 10g, el cual permitir ingresar, actualizar y modificar datos a travs de la utilizacin de sentencias SQL como Procedimientos almacenados y Triggers, y as mismo dar seguridad a la informacin registrada.

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

CAPITULO I
1. INTRODUCCION A LA BASE DE DATOS 1.1. BASE DE DATOS Una base de datos es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible. Diferentes programas y diferentes usuarios deben poder utilizar estos datos. De all el trmino base. "Sistema de informacin" es el trmino general utilizado para la estructura global que incluye todos los mecanismos para compartir datos que se han instalado.

Ilustracin 1.- Partes principales de una Base de Datos

Una base de datos proporciona a los usuarios el acceso a datos, que pueden visualizar, ingresar o actualizar, en concordancia con los derechos de acceso que se les hayan otorgado. Se convierte ms til a medida que la cantidad de datos almacenados crece. Una base de datos puede ser local, es decir que puede utilizarla slo un usuario en un equipo, o puede ser distribuida, es decir que la informacin se almacena en equipos remotos y se puede acceder a ella a travs de una red. (Kioskea, 2008) 1.1.1. COMPONENTES DE UNA BASE DE DATOS Una base de datos consta de varios componentes: Motor: Programa ejecutable que debe estar en memoria para manejar la base de datos. Cuando este programa est ejecutndose se dice que la base de datos est levantada (startup), en caso contrario se dice que la base de datos est bajada (shutdown).

AUDITORIA EN BASE DE DATOS ORACLE 10G. -

2011

Servicio de red: Programa que se encarga de establecer las conexiones y transmitir datos entre cliente y servidor o entre servidores. Listener (escuchador): Es un programa residente en memoria que se encarga de recibir las llamadas que llegan a la base de datos desde la red, y de pasrselas a esta. Una base de datos que no tenga un listener cargado, no podr recibir llamadas remotas. (Wikilearning, 2009)

1.1.2. TIPOS DE BASES DE DATOS. Una base de datos es un programa residente en memoria, que se encarga de gestionar todo el tratamiento de entrada, salida, proteccin y elaboracin de la informacin que almacena. Desde el punto de vista de la organizacin lgica se compone de: Jerrquicas. (Progress) Relacionales. (Oracle, Access, Sybase)

Desde el punto de vista de la arquitectura y el nmero de usuarios: De escritorio (dBase, Access, Paradox) Cliente/servidor (Oracle, Sybase) (Wikilearning, 2009) 1.1.3. FUNCIONES DE LAS BASES DE DATOS. Permitir la introduccin de datos por parte de los usuarios (o programadores). Salida de datos. Almacenamiento de datos. Proteccin de datos (seguridad e integridad). Elaboracin de datos.

Bsicamente, la comunicacin del usuario-programador con la base de datos se hace a travs de un lenguaje denominado SQL: Structured Query Laguage (Lenguaje estructurado de consultas). (Wikilearning, 2009) 1.1.4. AUDITORIA EN BASES DE DATOS Es el proceso que permite medir, asegurar, demostrar, monitorear y registrar los accesos a la informacin almacenada en las bases de datos incluyendo la capacidad de determinar:

AUDITORIA EN BASE DE DATOS ORACLE 10G. Quin accede a los datos Cundo se accedi a los datos. Desde qu tipo de dispositivo/aplicacin. Desde qu ubicacin en la red. Cul fue la sentencia SQL ejecutada. Cul fue el efecto del acceso a la base de datos.

2011

La optimizacin de la base de datos, como ya hemos sealado, es fundamental, puesto que se acta en un entorno concurrente puede degradarse fcilmente el nivel de servicio que haya podido establecerse con los usuarios. 1.2. BASE DE DATOS ORACLE Oracle es una base de datos relacional para entornos cliente/servidor, es decir, que aplica las normas del lgebra relacional (conjuntos, uniones, intersecciones) y que utiliza la arquitectura cliente/servidor, donde en un lado de la red est el servidor con los datos y en el otro lado estn los clientes que interrogan al servidor. Una base de datos Oracle es utilizada con el fin de almacenar y recuperar la informacin relacionada, consta de una estructura lgica, fsica.

Ilustracin 2.- Componentes Principales de Una base de Datos. Posee tres tipos de archivos: Los archivos de datos que contienen los datos reales de la base de datos. Los archivos redo log que contienen un registro de los cambios efectuados en la base de datos para activar la recuperacin de los datos en caso de fallos. Los archivos de control que contienen la informacin necesaria para mantener y verificar la integridad de la base de datos.

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

Las bases de datos Oracle ofrecen un extenso conjunto de funciones estndar SQL y PL/SQL para manipular nmeros y realizar conversiones entre nmeros y cadenas de caracteres. (slideshare, 2011) 1.2.1. ESTRUCTURAS DE ORACLE Una BD Oracle tiene una estructura fsica y una estructura lgica: La estructura fsica se corresponde a los ficheros del sistema operativo. La estructura lgica est formada por los tablespace y los objetos de un esquema de BD. ESTRUCTURA LGICA

1.2.1.1.

Se divide en unidades de almacenamiento lgicas: Tablespaces. 1.2.1.2. Cada BD estar formada por uno o ms tablespaces. Cada tablespace se corresponde con uno o ms ficheros de datos. Objetos: tablas, vistas, ndices asociados a una tabla, clster. ESTRUCTURA FSICA

Una B.D. tiene uno o ms ficheros de datos. Estos ficheros son de tamao fijo y se Establecen en el momento en que se crea la base de datos o en el momento en el que se crean tablespaces. Los datos del fichero de datos son ledos cuando se necesitan y situados en una cach de memoria compartida para que el prximo acceso a los mismos sea ms rpido. (iessanvicente, 2011) 1.3. TIPOS DE DATOS EN ORACLE Es importante la declaracin de tipos de datos a utilizar, ya que a la hora de crear una tabla en una base de datos, debemos resolver qu campos (columnas) tendr y que tipo de datos almacenar cada uno de ellos, es decir, su estructura. El tipo de dato especifica el tipo de informacin que puede guardar un campo: caracteres, nmeros, etc. En SQL tenemos bastantes sentencias que se pueden utilizar para realizar diversas tareas. CHAR - Tienen una longitud fija. - Almacena de 1 a 255. - Si se introduce una cadena de menos longitud que la definida se rellenara con blancos a la derecha hasta quedar completada.

AUDITORIA EN BASE DE DATOS ORACLE 10G. -

2011

Si se introduce una cadena de mayor longitud que la fijada nos dar un error.

VARCHAR - Almacena cadenas de longitud variable. - La longitud mxima es de 2000 caracteres. - Si se introduce una cadena de menor longitud que la que est definida, se almacena con esa longitud y no se rellenara con blancos ni con ningn otro carcter a la derecha hasta completar la longitud definida. - Si se introduce una cadena de mayor longitud que la fijada, nos dar un error. NUMBER - Se almacenan tanto enteros como decimales. - Number (precisin, escala). LONG - No almacena nmeros de gran tamao, sino cadenas de caracteres de hasta 2 GB DATE - Almacena la fecha. - Se almacena de la siguiente forma: Siglo/Ao/Mes/Da/Hora/Minutos/Segundos RAW -

Almacena cadenas de Bytes (grficos, sonidos)

LONGRAW - Como el anterior pero con mayor capacidad. ROWID - Posicin interna de cada una de las columnas de las tablas. - Sentencias de consultas de datos.

Un tipo de dato define una estructura y un comportamiento comn para un conjunto de datos de las aplicaciones. Los usuarios de Oracle pueden definir sus propios tipos de datos mediante dos categoras: tipos de objetos (object type) y tipos para colecciones (collection type). Para construir los tipos de usuario se utilizan los tipos bsicos provistos por el sistema y otros tipos de usuario previamente definidos. (SQL con ORACLE, 2005)

10

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

CAPITULO II
2. PROGRAMACIN CON PL/SQL 2.1. INTRODUCCION SQL es un lenguaje de consulta para los sistemas de bases de datos relacinales, pero que no posee la potencia de los lenguajes de programacin. No permite el uso de variables, estructuras de control de flujo, bucles, y dems elementos caractersticos de la programacin. No es de extraar, SQL es un lenguaje de consulta, no un lenguaje de programacin. Sin embargo, SQL es la herramienta ideal para trabajar con bases de datos. Cuando se desea realizar una aplicacin completa para el manejo de una base de datos relacional, resulta necesario utilizar alguna herramienta que soporte la capacidad de consulta del SQL y la versatilidad de los lenguajes de programacin tradicionales. PL/SQL es el lenguaje de programacin que proporciona Oracle para extender el SQL estndar con otro tipo de instrucciones y elementos propios de los lenguajes de programacin. Con PL/SQL se puede programar las unidades de programa de la base de datos ORACLE, ests son: - Procedimientos almacenados - Funciones - Trigger - Scripts

2.2. TIPOS DE OBJETOS EN ORACLE El trmino Base de Datos Objeto Relacional (BDOR) utilizado por Oracle, se usa para describir una base de datos que ha evolucionado desde el modelo relacional hacia otra ms amplia que incorpora conceptos del paradigma orientado a objetos. Un tipo de objeto representa una entidad del mundo real y se compone de los siguientes elementos: Su nombre que sirve para identificar el tipo de los objetos. Sus atributos que modelan la estructura y los valores de los datos de ese tipo. Cada atributo puede ser de un tipo de datos bsico o de un tipo de usuario. Sus mtodos (procedimientos o funciones) escritos en lenguaje PL/SQL (almacenados en la BDOR), o escritos en C (almacenados externamente). (Base de Datos ORACLE PL-SQL)

11

AUDITORIA EN BASE DE DATOS ORACLE 10G. 2.2.1. IDENTIFICADORES

2011

Un identificador es un nombre que se le pone a un objeto que interviene en un programa, que puede ser variable, constante, procedimientos, excepciones, cursores. Debe tener un mximo de 30 caracteres que empiece siempre por una letra, y puede contener letras, nmeros, smbolos, maysculas y minsculas indiferentemente. Los identificadores no pueden ser palabras reservadas (SELECT, INSERT, DELETE, UPDATE, DROP). (Programacion PL-SQL , 2011) 2.2.2. TIPOS DE OPERADORES Operador de asignacin: := (dos puntos + igual) Operadores aritmticos: / (divisin) + (suma) - (resta) Operadores relacionales o de comparacin: = (igual a) <>, != (distinto de) < (menor que) > (mayor que) >= (mayor o igual a) <= (menor o igual a) Operador de concatenacin:

||
Comentarios: /* comentario de dos o ms lneas */ -- comentario de una lnea

2.3. PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que pueden ser llamados usando el nombre que se le haya asignado. Los procedimientos tienen la utilidad de fomentar la reutilizacin de programas que se usan comnmente. Una vez compilado, queda almacenado en la base de datos (por eso es tambin llamado 'Procedimiento almacenado') y puede ser utilizado por mltiples aplicaciones. La sintaxis es la siguiente: CREATE [OR REPLACE] PROCEDURE nombre_procedimiento [nombre_parametro modo tipodatos_parametro ] IS | AS Bloque de cdigo

12

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

Donde "modo" puede contener los valores IN, OUT, IN OUT. Por defecto tiene el valor IN si no se pone nada. Con lo que al llamar al procedimiento se le dar un valor que luego podr ser modificado por el procedimiento y devolver este nuevo valor.

IN indica que el parmetro es de entrada y no se podr modificar. OUT indica que el parmetro es de salida con lo que el procedimiento devolver un valor en l. IN OUT indica que el parmetro es de entrada/salida.

Tipodatos_parametro, en cambio nos indica el tipo de datos que tendr el parmetro segn lo indicado en Tipos de datos Oracle/PLSQL. Para borrar un procedimiento almacenado de la base de datos: DROP PROCEDURE nombre_procedimiento

Para utilizar un procedimiento almacenado de la base de datos simplemente se lo llama desde un bloque annimo (desde la lnea de comandos), previamente habiendo inicializado el/los parmetro/s en caso que existan. DECLARE nombre_parametro tipodatos_parametro; BEGIN nombre_parametro tipodatos_parametro:= valor_de_inicializacion; nombre_procedimiento (nombre_parametro => nombre_parametro); END; (Programacion PL-SQL, 2011)

2.4. TRIGGERS Un trigger o disparador se ejecuta ante un determinado evento de manera automtica. Generalmente se utilizan para garantizar que una determinada accin siempre se realiza despus de realizar una tarea determinada. Se debe tener cuidado con este tipo de estructuras puesto que un uso excesivo puede dar lugar a dependencias difciles de mantener. Adems se deben tener muy claros las restricciones de integridad para evitar problemas. Los trigger permiten: Realizar comprobaciones a objeto de mantener la integridad de la base de datos. Registro de las operaciones realizadas. Operaciones de insercin, modificacin o borrado de registros en paralelo a una operacin.

13

AUDITORIA EN BASE DE DATOS ORACLE 10G. A nivel de sentencia: -

2011

CREATE [OR REPLACE] TRIGGER nombre_trigger momento_ejecucin evento [evento] ON nombre_tabla bloque PLSQL;

A nivel de registro CREATE [OR REPLACE] TRIGGER nombre_trigger momento_ejecucin evento [evento] ON nombre_tabla

Donde "momento_ejecucin" indica cuando se ejecuta el trigger automticamente, puede contener los valores BEFORE o AFTER. "evento" indica la operacin que provoca la ejecucin de este bloque, puede contener los valores INSERT, UPDATE o DELETE. [REFERENCING OLD AS old | NEW AS new] FOR EACH ROW

"old" indica el nombre que se le da al registro con los valores antiguos que se tenan antes de la ejecucin de la operacin que activ el trigger. Mientras que "new" indica el valor que tiene actualmente despus de dicha operacin. La clusula "FOR EACH ROW" indica que el trigger es a nivel de registro. [WHEN condicin] Bloque PLSQL;

Con la clusula "WHEN" se puede indicar una restriccin que haga que el trigger se ejecute o no. Por ejemplo se puede indicar que el trigger se ejecute solo si el campo "campo1" de la tabla tiene un valor mayor que 50. Para eliminar un trigger: DROP TRIGGER nombre_trigger

(Programacion PL-SQL, 2011)

14

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

CAPITULO III
3. DESARROLLO 3.1. SERVICIOS DE ORACLE. Como primer punto levantamos los servicios del servidor de base de datos Oracle 10g, para luego conectarnos de forma remota a dicho servidor.

Ilustracin 3.- Levantar Servicios de Oracle10g 3.2. CREACIN DE USUARIO EN ORACLE10G. Crearemos un nuevo usuario en Oracle10g para guardar nuestras tablas y crear los diferentes objetos que necesitamos para la auditoria de dicho esquema.

15

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

Ilustracin 4.- Nuevo Usuario Le daremos los respectivos privilegios y roles para poder crear los objetos de la base de datos

Ilustracin 5.-Privilegios del Sistema

Ilustracin 6.-Roles del Sistema

16

AUDITORIA EN BASE DE DATOS ORACLE 10G. 3.3. MODELO DE LA BASE DE DATOS.

2011

El modelo de la base de datos lo hemos creado con la aplicacin Toad Data Modeler 3.6, para luego generar el script del modelo y as ejecutarlo en el isqlplus del oracle10g obteniendo las tablas con sus respectivas Primary Key, Foreign Key y sus relaciones.

17

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

Ilustracin 7.-Modelo de Base de Datos

18

Ejecutamos el Script, que generamos en el Toad Data Modeler 3.6, en el isqlplus con el usuario creado anteriormente.

Ilustracin 8.- Iniciar Sesin

Ilustracin 9.- Cargar el script en el Isqlplus.

19

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

Ilustracin 10.- Usuario Objetos Creados 3.4. CREACIN DE SECUENCIAS, DISPARADORES Y PROCEDIMIENTOS ALMACENADOS EN ORACLE SQLDEVELOPER. Oracle SQL Developer es la herramienta grfica 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.

Ilustracin 11.- Oracle Sqldeveloper

20

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

En la siguiente ventana realizaremos la conexin a la base de datos, para ello agregaremos los campos necesarios para establecer la conexin.

Ilustracin 12.- Conexin a oracle Como primer punto en la creacin de los objetos, ejecutamos dos Secuencia, una para que en la tabla usuarios aumente de 1 en 1 el iduser y la otra en la tabla de auditora. (Ver Cdigo Anexo1).

Ilustracin 13.- Secuencia del IDUSER

21

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

Ilustracin 14.- Secuencia ID Crearemos un disparador para escribir un registro a una tabla de USUARIOS cada vez que un usuario inicia sesin y tambin cuando cierre sesin, los dems disparadores (Ver Cdigo Anexo2).

Ilustracin 15.- Trigger LOGOFF

22

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

Ilustracin 16.- Trigger LOGON Para crear un trigger para auditar cambios en una tabla, se debe crear una tabla en donde se va a guardar los cambios de las tablas. Lo primero que hay que hacer es crear la tabla auditoria, sobre la cual el trigger escribir el detalle de las transacciones realizadas, luego crearemos los procedimientos que utilizaremos:

CREATE TABLE "JVARGAS"."AUDITORIA" ( "ID" NUMBER(4,0),

"TABLA" VARCHAR2(40 BYTE), "CAMPO" VARCHAR2(40 BYTE), "VALORORIGINAL" VARCHAR2(40 BYTE), "VALORNUEVO" VARCHAR2(40 BYTE), "FECHA" VARCHAR2(40 BYTE), "USUARIOS" VARCHAR2(40 BYTE), "TIPO" VARCHAR2(30 BYTE) ) Los Procedimientos almacenados crearemos para validar cuando un campo es modificado por otro y a su vez para cuando el usuario inserta, actualiza y elimina un registro de cualquier tabla dicha informacin se guardara en la tabla AUDITORIA. (Ver Cdigo Anexo3).

23

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

Ilustracin 17.- Procedimiento Validar

Ilustracin 18.- Procedimiento Guardar 3.5. DEMOSTRACIN 3.5.1. INSERTAR UN REGISTRO EN LA TABLA CLIENTE. INSERT INTO "JVARGAS"."CLIENTES" (CEDULA, NOMBRE_CED, APELLIDO_CED, CIUDAD_CED, DIRECCION_CED) VALUES ('0758962315', 'JORGE ', 'RODRIGUEZ', 'MACHALA', '6 ESQUINAS')

24

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

Obsrvese que en la tabla de auditora se han creado un registro por cada campo del registro que se ha insertado en la tabla Cliente. El tipo de transaccin es de Insert y el campo Valor Original es nulo porque este es un nuevo registro. Hagamos una segunda prueba.

3.5.2. ACTUALIZAR UN REGISTRO EN LA TABLA CLIENTE. UPDATE "JVARGAS"."CLIENTES" SET NOMBRE_CED = 'JUAN PEDRO', APELLIDO_CED = 'PEREZ IBARRA', CIUDAD_CED = 'MACHALA' WHERE ROWID = 'AAAM1vAAEAAAAJvAAD' AND ORA_ROWSCN = '1393349'

Obsrvese que se ha ingresado 3 registros en la tabla de auditora, ya que se actualiz 3 campos de la tabla Cliente. El tipo de transaccin es U de Updated y los campos ValorOriginal y ValorNuevo si tienen datos reflejando el antes y el despus de la actualizacin.

3.5.3. ELIMINAR UN REGISTRO EN LA TABLA CLIENTE DELETE FROM "JVARGAS"."CLIENTES" WHERE ROWID = 'AAAM1vAAEAAAAJvAAD' AND ORA_ROWSCN = '1449634' and ( "CEDULA" is null or "CEDULA" is not null )

25

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

Aqu aparece un registro por cada campo del registro eliminado de la tabla Cliente. El tipo de transaccin es D de Deleted y el campo ValorNuevo es nulo porque el registro se ha borrado, solo registra el valor original.

26

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

4. CONCLUSIONES

Ofrecer seguridad en los datos es importante, por lo que se debe llevar una auditoria en la base de datos, que es donde se va almacenar toda la informacin ingresada por el usuario. Para poder hacer uso de todos los recursos que ofrece una base de datos en Oracle es importante establecer una auditora, y llevar un registro que contenga todos los lineamientos para el ingreso y acceso de un usuario, el buen manejo de trigger, y la correcta utilizacin de procedimientos almacenados. Oracle Database 10g ha evolucionado con el tiempo, aprovechando al mximo los servicios y caractersticas del sistema operativo en el que es instalado, por lo que nos permite mejorar el desempeo, la escalabilidad y la capacidad en el manejo del servidor de base de datos. Finalmente hemos concluido que Oracle Database 10g brinda flexibilidad para los usuarios que elijan trabajar con este gestor, sin sacrificar la facilidad de uso y la seguridad de la informacin.

27

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

5. BIBLIOGRAFA

http://es.kioskea.net/contents/bdd/bddintro.php3 http://www.slideshare.net/RMCA/administracion-de-base-de-datos-oracle http://www.wikilearning.com/curso_gratis/iniciacion_a_oracle/3861-3 introduccion_a_las_bases_de_datos/3861-2

http://www.wikilearning.com/curso_gratis/iniciacion_a_oracle http://www.slideshare.net/pajaro5/introduccin-a-base-de-datos-oracle6589981 http://www.iessanvicente.com/colaboraciones/oracle.pdf http://www.desarrolloweb.com/articulos/1869.php http://www.geocities.ws/cacuestaa/matdoc/misapu/triggers/index.html http://www.infor.uva.es/~chernan/Bases/Teoria/TySQL.pdf oasis.cisc-ug.org/.../QUINTO/Programacin%20con%20PL-SQL.doc http://sinbad.dit.upm.es/docencia/grado/curso0506/BDOR%20en%20Oracle.pdf

28

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

6. ANEXOS ANEXO 1 USUARIO SECUENCIA CREATE SEQUENCE "JVARGAS"."USU_AUDI_SECUENCIA" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 35 NOCACHE NOORDER NOCYCLE; AUDITORIA SECUENCIA CREATE SEQUENCE "JVARGAS"."ID_AUDITORIA_SECUENCIA" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 24 NOCACHE NOORDER NOCYCLE; ANEXO 2 TRIGGERS USUARIO create or replace TRIGGER USUARIOS_TRG BEFORE INSERT ON USUARIOS FOR EACH ROW BEGIN <<COLUMN_SEQUENCES>> BEGIN IF :NEW.IDUSER IS NULL THEN SELECT USU_AUDI_SECUENCIA.NEXTVAL INTO :NEW.IDUSER FROM DUAL; END IF; END COLUMN_SEQUENCES; END; TRIGGERS LOGOFF create or replace TRIGGER USER_LOGOFF_TRG BEFORE LOGOFF ON JVARGAS.SCHEMA declare n varchar2(20); BEGIN SELECT USU_AUDI_SECUENCIA.NEXTVAL INTO n FROM DUAL; INSERT INTO USUARIOS VALUES (n,(select user from dual),'Log OF',TO_CHAR(SYSDATE,'DD/MM/YYYY HH24:MI:SS')); END; TRIIGGERS LOGON

29

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

create or replace TRIGGER USER_AUDI_TRG AFTER LOGON ON JVARGAS.SCHEMA declare n varchar2(20); BEGIN SELECT USU_AUDI_SECUENCIA.NEXTVAL INTO n FROM DUAL; INSERT INTO USUARIOS VALUES (n,(select user from dual),'Log ON',TO_CHAR(SYSDATE,'DD/MM/YYYY HH24:MI:SS')); END; TRIGGERS PROVEEDORES create or replace TRIGGER PROVEEDORES_AUDI_DSP BEFORE INSERT OR DELETE OR UPDATE ON PROVEEDORES FOR EACH ROW BEGIN proc_validar('PROVEEDORES','RUC_PROV',:NEW."RUC_PROV",:OL D."RUC_PROV"); proc_validar('PROVEEDORES','NOMBRE_PROV',:NEW."NOMBRE_P ROV",:OLD."NOMBRE_PROV"); proc_validar('PROVEEDORES','DIR_PROV',:NEW."DIR_PROV",:OLD." DIR_PROV"); proc_validar('PROVEEDORES','TELF_PROV',:NEW."TELF_PROV",:OL D."TELF_PROV"); proc_validar('PROVEEDORES','COD_CIU_PROV',:NEW."COD_CIU_P ROV",:OLD."COD_CIU_PROV"); END; TRIGGERS INVENTARIO create or replace TRIGGER INVENTARIO_AUDI_DISP BEFORE INSERT OR DELETE OR UPDATE ON INVENTARIO FOR EACH ROW BEGIN proc_validar('INVENTARIO','COD_INV',:NEW."COD_INV",:OLD."COD _INV");

30

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

proc_validar('INVENTARIO','NOM_INV',:NEW."NOM_INV",:OLD."NOM _INV"); proc_validar('INVENTARIO','STOCK_INV',:NEW."STOCK_INV",:OLD." STOCK_INV"); proc_validar('INVENTARIO','PCOMPRA_INV',:NEW."PCOMPRA_INV",: OLD."PCOMPRA_INV"); proc_validar('INVENTARIO','GANANCIA',:NEW."GANANCIA",:OLD."G ANANCIA"); END; TRIGGERS FACTURA create or replace TRIGGER FACTURA_AUDI_DISP BEFORE INSERT OR DELETE OR UPDATE ON FACTURA FOR EACH ROW BEGIN proc_validar('FACTURA','NRO_FACT',:NEW."NRO_FACT",:OLD."NRO _FACT"); proc_validar('FACTURA','FECHA_FACT',:NEW."FECHA_FACT",:OLD." FECHA_FACT"); proc_validar('FACTURA','CED_CLI_FACT',:NEW."CED_CLI_FACT",:O LD."CED_CLI_FACT"); END; TRIGGERS COMPRA create or replace TRIGGER COMPRA_AUDI_DSP BEFORE INSERT OR DELETE OR UPDATE ON COMPRA FOR EACH ROW BEGIN proc_validar('COMPRA','NRO_COMP',:NEW."NRO_COMP",:OLD."NR O_COMP"); proc_validar('COMPRA','FECHA_COMP',:NEW."FECHA_COMP",:OLD ."FECHA_COMP");

31

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

proc_validar('COMPRA','REFERENCIA',:NEW."REFERENCIA",:OLD." REFERENCIA"); proc_validar('COMPRA','RUC_PROV_COMP',:NEW."RUC_PROV_COM P",:OLD."RUC_PROV_COMP"); END; TRIGGERS CLIENTE create or replace TRIGGER CLIE_AUDI_DISP BEFORE INSERT OR UPDATE OR DELETE ON CLIENTES FOR EACH ROW BEGIN proc_validar('CLIENTES','CEDULA',:NEW."CEDULA",:OLD."CEDULA "); proc_validar('CLIENTES','NOMBRE_CED',:NEW."NOMBRE_CED",:O LD."NOMBRE_CED"); proc_validar('CLIENTES','APELLIDO_CED',:NEW."APELLIDO_CED",: OLD."APELLIDO_CED"); proc_validar('CLIENTES','CIUDAD_CED',:NEW."CIUDAD_CED",:OLD ."CIUDAD_CED"); proc_validar('CLIENTES','DIRECCION_CED',:NEW."DIRECCION_CE D",:OLD."DIRECCION_CED"); END; TRIGGERS CIUDAD create or replace TRIGGER CIU_AUDI_DSP BEFORE INSERT OR DELETE OR UPDATE ON CIUDAD FOR EACH ROW BEGIN proc_validar('CIUDAD','COD_CIU',:NEW."COD_CIU",:OLD."COD_CIU "); proc_validar('CIUDAD','NOM_CIU',:NEW."NOM_CIU",:OLD."NOM_CI U"); END;

32

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

TRIGGERS IDAUDITORIA create or replace TRIGGER AUDITORIA_CLIE_TRG BEFORE INSERT ON AUDITORIA FOR EACH ROW BEGIN <<COLUMN_SEQUENCES>> BEGIN IF :NEW.ID IS NULL THEN SELECT ID_AUDITORIA_SECUENCIA.NEXTVAL INTO :NEW.ID FROM DUAL; END IF; END COLUMN_SEQUENCES; END; ANEXO 3

TABLA DE AUDITORIA DDL for Table AUDITORIA CREATE TABLE "JVARGAS"."AUDITORIA" ("ID" NUMBER(4,0), "TABLA" VARCHAR2(40 BYTE), "CAMPO" VARCHAR2(40 BYTE), "VALORORIGINAL" VARCHAR2(40 BYTE), "VALORNUEVO" VARCHAR2(40 BYTE), "FECHA" VARCHAR2(40 BYTE), "USUARIOS" VARCHAR2(40 BYTE), "TIPO" VARCHAR2(30 BYTE) ) TABLESPACE "USERS" ;

TABLA CIUDAD DDL for Table CIUDAD CREATE TABLE "JVARGAS"."CIUDAD" ("COD_CIU" NUMBER(4,0), "NOM_CIU" VARCHAR2(50 BYTE) ) TABLESPACE "USERS" ;

TABLA CLIENTES DDL for Table CLIENTES CREATE TABLE "JVARGAS"."CLIENTES" ("CEDULA" NUMBER(10,0),

33

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

"NOMBRE_CED" VARCHAR2(40 BYTE), "APELLIDO_CED" VARCHAR2(40 BYTE), "CIUDAD_CED" VARCHAR2(30 BYTE), "DIRECCION_CED" VARCHAR2(40 BYTE) ) TABLESPACE "USERS" ; TABLA PROVEEDORES DDL for Table PROVEEDORES CREATE TABLE "JVARGAS"."PROVEEDORES" ("RUC_PROV" NUMBER(13,0), "NOMBRE_PROV" VARCHAR2(100 BYTE), "DIR_PROV" VARCHAR2(50 BYTE), "TELF_PROV" VARCHAR2(30 BYTE), "COD_CIU_PROV" NUMBER(4,0) ) TABLESPACE "USERS" ; TABLA COMPRA DDL for Table COMPRA CREATE TABLE "JVARGAS"."COMPRA" ("NRO_COMP" NUMBER(4,0), "FECHA_COMP" VARCHAR2(40 BYTE), "REFERENCIA" VARCHAR2(40 BYTE), "RUC_PROV_COMP" NUMBER(13,0) ) TABLESPACE "USERS" ; TABLA INVENTARIO DDL for Table INVENTARIO CREATE TABLE "JVARGAS"."INVENTARIO" ("COD_INV" NUMBER(4,0), "NOM_INV" VARCHAR2(40 BYTE), "STOCK_INV" NUMBER, "PCOMPRA_INV" FLOAT(126), "GANANCIA" FLOAT(126) ) TABLESPACE "USERS" ; TABLA DET_COMP_INV DDL for Table DET_COMP_INV CREATE TABLE "JVARGAS"."DET_COMP_INV"

34

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

("NRO_COMP" NUMBER(4,0), "COD_INV" NUMBER(4,0), "CANTIDAD_DET" NUMBER, "DETALLE_DET" VARCHAR2(50 BYTE), "PRECIO_DET" FLOAT(126), "TOTAL_DET" FLOAT(126) ) TABLESPACE "USERS" ; TABLA FACTURA DDL for Table FACTURA CREATE TABLE "JVARGAS"."FACTURA" ("NRO_FACT" NUMBER(4,0), "FECHA_FACT" VARCHAR2(40 BYTE), "CED_CLI_FACT" NUMBER(10,0) ) TABLESPACE "USERS" ; TABLA DET_FACT_INV DDL for Table DET_FACT_INV CREATE TABLE "JVARGAS"."DET_FACT_INV" ("NRO_FACT" NUMBER(4,0), "COD_INV" NUMBER(4,0), "PUNITARIO" FLOAT(126), "CANTIDAD" NUMBER, "DETALLE" VARCHAR2(50 BYTE), "TOTAL" FLOAT(126) ) TABLESPACE "USERS" ; TABLA USUARIOS DDL for Table USUARIOS CREATE TABLE "JVARGAS"."USUARIOS" ("IDUSER" VARCHAR2(20 BYTE), "USER_NOMBRE" VARCHAR2(30 BYTE), "ACTIVIDAD" VARCHAR2(30 BYTE), "FECHA" VARCHAR2(40 BYTE) ) TABLESPACE "USERS" ; INSERTAR REGISTROS EN LAS TABLAS REM INSERTING into JVARGAS.AUDITORIA Insert into JVARGAS.AUDITORIA

35

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

(ID,TABLA,CAMPO,VALORORIGINAL,VALORNUEVO,FECHA,USUA RIOS,TIPO)values(1,'COMPRA','REFERENCIA','###########','##### ########','21/12/2011 23:01:50','JVARGAS','UPDATE'); Insert into JVARGAS.AUDITORIA (ID,TABLA,CAMPO,VALORORIGINAL,VALORNUEVO,FECHA,USUA RIOS,TIPO)values(2,'FACTURA','FECHA_FACT','25/12/2011','27/12 /2011','21/12/2011 23:09:14','JVARGAS','UPDATE'); Insert into JVARGAS.AUDITORIA (ID,TABLA,CAMPO,VALORORIGINAL,VALORNUEVO,FECHA,USUA RIOS,TIPO)values(3,'INVENTARIO','STOCK_INV','10','5','21/12/2011 23:14:02','JVARGAS','UPDATE'); Insert into JVARGAS.AUDITORIA (ID,TABLA,CAMPO,VALORORIGINAL,VALORNUEVO,FECHA,USUA RIOS,TIPO)values(4,'PROVEEDORES','NOMBRE_PROV','TRIONICA',' TRIONICA S.A','21/12/2011 23:20:32','JVARGAS','UPDATE'); Insert into JVARGAS.AUDITORIA (ID,TABLA,CAMPO,VALORORIGINAL,VALORNUEVO,FECHA,USUA RIOS,TIPO)values(5,'CIUDAD','COD_CIU',null,'7','21/12/2011 23:23:06','JVARGAS','INSERT'); Insert into JVARGAS.AUDITORIA (ID,TABLA,CAMPO,VALORORIGINAL,VALORNUEVO,FECHA,USUA RIOS,TIPO)values(6,'CIUDAD','NOM_CIU',null,'RIOBAMBA','21/12/ 2011 23:23:06','JVARGAS','INSERT');

REM INSERTING into JVARGAS.CIUDAD Insert into JVARGAS.CIUDAD (1,'MACHALA'); Insert into JVARGAS.CIUDAD (2,'GUAYAQUIL'); Insert into (3,'QUITO'); JVARGAS.CIUDAD (COD_CIU,NOM_CIU) values

(COD_CIU,NOM_CIU)

values

(COD_CIU,NOM_CIU)

values

Insert into JVARGAS.CIUDAD (4,'CUENCA'); Insert into JVARGAS.CIUDAD (6,'BABAHOYOS');

(COD_CIU,NOM_CIU)

values

(COD_CIU,NOM_CIU)

values

36

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

Insert into JVARGAS.CIUDAD (7,'RIOBAMBA');

(COD_CIU,NOM_CIU)

values

REM INSERTING into JVARGAS.CLIENTES Insert into JVARGAS.CLIENTES (CEDULA,NOMBRE_CED,APELLIDO_CED,CIUDAD_CED,DIRECCIO N_CED) values (704123069,'LEONARDO ','RUIZ','PASAJE','10 DE AGOSTO Y BUENAVISTA'); Insert into JVARGAS.CLIENTES (CEDULA,NOMBRE_CED,APELLIDO_CED,CIUDAD_CED,DIRECCIO N_CED) values (704582576,'JAIME','VARGAS','MACHALA','LA FLORIDA SECTOR 4'); Insert into JVARGAS.CLIENTES (CEDULA,NOMBRE_CED,APELLIDO_CED,CIUDAD_CED,DIRECCIO N_CED) values (704464445,'NATALI','ERREYES','MACHALA','LOS VERGELES'); Insert into JVARGAS.CLIENTES (CEDULA,NOMBRE_CED,APELLIDO_CED,CIUDAD_CED,DIRECCIO N_CED) values (702490616,'MANUEL ','ERREYES','MACHALA','LOS "VERGELES"'); Insert into JVARGAS.CLIENTES (CEDULA,NOMBRE_CED,APELLIDO_CED,CIUDAD_CED,DIRECCIO N_CED) values (704127487,'JUAN','PEREZ','PASAJE','BARRIO "ABDON CALDERON"'); REM INSERTING into JVARGAS.COMPRA Insert into JVARGAS.COMPRA (NRO_COMP,FECHA_COMP,REFERENCIA,RUC_PROV_COMP) values (1,'21/12/2011','###########',704582576001); Insert into JVARGAS.COMPRA (NRO_COMP,FECHA_COMP,REFERENCIA,RUC_PROV_COMP) values (2,'22/12/2011','###########',704464445001); Insert into JVARGAS.COMPRA (NRO_COMP,FECHA_COMP,REFERENCIA,RUC_PROV_COMP) values (3,'21/12/2011','#############',702414547001); REM INSERTING into JVARGAS.DET_COMP_INV Insert into JVARGAS.DET_COMP_INV

37

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

(NRO_COMP,COD_INV,CANTIDAD_DET,DETALLE_DET,PRECIO_D ET,TOTAL_DET) values (1,1,2,'OPTICO',30,30); Insert into JVARGAS.DET_COMP_INV (NRO_COMP,COD_INV,CANTIDAD_DET,DETALLE_DET,PRECIO_D ET,TOTAL_DET) values (2,2,1,'SOUND',25,25); Insert into JVARGAS.DET_COMP_INV (NRO_COMP,COD_INV,CANTIDAD_DET,DETALLE_DET,PRECIO_D ET,TOTAL_DET) values (1,2,2,'SOUND ',50,50); Insert into JVARGAS.DET_COMP_INV (NRO_COMP,COD_INV,CANTIDAD_DET,DETALLE_DET,PRECIO_D ET,TOTAL_DET) values (3,4,1,'24 V..',45,45); REM INSERTING into JVARGAS.DET_FACT_INV Insert into JVARGAS.DET_FACT_INV (NRO_FACT,COD_INV,PUNITARIO,CANTIDAD,DETALLE,TOTAL) values (1,1,10,2,null,20); Insert into JVARGAS.DET_FACT_INV (NRO_FACT,COD_INV,PUNITARIO,CANTIDAD,DETALLE,TOTAL) values (2,5,80,1,null,80); Insert into JVARGAS.DET_FACT_INV (NRO_FACT,COD_INV,PUNITARIO,CANTIDAD,DETALLE,TOTAL) values (2,1,10,1,null,10); Insert into JVARGAS.DET_FACT_INV (NRO_FACT,COD_INV,PUNITARIO,CANTIDAD,DETALLE,TOTAL) values (3,3,30,1,null,30); Insert into JVARGAS.DET_FACT_INV (NRO_FACT,COD_INV,PUNITARIO,CANTIDAD,DETALLE,TOTAL) values (4,2,25,2,null,50); REM INSERTING into JVARGAS.FACTURA Insert into JVARGAS.FACTURA (NRO_FACT,FECHA_FACT,CED_CLI_FACT) values (1,'21/12/2011',704582576); Insert into JVARGAS.FACTURA (NRO_FACT,FECHA_FACT,CED_CLI_FACT) values (2,'22/12/2011',704464445);

38

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

Insert into JVARGAS.FACTURA (NRO_FACT,FECHA_FACT,CED_CLI_FACT) values (3,'23/12/2011',702490616); Insert into JVARGAS.FACTURA (NRO_FACT,FECHA_FACT,CED_CLI_FACT) values (4,'27/12/2011',702490616); REM INSERTING into JVARGAS.INVENTARIO Insert into JVARGAS.INVENTARIO (COD_INV,NOM_INV,STOCK_INV,PCOMPRA_INV,GANANCIA) values (1,'MOUSE',3,10,3,5); Insert into JVARGAS.INVENTARIO (COD_INV,NOM_INV,STOCK_INV,PCOMPRA_INV,GANANCIA) values (2,'PARLANTES',5,25,8); Insert into JVARGAS.INVENTARIO (COD_INV,NOM_INV,STOCK_INV,PCOMPRA_INV,GANANCIA) values (3,'USB 2.0 8GB',8,30,6); Insert into JVARGAS.INVENTARIO (COD_INV,NOM_INV,STOCK_INV,PCOMPRA_INV,GANANCIA) values (4,'REGULADOR DE VOLTAJE',2,45,15); Insert into JVARGAS.INVENTARIO (COD_INV,NOM_INV,STOCK_INV,PCOMPRA_INV,GANANCIA) values (5,'PANTALLA LCD ''15',6,80,30); Insert into JVARGAS.INVENTARIO (COD_INV,NOM_INV,STOCK_INV,PCOMPRA_INV,GANANCIA) values (6,'IMPRESORA EPSON MULTIFUNCION',7,150,50); Insert into JVARGAS.INVENTARIO (COD_INV,NOM_INV,STOCK_INV,PCOMPRA_INV,GANANCIA) values (7,'DISCO DURO 500GB',4,75,25); Insert into JVARGAS.INVENTARIO (COD_INV,NOM_INV,STOCK_INV,PCOMPRA_INV,GANANCIA) values (8,'LECTOR BLU-RAY',9,120,45); Insert into JVARGAS.INVENTARIO (COD_INV,NOM_INV,STOCK_INV,PCOMPRA_INV,GANANCIA) values (9,'MEMORIA DDR2 2GB',3,40,12); Insert into JVARGAS.INVENTARIO

39

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

(COD_INV,NOM_INV,STOCK_INV,PCOMPRA_INV,GANANCIA) values (10,'AUDIFONOS',5,28,8); REM INSERTING into JVARGAS.PROVEEDORES Insert into JVARGAS.PROVEEDORES (RUC_PROV,NOMBRE_PROV,DIR_PROV,TELF_PROV,COD_CIU_PR OV) values (704582576001,'CYBERTRONIC S.A','AV. AMERICA','2262784',3); Insert into JVARGAS.PROVEEDORES (RUC_PROV,NOMBRE_PROV,DIR_PROV,TELF_PROV,COD_CIU_PR OV) values (704464445001,'IMPACAR S.A','AV. 25 DE JUNIO / COLON Y TARQUI','2987451',1); Insert into JVARGAS.PROVEEDORES (RUC_PROV,NOMBRE_PROV,DIR_PROV,TELF_PROV,COD_CIU_PR OV) values (702490616001,'MARCIMEX S.A','AV. ROCAFUERTE / COLO Y TARQUI','2974102',1); Insert into JVARGAS.PROVEEDORES (RUC_PROV,NOMBRE_PROV,DIR_PROV,TELF_PROV,COD_CIU_PR OV) values (702414547001,'SOLO HP ','AV. MACHALA Y PEDRO MONCAYO','2841254',2); Insert into JVARGAS.PROVEEDORES (RUC_PROV,NOMBRE_PROV,DIR_PROV,TELF_PROV,COD_CIU_PR OV) values (705478945001,'INTERMAX S.A','AV. SOLANO Y REMIGIO CRESPO','2741258',4); Insert into JVARGAS.PROVEEDORES (RUC_PROV,NOMBRE_PROV,DIR_PROV,TELF_PROV,COD_CIU_PR OV) values (702315984001,'TRIONICA S.A','AV. ROSENDO / PAEZ','2874125',6); REM INSERTING into JVARGAS.USUARIOS Insert into JVARGAS.USUARIOS (IDUSER,USER_NOMBRE,ACTIVIDAD,FECHA) values('1','JVARGAS','Log ON','21/12/2011 03:16:02'); Insert into JVARGAS.USUARIOS (IDUSER,USER_NOMBRE,ACTIVIDAD,FECHA) values('2','JVARGAS','Log ON','21/12/2011 03:53:40'); Insert into JVARGAS.USUARIOS

40

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

(IDUSER,USER_NOMBRE,ACTIVIDAD,FECHA) values('3','JVARGAS','Log OF','21/12/2011 20:01:29'); DDL for Index AUDITORIA_CLIE_PK CREATE UNIQUE INDEX "JVARGAS"."AUDITORIA_CLIE_PK" ON "JVARGAS"."AUDITORIA" ("ID") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; DDL for Index KEY_CIUDAD CREATE UNIQUE INDEX "JVARGAS"."KEY_CIUDAD" ON "JVARGAS"."CIUDAD" ("COD_CIU") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; DDL for Index KEY_CLIENTES CREATE UNIQUE INDEX "JVARGAS"."KEY_CLIENTES" ON "JVARGAS"."CLIENTES" ("CEDULA") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; DDL for Index KEY_COMPRA CREATE UNIQUE INDEX "JVARGAS"."KEY_COMPRA" ON "JVARGAS"."COMPRA" ("NRO_COMP") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; DDL for Index KEY_DET_COMP_INV

41

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

CREATE UNIQUE INDEX "JVARGAS"."KEY_DET_COMP_INV" ON "JVARGAS"."DET_COMP_INV" ("NRO_COMP", "COD_INV") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; DDL for Index KEY_DETALLE_FACT_INV CREATE UNIQUE INDEX "JVARGAS"."KEY_DETALLE_FACT_INV" ON "JVARGAS"."DET_FACT_INV" ("NRO_FACT", "COD_INV") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; DDL for Index KEY_FACTURA CREATE UNIQUE INDEX "JVARGAS"."KEY_FACTURA" ON "JVARGAS"."FACTURA" ("NRO_FACT") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; DDL for Index KEY_INVENTARIO CREATE UNIQUE INDEX "JVARGAS"."KEY_INVENTARIO" ON "JVARGAS"."INVENTARIO" ("COD_INV") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; DDL for Index KEY_PROVEE CREATE UNIQUE INDEX "JVARGAS"."KEY_PROVEE" "JVARGAS"."PROVEEDORES" ("RUC_PROV") ON

42

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; DDL for Index USUARIOS_PK CREATE UNIQUE INDEX "JVARGAS"."USUARIOS_PK" ON "JVARGAS"."USUARIOS" ("IDUSER") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; Constraints for Table AUDITORIA ALTER TABLE "JVARGAS"."AUDITORIA" ADD CONSTRAINT "AUDITORIA_CLIE_PK" PRIMARY KEY ("ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE; ALTER TABLE "JVARGAS"."AUDITORIA" MODIFY ("ID" NOT NULL ENABLE); Constraints for Table CIUDAD ALTER TABLE "JVARGAS"."CIUDAD" ADD CONSTRAINT "KEY_CIUDAD" PRIMARY KEY ("COD_CIU") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE; ALTER TABLE "JVARGAS"."CIUDAD" MODIFY ("COD_CIU" NOT NULL ENABLE);

43

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

Constraints for Table CLIENTES ALTER TABLE "JVARGAS"."CLIENTES" ADD CONSTRAINT "KEY_CLIENTES" PRIMARY KEY ("CEDULA") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE; ALTER TABLE "JVARGAS"."CLIENTES" MODIFY ("CEDULA" NOT NULL ENABLE);

Constraints for Table COMPRA ALTER TABLE "JVARGAS"."COMPRA" ADD CONSTRAINT "KEY_COMPRA" PRIMARY KEY ("NRO_COMP") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE; ALTER TABLE "JVARGAS"."COMPRA" MODIFY ("NRO_COMP" NOT NULL ENABLE);

Constraints for Table DET_COMP_INV -------------------------------------------------------ALTER TABLE "JVARGAS"."DET_COMP_INV" ADD CONSTRAINT "KEY_DET_COMP_INV" PRIMARY KEY ("NRO_COMP", "COD_INV") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE; ALTER TABLE "JVARGAS"."DET_COMP_INV" ("NRO_COMP" NOT NULL ENABLE); MODIFY

44

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

ALTER TABLE "JVARGAS"."DET_COMP_INV" MODIFY ("COD_INV" NOT NULL ENABLE); Constraints for Table DET_FACT_INV ALTER TABLE "JVARGAS"."DET_FACT_INV" ADD CONSTRAINT "KEY_DETALLE_FACT_INV" PRIMARY KEY ("NRO_FACT", "COD_INV") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE; ALTER TABLE "JVARGAS"."DET_FACT_INV" MODIFY ("NRO_FACT" NOT NULL ENABLE); ALTER TABLE "JVARGAS"."DET_FACT_INV" MODIFY ("COD_INV" NOT NULL ENABLE); Constraints for Table FACTURA ALTER TABLE "JVARGAS"."FACTURA" ADD CONSTRAINT "KEY_FACTURA" PRIMARY KEY ("NRO_FACT") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE; ALTER TABLE "JVARGAS"."FACTURA" MODIFY ("NRO_FACT" NOT NULL ENABLE); Constraints for Table INVENTARIO ALTER TABLE "JVARGAS"."INVENTARIO" ADD CONSTRAINT "KEY_INVENTARIO" PRIMARY KEY ("COD_INV") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

45

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

TABLESPACE "USERS" ENABLE; ALTER TABLE "JVARGAS"."INVENTARIO" MODIFY ("COD_INV" NOT NULL ENABLE); Constraints for Table PROVEEDORES ALTER TABLE "JVARGAS"."PROVEEDORES" ADD CONSTRAINT "KEY_PROVEE" PRIMARY KEY ("RUC_PROV") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE; ALTER TABLE "JVARGAS"."PROVEEDORES" ("RUC_PROV" NOT NULL ENABLE); Constraints for Table USUARIOS ALTER TABLE "JVARGAS"."USUARIOS" MODIFY ("IDUSER" NOT NULL ENABLE); ALTER TABLE "JVARGAS"."USUARIOS" ADD CONSTRAINT "USUARIOS_PK" PRIMARY KEY ("IDUSER") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE; Ref Constraints for Table COMPRA ALTER TABLE "JVARGAS"."COMPRA" ADD CONSTRAINT "PROVEE_COMPRA" FOREIGN KEY ("RUC_PROV_COMP") REFERENCES "JVARGAS"."PROVEEDORES" ("RUC_PROV") ENABLE; Ref Constraints for Table DET_COMP_INV ALTER TABLE "JVARGAS"."DET_COMP_INV" ADD CONSTRAINT "COMPRA_DET_INV" FOREIGN KEY ("NRO_COMP") REFERENCES "JVARGAS"."COMPRA" ("NRO_COMP") ENABLE; MODIFY

46

AUDITORIA EN BASE DE DATOS ORACLE 10G.

2011

ALTER TABLE "JVARGAS"."DET_COMP_INV" ADD CONSTRAINT "INV_DET_COMP" FOREIGN KEY ("COD_INV") REFERENCES "JVARGAS"."INVENTARIO" ("COD_INV") ENABLE; Ref Constraints for Table DET_FACT_INV ALTER TABLE "JVARGAS"."DET_FACT_INV" ADD CONSTRAINT "FACTURA_DET_INV" FOREIGN KEY ("NRO_FACT") REFERENCES "JVARGAS"."FACTURA" ("NRO_FACT") ENABLE; ALTER TABLE "JVARGAS"."DET_FACT_INV" ADD CONSTRAINT "INV_DET_FACT" FOREIGN KEY ("COD_INV") REFERENCES "JVARGAS"."INVENTARIO" ("COD_INV") ENABLE; Ref Constraints for Table FACTURA ALTER TABLE "JVARGAS"."FACTURA" ADD CONSTRAINT "CLIENTES_FACTURA" FOREIGN KEY ("CED_CLI_FACT") REFERENCES "JVARGAS"."CLIENTES" ("CEDULA") ENABLE; Ref Constraints for Table PROVEEDORES ALTER TABLE "JVARGAS"."PROVEEDORES" ADD CONSTRAINT "CIUDAD_PROVEEDORES" FOREIGN KEY ("COD_CIU_PROV") REFERENCES "JVARGAS"."CIUDAD" ("COD_CIU") ENABLE; DDL for Sequence ID_AUDITORIA_SECUENCIA

47

También podría gustarte