Sie sind auf Seite 1von 18

Universidad Privada Antenor Orrego

Carrera Profesional de Ingeniería de Computación y Sistemas

Laboratorio Nº 6: Tablespace Undo, Tablas e Índices


Ciclo VI
Apellidos y Nombres: ......................................................................................................... Fecha: 29/04/2019

INSTRUCCIONES: A continuación se le presenta una serie de enunciados, los


cuales deberá desarrollarlos de manera clara y ordenada. Muestre los objetos
creados o sus modificaciones, haciendo uso de consultas ejecutadas en
SQL*PLUS. Enumere cada uno de los pasos realizados y capture las
imágenes respectivas. Muestre siempre la fecha y hora de su
ordenador; así como su nombre y apellido en el título del terminal.

I. Incluir los ejemplos explicados en clase.


II. Estructura de almacenamiento y sus relaciones
1. Como usuario SYSTEM, ejecute el script lab05a.sql para crear tablas e
índices.
Ojo: Reemplace por la ruta
de sus archivos

2. Identificar los diferentes tipos de segmentos en la base de datos.

3. Escriba una consulta para verificar qué segmentos tienen cinco extents,
fuera de los extents máximo. Ignore el segmento bootstrap. Esta consulta
es útil para identificar cualquier segmento que probablemente genere
errores durante carga de datos posterior.

Ing. Diana Flores Pág. 1


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

4. ¿Qué archivos tienen asignado espacio para la tabla EMP?

5. Ejecute el script lab05b.sql. Ojo: Reemplace por la ruta


de sus archivos

6. Liste el espacio libre disponible por tablespace. La consulta puede


mostrar el número de fragmentos, el espacio libre total, y el extent libre
más grande en cada tablespace.

Ing. Diana Flores Pág. 2


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

7. Liste los segmentos que podrían generar errores por falta de espacio
cuando se intenta asignar un extent adicional.

Ing. Diana Flores Pág. 3


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

III. Administrando Datos Undo


1. Conectarse como usuario SYSTEM/ORACLE, y liste los segmentos
UNDO en el tablespace UNDOTBS.

Ing. Diana Flores Pág. 4


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

2. Crear un tablespace undo UNDO2, tamaño 15M, en C:\... Listar los


segmentos undo en el tablespace UNDO2.

Ojo: Reemplace por la ruta


de sus archivos

3. En una nueva ventana de comando ejecute SQL*Plus y conéctese como


usuario HR y ejecute el script lab05c.sql para insertar filas a la tabla
DEPARTMENTS. No confirme, roll back, o salga de la sesión.

4. En la sesión conectada como SYS, usando el comando ALTER SYSTEM,


intercambie el tablespace UNDO, de UNDOTBS1 a UNDO2 para la
instancia.

Ing. Diana Flores Pág. 5


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

5. Como SYS elimine el tablespace UNDOTBS. ¿Qué pasa?

6. Liste los segmentos en el tablespace UNDOTBS1 y sus estados. Compare


esta lista con la lista del paso 1.

Ing. Diana Flores Pág. 6


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

7. En la sesión conectada como HR, deshacer la transacción y salir de la


sesión.

8. En la sesión conectado como SYS elimine el tablespace UNDOTBS1.


¿Qué pasa?

9. Como SYS ejecute el siguiente comando:


ALTER SYSTEM SET undo_retention=0 SCOPE=memory;
Ahora elimine el tablespace UNDOTBS1. ¿Qué pasa?
Nota: Un silencio puede darse antes de ser eliminado el tablespace.

Ing. Diana Flores Pág. 7


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

IV. Administrando Tablas


1. Crear las siguientes tablas como usuario SYSTEM para un sistema de
entrada de órdenes que está implementando ahora. Las tablas y las
columnas se muestran abajo. Nota: Cuando use OEM asegúrese que el
campo DATE_OF_DELY esté con valor nulo.

Usted tiene información que en la tabla ORDERS, pueden ser insertados


filas sin un valor para DATE_OF_DELY, y que puede ser actualizado
cuando la orden es confirmada. Use el tablespace USERS. Usted puede
usar la configuración de almacenamiento por defecto.

Ing. Diana Flores Pág. 8


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

2. Ejecutar el script lab06a.sql para insertar filas en las tablas.


Ojo: Reemplace por la ruta
de sus archivos

3. Encontrar que archivos y bloques contienen las filas para la tabla orders.
Sugerencia: Consulte la vista del diccionario de datos DBA_EXTENTS.

4. Verifique el número de extents usados por la tabla ORDERS.

Ing. Diana Flores Pág. 9


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

5. Asignar un extent manualmente, con tamaño por defecto, para la tabla


ORDERS y confirmar que el extent ha sido adicionado como lo
especificado.

6. Crear otra tabla, ORDERS2 como copia de la tabla ORDERS en el


tablespace USERS, con MINEXTENTS igual a 10. Verifique que la tabla
fue creada con el número específico de extents.

Ing. Diana Flores Pág. 10


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

7. Truncar la tabla ORDERS sin liberar espacio y confirmar el número de


extents, para verificar aquellos que no han sido des asignados.

8. Truncar la tabla ORDERS2, liberando espacio. ¿Cuantos extents tiene


ahora la tabla?

Ing. Diana Flores Pág. 11


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

9. Ejecute el script lab06b.sql para insertar las mismas filas dentro de la


tabla ORDERS2.
Ojo: Reemplace por la ruta
de sus archivos

10. Mire las columnas para la tabla ORDERS2. Luego marque la columna
DATE_OF_DELY como UNUSED. Mire nuevamente las columnas para
la tabla ORDERS2. ¿Qué pasa?

Ing. Diana Flores Pág. 12


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

11. Eliminar la columna sin usar DATE_OF_DELY.

12. Eliminar la tabla ORDERS2.

V. Administrando índices
1. Usted está considerando crear índices sobre las columnas NAME y
REGION de la tabla CUSTOMERS. ¿Qué tipo de índice es apropiado
para estas dos columnas? Crear dos índices, nombrarlos
CUST_NAME_IDX y CUST_REGION_IDX, respectivamente, y
colocarlos en el tablespace INDEX01.

Ing. Diana Flores Pág. 13


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

Sugerencia: Un índice B-tree es adecuado para una columna con muchos


valores distintos, y un índice bitmap es adecuado para columnas con
pocos valores distintos. La tabla CUSTOMERS está en el esquema
SYSTEM.

2. Mover el índice CUST_REGION_IDX a otro tablespace.


Sugerencia: El índice puede ser reconstruido indicando otro tablespace.

3. Muestre los archivos y bloques usados por los extents del índice
CUST_REGION_IDX.
Sugerencia: Use la vista DBA_EXTENTS para obtener esta información.

Ing. Diana Flores Pág. 14


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

4. Volver a crear el índice CUST_REGION_IDX, sin borrarlo y


guardándolo en el mismo tablespace como antes. ¿El nuevo índice usa los
mismos bloques que fueron usados anteriormente?
Sugerencia: Reconstruir el índice.
Note: El nuevo índice no reúsa el mismo espacio como ve desde la
ubicación del extent después de reconstruirlo. Esto es porque el servidor
Oracle construye un índice temporal, borra el antiguo, y renombra el
índice temporal.

5.
a. Como usuario SYSTEM, ejecute el script lab06c.sql para crear y
poblar la tabla NUMBERS.
Ojo: Reemplace por la ruta
de sus archivos

b. Consulte la tabla NUMBERS para encontrar el número de valores


distintos en las dos columnas de la tabla.

Ing. Diana Flores Pág. 15


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

c. Usando tamaños de extent uniformes de 4KB, crear dos índices B-tree,


NUMB_OE_IDX y NUMB_NO_IDX sobre las columnas ODD_EVEN
y NO de la tabla NUMBERS, respectivamente. Coloque los índices en
el tablespace INDEX01. Verifique los tamaños totales de los índices y
escriba el número de bloques en la tabla de abajo.
Sugerencia: Use PCTINCREASE igual a cero para crear los extents
de igual tamaño.
Verifique el total de bloques asignados a los extents desde la vista
DBA_SEGMENTS.

Ing. Diana Flores Pág. 16


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

d. Después que haya copiado los bloques de arriba, elimine los dos
índices, NUMB_OE_IDX y NUMB_NO_IDX. Usando extents de
tamaño uniforme de 4KB, crear índices bitmap NUMB_OE_y
NUMB_NO_IDX sobre las columnas ODD_EVEN y NO de la tabla
NUMBERS, respectivamente. Coloque los índices en el tablespace
INDEX01. Vuelva a ejecutar la consulta para verificar el total de
bloques asignados para los extents de DBA_SEGMENTS.
Verifique los tamaños totales de los índices y escríbalo en el cuadro de
abajo.

Ing. Diana Flores Pág. 17


Universidad Privada Antenor Orrego
Carrera Profesional de Ingeniería de Computación y Sistemas

¿Qué puede usted concluir acerca de la relación entre cardinalidad y el


tamaño de los dos tipos de índices?
Respuesta: Se puede observar desde los resultados que un índice bitmap es para una
columna con cardinalidad pequeña, mientras que un índice B-tree es para una
columna con alta cardinalidad.

Ing. Diana Flores Pág. 18

Das könnte Ihnen auch gefallen