SGBD ORACLE 10g XPRESS EDITION

46
http://www.wix.com/oracle10gutn/bdd2 1 SGBD ORACLE 10g XPRESS EDITION Instalación y Configuración de Oracle 10g R2 XE en Ubuntu Inserción de Datos en la BDD ACADEMICO Creación de Vistas Triggers y Procedimientos Almacenados PL ARQUITECTURA DE BDD ORACLE, cambio tamaños de BLOQUE en el BUFFER, TNNING. Conexión Remota hacia SGBD Oracle 10g R2 XE DICCIONARIO DE DATOS Y SISTEMAS RECUPERACIÓN MANEJO DE TRANSACCIONES DESDE JAVA TABLA DE BUSQUEDAS, ESDISTICAS Y TIEMPO DE RESPUESTA

Transcript of SGBD ORACLE 10g XPRESS EDITION

Page 1: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 1

SGBD

ORACLE 10g

XPRESS EDITION

Instalación y Configuración de Oracle 10g R2 XE en Ubuntu

Inserción de Datos en la BDD ACADEMICO

Creación de Vistas Triggers y Procedimientos Almacenados PL

ARQUITECTURA DE BDD ORACLE, cambio tamaños de BLOQUE en el BUFFER,

TNNING.

Conexión Remota hacia SGBD Oracle 10g R2 XE

DICCIONARIO DE DATOS Y SISTEMAS RECUPERACIÓN

MANEJO DE TRANSACCIONES DESDE JAVA

TABLA DE BUSQUEDAS, ESDISTICAS Y TIEMPO DE RESPUESTA

Page 2: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 2

Integrantes:

Pérez Diego

Cuasapas Gandhy

Ruales Daniel

UNIVERSIDAD TÉCNICA DEL NORTE Carrera de Ingeniería en Sistemas Computacionales

Tema:

Informe: Nro. 1

Instalación y Configuración de Oracle 10g R2 XE en Ubuntu

1. Requisitos para la instalación:

1.1 Requisitos de software para la instalación:

Las siguientes bibliotecas son realmente indispensables para el correcto funcionamiento de

ORACLE , la libreria libxext6 ya biene instala en versiones de ubuntu 10 o más y no son

necesarias instalarlas lo contrario sucede con la libreria ibstdc++5 que ya no biene instalada y

fue reeemplazada por ibstdc++6, necesariamente tendremos que instalar ibstdc++5.

libxext6 libxtst6 libaio1 libaio-dev libstdc++5

1.2 Requisitos de hardware para la instalación:

Principalmente en los requerimientos de hardware debemos tener en cuenta que las

versiones express de ORACLE solo trabajan con un procesador, entonces si tenemos por

ejemplo un procesador core i3 solamente trabajara con un núcleo con lo cual se notara el

aumento de tiempo de ejecución.

2Gb en el disco duro.

SWAP. Es el espacio de intercambio de archivos usado como algo similar a la memoria virtual

de Windows.

Page 3: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 3

Necesitaremos aproximadamente 1Gb, el swap por defecto que viene asignado en una

instalación normal de Ubuntu es cerca de los 512 Mb y 1024 Mb Globalmente de donde se

distribuirá para diferentes tareas del sistema y aplicaciones reduciendo el tamaño de swap

libre, el aumento de swap se explicara en la instalación.

2. Instalación

NOTA: PARA UNA CORRECTA INSTALACION SE ACONSEJA MIRAR EL VIDEO DE

GUIA QUE SE ENCUENTRA EN

http://www.wix.com/oracle10gutn/bdd2#!material/vstc1=video

Continuaremos con la instalación de librerías:

Para eso usaremos una terminal y ejecutaremos los comandos descritos:

NOTA:

Al inicio de las líneas:

# --------significa que es un comando a ejecutar en la actualización de los ficheros abra que

copiar todo el contenido sin importar el # al inicio.

2.1 Instalación de Librerías necesarias:

apt-get install libaio1 libaio-dev apt-get install rpm apt-get install alien apt-get install libstdc++5 apt-get install lesstif2-dev apt-get install binutils

Page 4: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 4

3. Usuarios

3.1 Creando el Oracle install y los Grupos

La creación de usuarios se realizara con la idea de distribuir nuestro usuario y de Oracle, pero

que nuestro usuario pueda tener acceso a los dominios de Oracle, en conclusión nuestro

usuario formara parte del grupo de Oracle.

addgroup --system oinstall addgroup dba

3.2 Creando el Usuario Oracle y Asignado en los grupos

useradd -g oinstall -G dba -d /home/oracle -s /bin/bash oracle passwd oracle mkdir /home/oracle chown -R oracle:dba /home/oracle

4. Creando Variables simbolicos

La variables simbólica se crear debido a que nuestro SO no es red hat y tenemos que simular

las rutas para el acceso a archivos.

Recuerden que las variables simbólicas apuntaran a archivos específicos de cualquier

directorio.

ln -s /usr/bin/awk /bin/awk ln -s /usr/bin/rpm /bin/rpm ln -s /usr/bin/basename /bin/basename mkdir /etc/rc.d for i in 0 1 2 3 4 5 6 S ; do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d ; done mkdir -p /usr/lib/oracle/xe/app/oracle chown -R oracle:dba /usr/lib/oracle/xe

5. Actualización de parámetros en sysctl (Kernel) editando el archivo /etc/sysctl.conf agregar

estas líneas:

fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128

Page 5: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 5

net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 1048576 net.core.wmem_max = 1048576 net.ipv4.ip_local_port_range = 9000 65535

------------------------------------------------------------------------------

El punto 5.1 sera estubieramos instalano 11g lo cual no lo estamos haciendo, es solo una

acotación. para no cometer errores

------------------------------------------------------------------------------

5.1 Parámetros para Oracle 11g

kernel.shmall = 2097152 kernel.shmmax = 2147483648 # Smallest of -> (Half the size of the physical memory) or (4GB - 1 byte) kernel.shmmni = 4096 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 fs.file-max = 65536 # 512 * PROCESSES net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=4194304 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=262144

6. Actualizar algunos límites para el propietario del software de Oracle, añadiendo estas líneas al

final de /etc/security/limits.conf:

oracle soft nproc 2047 oracle hard nproc 16383 oracle soft nofile 1023 oracle hard nofile 65535 6.1 Activamos las nuevas configuraciones: # sysctl -p

Page 6: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 6

7. Extender la swap(memoria de intercambio de datos)

- Es un ejemplo de creación de swap de tamaño 512 Mb, esto sería suficiente si tuviéramos

mas de 700Mb de swap y no bastaría si tuviéramos 700< recuerde que ORACLE necesita 1

Gb, con lo que tendríamos que crear espacio swap dependido de la cantidad de swap que

tengamos en el sistema.

-Crearemos el archivo de swap /mnt/512Mb.swap con el comando

# sudo dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=1024 - Formatear ese archivo para crear el dispositivo de swap

# sudo mkswap /mnt/512Mb.swap - Agregar la swap al sistema en ejecución

# sudo swapon /mnt/512Mb.swap -Se puede usar cat /proc/meminfo para ver que la swap adicional esta ahora disponible

# cat /proc/meminfo - Para que se permanente hay que agregar esta linea al archivo /etc/fstab:

/mnt/512Mb.swap none swap sw 0 0

8. Asignar privilegios de Administrador a Oracle

Es necesario para realizar la instalación desde el Usuario Oracle.

9. Iniciar el paquete oracle-xe-universal_10.2.0.1-1.0_i386.deb continuando con la instalación. ¡Si ya estamos en el usuario Oracle!.

10. Configurar Oracle, ingresar en una terminal: Podemos solo dar enter así estamos aceptando las configuraciones por defecto.

Como:

-Puerto http:8080

-Puerto escucha:1521 -Configurar el password

-Entrar en http://127.0.0.1:8080/apex # sudo /etc/init.d/orcle-xe configure

Page 7: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 7

11. Añadir al path.

Luego de hacer las configuraciones respectivas tendremos que añadir el siguiente código en el

path de inicio automático de Linux para poder utilizar el terminal y librerías sql*plus desde

una terminal, podemos añadir a este documento.

Recuerde:

Para todos los usuarios: (Se necesita permisos de root para editar/modificar estos archivos)

/etc/profile --> Se ejecuta cuando qualquier usuario inicia la sesión.

/etc/bashrc --> Se ejecuta cada vez que qualquier usuario ejecuta el programa bash

Para nuestro usuario:

~/.bash_profile --> Se ejecuta el .bash_profile de juanito cuando juanito inicia su sesión.

~/.bashrc --> Se ejecuta el .bashrc de juanito cuando juanito ejecuta el programa bash.

Líneas a agregar:

Inicio:

export ORACLE_BASE=/usr/lib/oracle/xe/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/server export ORACLE_SID=XE export LD_LIBRARY_PATH=$ORACLE_HOME/lib export PATH=$ORACLE_HOME/bin:$PATH export EDITOR=/usr/bin/vi

fin

Listo!! Reinicia la máquina y prueba ejecutando sqlplus en una

terminal debería aparecer algo asi:

Page 8: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 8

Tema:

Informe: Nro. 2

Inserción de Datos en la BDD ACADEMICO

La inserción de datos dependerá del tipo de dato, claves referenciales, claves únicas entre otras.

No podremos insertar datos en una tabla cuya referencia a otra tabla aun no tenga datos ejemplo:

No podremos ingresar datos en matricula si aún no hay estudiantes registrados.

Aquí está un ejemplo de inserción:

+++++++++++++ USUARIO ++++++++++++++++++++++++++++++

CREATE USER ACADEMICO IDENTIFIED BY d

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP

QUOTA UNLIMITED ON USERS;

.............. ROL .............

CREATE ROLE ADMIN;

GRANT CREATE CLUSTER,CREATE DATABASE LINK,CREATE INDEXTYPE,CREATE

MATERIALIZED VIEW,CREATE OPERATOR,CREATE PROCEDURE,CREATE PUBLIC

SYNONYM,CREATE ROLE,CREATE SEQUENCE,CREATE SESSION,CREATE

SYNONYM,CREATE TABLE,CREATE TRIGGER,CREATE TYPE,CREATE VIEW TO

ADMIN;

............... SCRIPT

................................

Page 9: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 9

.............. TABLAS ...................

ESTUDIANTE.............

INSERT INTO "ESTUDIANTES" VALUES(1,'Oscar Daniel', 'Garcia', 'Los

Ceibos', '1005673896');

INSERT INTO "ESTUDIANTES" VALUES(2,'Cristina','Arteaga','El

Olivo','1005367865');

INSERT INTO "ESTUDIANTES" VALUES(3,'Juan','López','Av. Teodoro

Gomez de la Torre','1007865238');

INSERT INTO "ESTUDIANTES" VALUES(4,'Anita','Gomez','Bola

amarilla','1009826768');

INSERT INTO "ESTUDIANTES" VALUES(5,'Pablo','Robles','Redondel

AjavÃ','1009897522');

FACULTADES............

INSERT INTO "FACULTADES" VALUES(1,'FACULTAD DE INGENIERIA EN

SISTEMAS COMPUTACIONALES','FICA');

INSERT INTO "FACULTADES" VALUES(2,'Facultad de Ciencias

Administrativas y Económicas','FACAE');

INSERT INTO "FACULTADES" VALUES(2,'Facultad de Ciencias de la

Salud','FCCSS');

NIVELES.............

INSERT INTO "NIVELES" VALUES(1,'PRIMERO');

INSERT INTO "NIVELES" VALUES(2,'SEGUNDO');

INSERT INTO "NIVELES" VALUES(3,'TERCERO');

INSERT INTO "NIVELES" VALUES(4,'CUARTO');

Page 10: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 10

PERIODOS ACADEMICOS.........

INSERT INTO "PERIODOS_ACADEMICOS" VALUES(1,'2011-

2011',TO_DATE('10/03/2011','DD/MM/YYYY'),TO_DATE('15/07/2011','DD/

MM/YYYY'),'N');

INSERT INTO "PERIODOS_ACADEMICOS" VALUES(2,'2011-

2012',TO_DATE('8/08/2011','DD/MM/YYYY'),TO_DATE('28/02/2012','DD/M

M/YYYY'),'A');

DOCENTES..........................

INSERT INTO "DOCENTES" VALUES(1,'Miguel','Orquera','Av.

Atahualpa','1009887365');

INSERT INTO "DOCENTES" VALUES(2,'Ivan','Garcia','Av. El

Retorno','1004234556');

INSERT INTO "DOCENTES" VALUES(3,'Carlos','Romero','Av.

Atahualpa','1008758778');

INSERT INTO "DOCENTES" VALUES(4,'Fausto','Huera','La

Victoria','1007588948');

INSERT INTO "DOCENTES" VALUES(5,'Ivan','Rueda','Las

Palmas','1009687551');

CARRERAS.......................

INSERT INTO "CARRERAS" VALUES(1,1,'Carrera de Ing. en Sistemas

Computacionales','CISIC');

INSERT INTO "CARRERAS" VALUES(2,1,'Carrera de Ing. en

Mecatronica','CIME');

Page 11: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 11

MATERIAS..........................

INSERT INTO "MATERIAS" VALUES(1,1,1,'Programacion 1',6,'A');

INSERT INTO "MATERIAS" VALUES(2,1,1,'Geometria Plana',4,'A');

INSERT INTO "MATERIAS" VALUES(3,1,1,'Algebra',5,'A');

INSERT INTO "MATERIAS" VALUES(4,1,1,'Analisis Matematico

1',5,'A');

INSERT INTO "MATERIAS" VALUES(5,1,2,'Graficacion y

Animacion',4,'A');

INSERT INTO "MATERIAS" VALUES(6,1,3,'SO',5,'A');

INSERT INTO "MATERIAS" VALUES(7,1,3,'Estructura de Datos

1',6,'A');

INSERT INTO "MATERIAS" VALUES(8,1,3,'SO',5,'A');

INSERT INTO "MATERIAS" VALUES(9,1,3,'Ecuaciones',6,'A');

++++++++++++++++++++++++++++++++++++++++++

ALTER TABLE "MATRICULAS" MODIFY (FECHA_MATRICULA );

ALTER TABLE tabla {ADD | MODIFY} ({columna tipoColumna [NOT

NULL],}+);

+++++++++++++++++++++++++++++++++++++++

MATRICULAS...................................

INSERT INTO "MATRICULAS" VALUES(1, 2, 1, 1,

TO_DATE('8/08/2011','DD/MM/YYYY'));

INSERT INTO "MATRICULAS" VALUES(2, 2, 1, 4,

TO_DATE('8/08/2011','DD/MM/YYYY'));

Page 12: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 12

INSERT INTO "MATRICULAS" VALUES(3, 2, 1, 5,

TO_DATE('8/08/2011','DD/MM/YYYY'));

NOTAS.....................................

INSERT INTO "NOTAS" VALUES(1,1,6,8,0,7.0,9.5);

INSERT INTO "NOTAS" VALUES(2,6,7,8,0,7.5,8.0);

INSERT INTO "NOTAS" VALUES(2,7,9,9,0,9.0,10);

INSERT INTO "NOTAS" VALUES(3,4,7,7,0,7.0,9.5);

INSERT INTO "NOTAS" VALUES(3,6,8,7,0,7.5,9.0);

MATERIAS_DOCENTES..................................

INSERT INTO "MATERIAS_DOCENTES" VALUES(5,6,2,'A');

INSERT INTO "MATERIAS_DOCENTES" VALUES(4,7,2,'A');

INSERT INTO "MATERIAS_DOCENTES" VALUES(3,4,2,'A');

Page 13: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 13

Tema:

Informe: Nro. 3

Creación de Vistas Triggers y Procedimientos Almacenados PL

1. Creación de Vistas

Una vista es un objeto. Una vista es una alternativa para mostrar datos de varias tablas; es como

una tabla virtual que almacena una consulta. Los datos accesibles a través de la vista no están

almacenados en la base de datos, en la base de datos se guarda la definición de la vista y no el

resultado de ella.

Entonces, una vista almacena una consulta como un objeto para utilizarse posteriormente. Las tablas consultadas en una vista se llaman tablas base. En general, se puede dar un nombre a

cualquier consulta y almacenarla como una vista.

Una vista suele llamarse también tabla virtual porque los resultados que retorna y la manera de

referenciarlas es la misma que para una tabla.

Las vistas permiten:

- simplificar la administración de los permisos de usuario: se pueden dar al usuario permisos para

que solamente pueda acceder a los datos a través de vistas, en lugar de concederle permisos para

acceder a ciertos campos, así se protegen las tablas base de cambios en su estructura.

- mejorar el rendimiento: se puede evitar teclear instrucciones repetidamente almacenando en una

vista el resultado de una consulta compleja que incluya información de varias tablas.

Podemos crear vistas con: un subconjunto de registros y campos de una tabla; una unión de

varias tablas; una combinación de varias tablas; un subconjunto de otra vista, combinación de

vistas y tablas.

Una vista se define usando un "select".

SINTAXIS:

CREATE VIEW <nombre_vista>

AS

(<sentencia_select>);

Page 14: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 14

NOS DEBOLVERA:

NOMBRES

NOMBRE_MATERIA

ID_

Anita SO 2

Anita Estructura de Datos 1 2

Pablo Analisis Matematico 2

Pablo SO 2

Tenemos un ejemplo de una vista:

Necesitamos mostrar Los nombres de los estudiantes, las materias que cursan, pero solamente del

periodo nro 2 que es el que está en vigencia.

Periodo 1= 2011-2011 10-MAR-11 15-JUL-11 N

Periodo 2= 2 2011-2012 08-AUG-11 28-FEB-12 A

CREATE VIEW "VISTA1" AS (SELECT CONCAT(NOMBRES,APELLIDOS) ESTUDIANTE,

NOMBRE_MATERIA, NOTA1, NOTA2, NOTA3, PROMEDIO, CONDICION, DESCRIPCION FROM

ESTUDIANTES E, MATRICULAS M, NOTAS N, MATERIAS MAT, PERIODOS_ACADEMICOS PA

WHERE E.ID_ESTUDIANTE=M.ID_ESTUDIANTE AND M.ID_MATRICULA=N.ID_MATRICULA AND

N.ID_MATERIA=MAT.ID_MATERIA AND M.ID_PERIODO=PA.ID_PERIODO);

/

PERIODO

CREACION DE TRIGGERS.

Comenzaremos implementando una nueva BDD llamada EMPLEADOS ahí realizaremos un

triggers muy básico para su comprensión.

Ejmemplo:

Crear un trigger sobre la tabla empleados para que no se permita que un empleado sea jefe de

más de cinco empleados.

1. Comenzaremos implementando un nuevo usuario.

Page 15: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 15

El código seria:

CREATE USER EMPLEADO IDENTIFIED BY D

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP

QUOTA UNLIMITED ON USERS;

2. Creación de las tablas:

CREATE TABLE empleados (

dni char(4),

nomemp varchar2(15),

cojefe char(4),

PRIMARY KEY (dni),

FOREIGN KEY (cojefe) references empleados on delete cascade);

3. Creación del TRIGGER:

CREATE OR REPLACE TRIGGER jefes

BEFORE

INSERT OR UPDATE OF cojefe ON empleados

FOR EACH ROW

DECLARE

supervisa INTEGER;

BEGIN

SELECT count(*) INTO supervisa

FROM empleados

WHERE cojefe = :new.cojefe;

IF supervisa > 4

THEN raise_application_error

(-20600,:new.cojefe||'no se puede supervisar mas de 5');

END IF;

END;/

Page 16: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 16

4. Inserción de Datos:

INSERT INTO empleados VALUES ('D1','Director',null);

INSERT INTO empleados VALUES ('D2','D.Comercial','D1');

INSERT INTO empleados VALUES ('D3','D.Produc.','D1');

INSERT INTO empleados VALUES ('D4','Jefe Vent.','D1');

INSERT INTO empleados VALUES ('D5','Jefe Mark.','D1');

INSERT INTO empleados VALUES ('D6','Vendedor 1','D1');

INSERT INTO empleados VALUES ('D8','Vendedor 3','D1');

//LA ULTIMA LINEA NOS DARIA UN ERROR PORQUE EL JEFE D1 TENDRIA MAS DE 5 EMPLEADOS.

Page 17: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 17

FUNCIONES - PROCEDIMIENTOS ALMACENADOS

• SINTAXIS PL/SQL

DECLARE Sentencias de declaración BEGIN Sentencias de ejecución EXCEPTION Sentencias para el manejo de excepciones END;

Ejemplo:

Vamos a crear una variable varchar2 a la que asignaremos el nombre o nombres de estudiantes

cuando id_estudiante sea igual a 1.

DECLARE

aux_nombre varchar2(50);

BEGIN

SELECT NOMBRES INTO AUX_NOMBRE FROM ESTUDIANTES

WHERE ID_ESTUDIANTE=1;

DBMS_OUTPUT.PUT_LINE(aux_nombre);

END;

/

Page 18: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 18

Tema:

Informe: Nro. 4

ARQUITECTURA DE BDD OARACLE

La arquitectura de Oracle tiene tres componentes básicos. Las estructuras de memoria para

almacenar datos y el código ejecutable, los procesos que corren el sistema de base de datos y las

tareas de cada usuario conectado a la base de datos y archivos que sirven para el almacenamiento

físico en el disco de la información de base de datos.

Conceptos Básicos.

Oracle Database Thread

Description

Required/Optional

DBW0 database writer Required

LGWR log writer Required

PMON process monitor Required

SMON system monitor Required

Page 19: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 19

Oracle Database

Thread

Description

Required/Optional

CKPT checkpoint process (thread on Windows) that

runs by default on Windows

Optional

ARCH0 archive process (or thread on Windows) Optional

RECO distributed recovery background process Optional

LCKn, Lock: (lock processes) El bloqueo es un proceso opcional. Efectúa los

bloqueos entre instancias, en caso de ambientes con servidores paralelos (hasta con

10 servidores).

CKPT : (Check point) El punto de comprobación es un proceso opcional que ocurre

cuando los usuarios conectados a la base de datos, hacen solicitudes de exámenes de

datos.

SNPn : (Snapshot process) se encarga de refrescar los snapshots o réplicas de tablas

que se usan principalmente en ambientes distribuidos.

SMON : (System monitor) recupera el sistema ante una falla de la instancia.

RECO : (Recovery) recupera ante las fallas, en una transacción en ambientes

distribuidos.

ARCH : (Archive) copia los registros de rehacer de la RAM en archivos de datos

que permiten la recuperación cuando se presentan fallas de los medios magnéticos.

PMON : (Process Monitor) recupera ante una falla de un proceso de usuario; libera

los recursos del proceso que falló.

Page 20: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 20

TABLA DE ARCHIVOS Nombre del proceso Sistemas UNIX Sistema Windows

PMON Pmon_xxxx.trc sidPMON.trc

SMON Smon_xxxx.trc sidSMON.trc

DBW0 Dbw0_xxxx.trc sidDBW0.trc

LGWR Lgwr_xxxx.trc sidLGWR.trc

CPT Cpt_xxxx.trc sidCPT.trc

ARC0 Arc_xxxx.trc sidARC0.trc

TUNING BDD ORACLE

Para los desarrolladores de aplicaciones y administradores de base de datos, el ajuste de las

aplicaciones es un área de esencial importancia y se invierte una considerable cantidad de tiempo

en el desarrollo de esta función tan relevante. Una aplicación comercial escasamente adaptable

puede afectar potencialmente no solo a algunos usuarios, sino también a toda la operación

comercial, y por esta razón las empresas invierten en una gran cantidad de recursos para asegurar

la ejecución de las aplicaciones esenciales para sus empresas sin inconvenientes.

Oracle Tuning Pack, parte del grupo de productos de Oracle Database 11g, ofrece una solución

extremadamente económica y fácil de usar que automatiza todo el proceso de ajuste de las

aplicaciones. Las mejoras en el desempeño de SQL se logran a través de los Asesores SQL, las

cuales se integran sin defectos con Enterprise Manager Database Control y Grid Control, y

juntas brindan una solución completa para la automatización de la compleja y prolongada tarea

de ajuste de las aplicaciones.

CARACTERÍSTICAS CLAVE:

• Asesor de Ajuste SQL

• Asesor de Ajuste Automático SQL • Perfiles SQL

• Asesor de Acceso SQL • Grupos de Ajuste SQL • Wizard de reorganización de Objetos

BENEFICIOS CLAVE:

• Solución integral para aplicaciones y ajuste SQL que elimina la necesidad de ajuste manual. • Ajuste automático de sentencias SQL.

Page 21: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 21

• Mejoras en el desempeño y confiabilidad del sistema, y reducción significativa de los costos de

administración.

SQL Tuning Advisor

El ajuste SQL manual es un proceso que presenta muchos desafíos. Requiere experiencia en

muchas áreas, consume una gran cantidad de tiempo y exige un íntimo conocimiento de las

estructuras de esquemas y del modelo de uso de datos para la aplicación. Todos estos factores

convierten al ajuste SQL manual en una tarea desafiante, que requiere muchos recursos y que

resulta muy costosa para la empresa.

SQL Tuning Advisor es la respuesta de Oracle ante los obstáculos y desafíos del ajuste SQL

manual. Automatiza el proceso de ajuste SQL al explorar completamente todas las maneras

posibles de adaptar una sentencia SQL. El análisis y el ajuste se realizan a través del optimizador

de consultas altamente mejorado del motor de base de datos. Se realizan cuatro tipos de análisis

por parte de SQL Tuning Advisor:

• Análisis Estadístico: El optimizador de consultas debe actualizar las estadísticas de objetos para

generar planes de buena ejecución. En este análisis, se identifican los objetos ORACLE DATA

SHEET con las estadísticas antiguas o faltantes y se sugieren recomendaciones para remediar el

problema.

• SQL Profiling: Esta característica, introducida en Oracle Database 10g, revoluciona el enfoque

hacia el ajuste SQL. El ajuste SQL tradicional implica la manipulación manual del código de

aplicaciones utilizando las pistas del optimizador. SQL Profiling elimina la necesidad de este

proceso manual y adapta las sentencias SQL sin requerir ningún cambio en el código de

aplicaciones. Esta capacidad de adaptar SQL sin cambiar el código de aplicación también ayuda a

resolver el problema de las aplicaciones de ajuste empaquetadas. Los usuarios de aplicaciones

empaquetadas ahora ya no deben registrar un bug con el proveedor de la aplicación y esperar

varias semanas para obtener un código fijo para el ajuste de la sentencia. Con SQL Profiling el

proceso de ajuste es automático e inmediato.

• Análisis del Canal de Acceso: Los índices pueden mejorar enormemente el desempeño de una sentencia SQL al reducir la necesidad de un escaneo total de las tablas. La indexación efectiva es,

por consiguiente, una técnica de ajuste común. En este análisis, se identifican y recomiendan los

nuevos índices que pueden mejorar significativamente el desarrollo de las consultas.

Page 22: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 22

• Análisis de la Estructura SQL: Los problemas con la estructura de las sentencias SQL pueden

llevar a un escaso desempeño. Estos podrían ser problemas sintácticos, semánticos o de diseño

respecto de la sentencia. En este análisis se realizan sugerencias relevantes para reestructurar las

sentencias SQL seleccionadas para un mejor desempeño.

El resultado de este análisis se presenta en forma de recomendaciones, junto con una lógica para cada recomendación y su beneficio de desempeño esperado. Las recomendaciones se relacionan

con la recopilación de estadísticas de objetos, la creación de nuevos índices, la reestructuración de

las sentencias SQL, o la creación de un Perfil SQL. Un usuario puede elegir aceptar la

recomendación para completar el ajuste de las sentencias SQL.

CAMBIO DE TAMAÑO EN LOS BLOQUES ORACLE

CONCEPTOS

TABLESPACE - DATAFILE

• Un tablespace contiene 0 o más segmentos (Cada segmento reside en un tablespace).

• Un segmento son objetos de esquema, los tipos son: tablas, índices, temporales y rollback; ellos son almacenados fuera del data dictionary. Los constraint y sequences son

almacenados en el data dictionary por lo tanto no son segmentos.

• Cada segmento contiene extents. (Cada extents reside en un datafile).

• Una base de datos puede tener maximo 64000 datafiles. • Un extent contiene data blocks. (Cada data block es un conjunto de bytes de hd).

• SYSTEM y SYSAUX tienen el tamaño default de data block. • Cada tablespace puede tener diferentes tamaños de data block.

• El tablespace SYSTEM almacena el data dictionary. • El tablespace SYSAUX almacena objetos para el catalogo del RMAN, el AWR, Data

Mining y otros. Fue pensado para reducir objetos que eran colocados en el SYSTEM. Se

puede aumentar su tamaño en cualquier momento.

Page 23: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 23

Opciones de tablespace: Big file o small file, manage extents locally o dictionary y manage

segment space automatico o manual.

Los tablespace bigfile tienen 1 datafile, su tamaño máximo es (4 TB * Tamaño de un data block,

Ejemplo:

Si 8 KB es el tamaño del data block de un tablespace su tamaño máximo seria 32 TB).

Los tablespace smallfile pueden tener de 1 a 1022 datafiles para un tablespace. Su tamaño maximo es (4 GB * Tamaño de un data block, Ejemplo Si 8 KB es el tamaño del data block de un tablespace su tamaño máximo seria 32 GB). SYSTEM y SYSAUX siempre son smallfiles

tablespaces.

• OMF (Oracle Managed Files), permite que Oracle se encargue de nombrar y ubicar a

nuestros datafiles automáticamente. Por defecto asigna 100 MB y auto extendido.

Los tablespace pueden ser Data Dictionary (Utiliza un registro de los extents libres y usados mediante las tablas FET$ y UET$ en modo recursivo, los extendidos son manejados vía data

dictionary provocando contención en el SYSTEM tablespace), Local (Default y utiliza bitmaps

(conjunto de bloques) para manejar los extendidos para dejar de utilizar el modo recursivo).

Local tiene 2 tipos: UNIFORM (Mantiene los extents del mismo tamaño, default 1 MB, no puede

ser aplicado a los undo tablespace y es el default para los Temporary Tablespace) y

AUTOALLOCATE (default). Se puede convertir de de Data Dictionary a Local y viceversa. Pero

no se puede convertir el Local a Data Dictionary el tablespace SYSTEM y los Temporary

Tablespaces.

Un tablespace Local puede ser MANUAL (Utiliza PCT_FREE (insert DML) y PCT_USED

(delete o update DML), es el default y es fijo en los Temporary Tablespace y en el SYSTEM

Tablespace) o AUTOMATIC (Utiliza bitmaps).

Los Temporary Tablespaces segments son generados por un order by, group by, create index e inserts a tablas temporales. Los temporary tablespaces son seteados a NOLOGGING. No se

puede renombrar un temp file o ponerlo read only. Lo que es válido es llevar el temp file a online

u offline pero no el tablespace.

Undo tablespace sirve para rollback, reconstruir un read-consistent y recover de corrupciones lógicas.

Un tablespace debe ser llevado a offline para un recover de el tablespace o mover datafiles.

Page 24: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 24

SYSTEM, UNDO y SYSAUX no pueden ser colocados readonly.

Un tablespace al ponerlo en offline tenemos 3 opciones: NORMAL, TEMPORARY e

IMMEDIATE. El NORMAL hace un checkpoint y asegura que sea escrito en disco, es ideal en

NOARCHIVELOG y al ponerlo online no requiere media recovery. El TEMPORARY también

hace checkpoint pero no asegura que se haya hecho a todos los datafiles por lo tanto puede ser

que haya un media recovery en alguno de los datafiles. IMMEDIATE no hace checkpoint y

ejecuta un media recovery al volver a colocar el tablespace en online. El default es normal.

En versiones inferiores de Oracle 10g R2 no se puede eliminar un datafile. El comando ALTER DATABASE DATAFILE ‘ruta’ OFFLINE DROP indica que el datafile se

pondrá en estado offline con la intención de eliminar el tablespace.

No se puede renombrar el SYSAUX y SYSTEM tablespace.

Cuando no hay un tablespace temporal en la base de datos, Oracle utiliza el SYSTEM tablespace en reemplazo de este.

PARAMETROS Parametro Objetivo db_block_size = valor Permite especificar el tamaño default de un

data block. db_create_file_dest = ruta Habilita OMF y especifica el lugar donde

Oracle creara los datafiles. db_create_online_dest_n Donde n = 1..5 y es donde se ubicarán los redo

logs y control files utilizando OMF. undo_management = nombre Define el undo tablespace de la base de datos. sort_area_retained_size Tamaño ocupado por ordenamientos.

Page 25: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 25

Memoria Oracle (SGA)

Su tamaño está determinado por los parámetros:

Shared_Pool_Size= Tamaño en bytes del área para SQL compartidos y sentencias PL/SQL. Db_Block_Size = Tamaño en bytes de un solo bloque de datos.

Db_Block_Buffers = Numero de Buffers a localizar en memoria.

Log_Buffer = Numero de bytes localizados para para los Redo Log Buffer.

SGA = Shared_Pool_Size + (Db_Block_Size * Db_Block_Buffers) +

Log_Buffer.

Las modificaciones de los parámetros de la base de datos se las puede modificar desde:

/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/dbs/init.ora

Page 26: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 26

Tema:

Informe: Nro. 5

Conexión Remota hacia SGBD Oracle 10g R2 XE

1. Conexión desde un SGBD Oracle en Windows, hacia otro SGBD en UBUNTU.

1.1. Probamos la base de datos en Ubuntu :

Nuestra base de datos se llama ACADEMCO. Y podemos ver que si hay conexión.

Ahora abra que habilitar el puerto de escucha para conexiones remotas ya que esta opción no esta

habilitada en la configuración estándar.

Page 27: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 27

1.2. Habilitamos las conexiones remotas.

1.3.

Con esto ya podremos conectarnos a nuestra BDD remotamente con cualquier herramienta.

Page 28: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 28

Programas que podemos utilizar para una conexión remota

TOAD

- Instant Client (sql*plus)

- Otro programa SGBDD

Las conexiones cliente servidor se basarían en cuanto a los permisos que tenga

cualquier cliente por ejemplo:

Si queremos hacer una conexión remota para administrar SGBDD tendremos que

tener un paquete completo de herramientas de instant client.

Los permisos de cada conexión serán determinados, asignados por el dba.

Otro programa SGBDD ORACLE en Windows:

Pasos:

Básicamente utilizaremos el paquete de sql*plus que viene con el programa ORACLE.

1. Vamos a abrir una terminal en Windows:

2. Digitaremos sqlpus

Page 29: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 29

3. Ingresamos el nombre de usuario en nuestro caso user=SYSTEM, pasw=d

4. Por ultimo hacemos la conexión remota digitando.

Donde:

connect [nombre bDD]/[pasw] @[host remoto]

Entonces nos quedaría:

Listo nos hemos conectado hacia la base de datos ACADEMICO con host

192.168.10.120

Page 30: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 30

CONEXIÓN CON TOAD

Para realizar la conexión con TOAD deberá revisar el video en el siguiente enlace:

REVIZAR EL VIDEO AQUí:

http://www.youtube.com/watch?v=TdS03bc3mqs http://www.wix.com/oracle10gutn/bdd2

Page 31: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 31

Tema:

Informe: Nro. 6

DICCIONARIO DE DATOS Y SISTEMAS RECUPERACIÓN

El Diccionario de Datos

Una de las partes más importantes de una base de datos Oracle es su diccionario de datos, que es

una de sólo lectura un conjunto de tablas que proporciona información sobre la base de

datos. Un diccionario de datos contiene:

• Las definiciones de todos los objetos de esquema en la base de datos (tablas, vistas,

índices, clusters, sinónimos, secuencias, procedimientos, funciones, paquetes, triggers,

etc)

• ¿Cuánto espacio se ha destinado, y es utilizado actualmente por los objetos de esquema

• Los valores predeterminados para las columnas

• Restricción de integridad de la información

• Los nombres de los usuarios de Oracle

• Privilegios y roles de cada usuario se ha concedido

• Auditoría de la información, como quién ha accedido o actualizar varios objetos de

esquema

• Otra información de bases de datos generales

El diccionario de datos se estructura en las tablas y vistas, al igual que los datos de otra base de

datos. Todas las tablas del diccionario de datos y puntos de vista para una determinada base de

datos se almacenan en la base de datos del Sistema de tablas.

No sólo es el diccionario de datos central para cada base de datos de Oracle, es una herramienta

importante para todos los usuarios, de los usuarios finales a los diseñadores de aplicaciones y

administradores de bases de datos. Usar instrucciones SQL para acceder al diccionario de

Page 32: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 32

datos. Debido a que el diccionario de datos es de sólo lectura, puede realizar consultas sólo

( SELECCIONAR declaraciones) en contra de las tablas y vistas.

Estructura del Diccionario de Datos

El diccionario de datos consiste en lo siguiente:

Tablas de Base

Las tablas subyacentes que almacenan información sobre la base de datos asociada. Sólo Oracle

debe escribir y leer estas tablas. Los usuarios no acceder a ellas directamente, ya que se

normalizan, y la mayoría de los datos se almacenan en un formato críptico.

Accesible por el usuario Vistas

Las opiniones que resumen y mostrar la información almacenada en las tablas base del

diccionario de datos. Estos puntos de vista decodificar los datos de la tabla base en información

útil, tales como nombres de usuario o una mesa, con uniones y DONDE cláusulas para

simplificar la información. La mayoría de los usuarios tienen acceso a los puntos de vista en lugar

Page 33: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 33

de las tablas base.

SYS, propietario del Diccionario de Datos

El usuario de Oracle SYS posee todas las tablas de la base y accesibles para el usuario puntos de

vista del diccionario de datos. Ningún usuario de Oracle debe nunca alterar (

ACTUALIZACIÓN , DELETE , o INSERTAR ) las filas o los objetos de esquema que figura en el

SYS esquema, ya que dicha actividad puede comprometer la integridad de los datos. El

administrador de seguridad debe mantener un control estricto de la cuenta central.

Precaución:

Alterar o manipular los datos en las tablas del diccionario de datos de forma

permanente y puede dañar la operación de una base de datos.

¿Cómo el diccionario de datos se utiliza

El diccionario de datos tiene tres usos principales:

• Oracle accede al diccionario de datos para encontrar información sobre los usuarios, los

objetos de esquema, y las estructuras de almacenamiento.

• Oracle modifica el diccionario de datos cada vez que un lenguaje de definición de datos

(DDL) se emite.

• Cualquier usuario de Oracle puede utilizar el diccionario de datos como referencia de

sólo lectura para obtener información sobre la base de datos.

Forma en que Oracle utiliza el diccionario de datos

Los datos de las tablas base del diccionario de datos es necesaria para Oracle funcione . Por lo

tanto, sólo Oracle debe escribir o cambiar la información del diccionario de datos. Oracle

proporciona secuencias de comandos para modificar las tablas del diccionario de datos cuando

una base de datos está subido o bajado.

Page 34: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 34

Precaución:

No hay datos en cualquier tabla de diccionario de datos deben ser alterados o

borrados por otros usuarios.

Durante la operación de bases de datos, Oracle dice el diccionario de datos para cerciorarse de

que existen objetos de esquema y que los usuarios tienen un acceso adecuado a ellos. Oracle

también actualiza el diccionario de datos continuamente para reflejar los cambios en las

estructuras de base de datos, auditoría, las subvenciones, y los datos.

Por ejemplo, si el usuario Kathy crea una tabla llamada partes , a continuación, se agregan

nuevas filas al diccionario de datos que reflejan la nueva tabla, las columnas, segmentos,

extensiones, y los privilegios que Kathy tiene sobre la mesa. Esta nueva información es entonces

visible la próxima vez vistas del diccionario se consultan.

Sinónimos públicos de Vistas del Diccionario de Datos

Oracle crea sinónimos públicos de muchos puntos de vista del diccionario de datos que los

usuarios puedan acceder a ellos cómodamente. El administrador de seguridad También puede

crear sinónimos públicos para objetos de esquema que se utilizan en todo el sistema. Los usuarios

deben evitar nombrar a sus propios objetos de esquema con los mismos nombres que se utilizan

para sinónimos públicos.

La memoria caché del diccionario de datos para un acceso rápido

Gran parte de la información del diccionario de datos se mantiene en el SGA en la memoria

caché de diccionario , ya que Oracle siempre tiene acceso al diccionario de datos durante la

operación de bases de datos para validar el acceso de los usuarios y verificar el estado de los

objetos de esquema. Toda la información se almacena en la memoria con el usado menos

recientemente (LRU) algoritmo.

Información de análisis se suele mantener en el caché. La COMENTARIOS columnas que

describen las tablas y sus columnas no se almacenan en caché a menos que se accede con

frecuencia.

Page 35: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 35

Otros programas y el Diccionario de Datos

Otros productos de Oracle pueden hacer referencia a puntos de vista existentes y crear otras

tablas del diccionario de datos o puntos de vista de su propia cuenta. Los desarrolladores de

aplicaciones que escriben programas que se refieren al diccionario de datos deben referirse a los

sinónimos públicos en lugar de las tablas subyacentes: los sinónimos son menos propensos a

cambiar de versiones de software.

Cómo usar el diccionario de datos

Los puntos de vista del diccionario de datos sirven como referencia para todos los usuarios de

bases de datos. Acceder a las vistas del diccionario de datos con sentencias SQL. Algunos puntos

de vista son accesibles a todos los usuarios de Oracle, y otros están pensados para

administradores de bases de datos solamente.

El diccionario de datos siempre está disponible cuando la base de datos está abierta. Que reside

en el Sistema de tablas, que está siempre en línea.

El diccionario de datos consiste de un conjunto de puntos de vista. En muchos casos, un

conjunto formado por tres puntos de vista con información similar y distinguen entre sí por sus

prefijos:

Tabla 4-1 Datos prefijos Diccionario Vista

Prefijo Alcance

USERS Punto de vista del usuario (lo que está en el esquema del usuario)

ALL De usuarios ampliada de vista (lo que el usuario puede acceder)

DBA Punto de vista del administrador de base de datos (lo que está en los esquemas de todos

los usuarios)

Page 36: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 36

SISTEMAS DE RECUPERACIÓN

Export / Import Oracle 10g

¿Qué es un export/import en Oracle?

Export/Import es una utilidad de Oracle para realizar backups lógicos de Oracle ( y luego

poderlos restaurar ). Esto significa que copian el contenido de la BD pero sin almacenar la

posición física de los datos. Para realizar estas operaciones la base de datos tiene que estar abierta.

Para crear el fichero de backup se utiliza la utilidad export y para importar el contenido o

recuperar la base de datos se realiza import.

Este tipo de backup se utiliza en los siguientes casos:

• Para realizar backups de bases de datos ( pequeñas/medianas bases de datos )

• Para corregir "Row Migration & Row Chaining"

• Detectar alguna corrupción en la base de datos, puesto que al hacer el export se lee toda

la bd.

• Para "migrar" una base de datos a otro servidor

Ejemplo1: Copia completa de la base de datos

$exp file=/oracle9/export_orasite.dmp full=yes log=/oracle9/log/export_orasite.log

buffer=1000000

$exp file=/oracle9/export_orasite.dmp full=yes log=/oracle9/log/export_orasite.log

buffer=1000000

file=/oracle9/export_orasite.dmp > Nombre y ubicación del archivo del export ( el usuario oracle

tiene que tener permisos para escribir ahi. La extensión de este archivo es dmp.

Page 37: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 37

full=yes> Con esto indicamos que el export es completo, todos los esquemas de la base de datos y

sus datos permisos, privilegios ..

log=/oracle9/log/export_orasite.log > fichero para tener el log del export, el usuario oracle

también tiene que tener permisos en ese directorio para escribir.

buffer=1000000 > reservamos buffer para la operación.

Ejemplo2: Copia de tablas especificas de un usuario

$exp scott/tiger file=orasitescott.dmp tables=(emp,dept) buffer=1000000

En este caso realizamos sólo un backup de las tablas especificadas en el argumento tables del

usuario scott

Ejemplo3: Copiar tablas de un usuario con una condición especifica

$exp scott/tiger file=c:\orasitempleados.dmp tables=emp query=\"where deptno=10\"

Exportamos la tabla emp del usuario scott y en el argumento query espeficificamos una condición

para realizar el export de esa tabla

"Export interactivo"

Otra forma de realizar un export es poniendo simplemente en la línea de comando exp y esperar

a que te vaya pidiendo la utilidad los parámetros que requiere.

De esta forma te pedirá el usuario, constraseña, si quieres hacer copia sólo de la estructura, con

datos, sin datos, nombre del archivo ... etc.

Recomendaciones:

Se pueden hacer exports con diferentes versiones de Oracle, aunque es recomendable realizar el

export con la misma versión de la base de datos. En todo caso si se hace con un cliente, si la

versión es superior o la misma a la de la base de datos, Oracle "asegura" que no existe ningún

problema en realizarlo.

Page 38: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 38

IMPORTACIÓN DE ARCHIVOS

Ejemplo1: Importar todo el archivo exportado

$imp system/manager file=c:\orasitefull.dmp full=yes ignore=yes

log=c:\orasite\log\import_log.log buffer=1000000

Importamos con el usuario system que tiene permisos para importar el archivo orasitefull.dmp

dejando un log de dicha importación en import_log.log reservando un buffer de 100000

Page 39: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 39

Ejemplo2: Importar una tabla de un usuario concreto

$imp scott/tiger file=orasitempleados.dmp fromuser=scott touser=scott tables=dept

Importamos del archivo orasitempleados.dmp sólo del usuario scott de ese archivo al esquema del

usuario scott la tabla departamento

"Import interactivo"

Otra forma de realizar un import al igual que el export es introducir en la línea de comando imp

y esperar a que te vaya pidiendo la utilidad los parámetros que requiere.

De esta forma te pedirá el usuario, constraseña, el archivo para importar, qué quieres importar

del archivo ... etc.

Page 40: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 39

Informe: Nro. 7

Tema:

Manejo de Transacciones desde Java

1.- Presentaciones. Elegimos esta opción para crear la presentación de la base de datos.

Page 41: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 39

2. Clic derecho en base de datos. Esto para crear una conexión hacia la bdd.

3. Nueva conexión

3.1 En la opción driver seleccionamos “Oracle thin”

3.2 Agregamos la dirección del driver ojdbc lo podemos descargar aquí

http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html

Page 42: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 39

4. Especificar la conexión

4.1 SERVIDOR. Local host seria: 172.0.0.1

4.2 SERVICIO. Es la instancia de Oracle esta es Express Edition (EX).

4.3 PUERTO. El puerto listener e la bdd. 1521 por edfecto.

4.4 USURIO. El usuario de la bdd con privilegios para acceder remotamente.

5. Selección de tablas. Desplegamos la nueva conexión que se creó.

Page 43: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 39

5. Pruebas. Ya con la conexión correctamente y todos los datos mostrados podemos

ejecutar comandos.

Podemos ver que los datos se despliegan correctamente.

Todos los comandos admitidos en SQL*PLUS servían de igual forma en la hoja de comandos

de SQL de Neetbeans.

Page 44: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 39

TABLA DE BUSQUEDAS, ESDISTICAS Y TIEMPO DE RESPUESTA

1. BUSQUEDA POR CLAVE CANDIDATA PERO NO ESTA ORENADA POR

ATRIBUTO DE BUSQUEDA

1.1 podemos ver que el campo ID_ESTUDIANTE tiene todas sus filas desordenadas pero es

una clave primaria.

‚select id_estudiante from estudiantes where id_estudiante=80‛

1.2 ESTADISTICAS:

Page 45: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 39

2. BUSQUEDA POR CLAVE Y ATRIBUTOS ORDENADOS

La búsqueda será ‚select id_docente from docentes where id_docente=15‛

Estadísticas:

Page 46: SGBD ORACLE 10g XPRESS EDITION

http://www.wix.com/oracle10gutn/bdd2 39

3. BUSQUEDA POR NO CLAVE Y ATRIBUTOS ORDENADOS

Estadísticas: