17
Instituto Superior de Formación Docente y Técnica Nº 5 José Eugenio Tello Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos Tecnicatura Superior en Informática Cátedra de Base de Datos II Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 1 1. Conéctese utilizando sys/oracle AS sysdba y consulte las columnas tablespace_name y extent_management de dba_tablespaces para determinar que tablespaces se gestionan localmente y cuales por diccionarios. Registre los tablespaces que se gestionan por diccionarios.

TP-03_Uso Eficiente Bloques en BD

Embed Size (px)

DESCRIPTION

para practicar

Citation preview

Page 1: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 1

1. Conéctese utilizando sys/oracle AS sysdba y consulte las columnas tablespace_name y extent_management de dba_tablespaces para determinar que  tablespaces  se gestionan  localmente  y  cuales por diccionarios. Registre los tablespaces que se gestionan por diccionarios. 

  

 

Page 2: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 2

2. Modifique el usuario hr para que el tablespace tools sea el valor por defecto. 

 

3. Examine la vista v$system_event y observe el número total de esperas de la estadística en cola. 

 

Nota: Es más probable que recoja la contención en un sistema de producción a través del informe Statspack. 

Page 3: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 3

4. Examine también la vista v$enqueue_stat en busca de eq_type ‘ST’ para determinar el valor de total_wait# para ST en cola, que es la gestión de espacio en cola. 

 

5. Salga  de  la  sesión  SQL*Plus  y  cambie  el  directorio  a  c:\oraclass\student\labs.  Ejecute  el  archivo  de comandos lab13_04.bat desde el prompt del sistema operativo. Este archivo de comandos conectará cinco usuarios a la base de datos de forma simultánea y, a continuación, cada usuario crea y borra tablas. Cada tabla  tiene  muchas  extensiones.  El  archivo  de  comandos  se  debe  ejecutar  desde  el  directorio c:\oraclass\student\labs o fallará. 

  

Page 4: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 4

   

  

 

Page 5: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 5

 

 

6. Conéctese como system/oracle y examine de nuevo la vista v$enqueue_stat en busca de eq_type ‘ST’ para determinar el valor total_wait# para ST en cola, que es la gestión de espacio en cola. 

 

Page 6: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 6

 

Nota: Registre  la diferencia del número de esperas de ST en cola para  la gestión de  la extensión utilizando un tablespace gestionado por diccionario. Este valor se obtiene restando el primer valor de espera (de la práctica 13‐04) del segundo valor de espera (de la práctica 13‐06). 

7. Cree un nuevo  tablespace  test gestionado  localmente, asigne al archivo de datos el nombre  test01.dbf y colóquelo en el directorio c:\oraclass\oradata\u06. Defina el tamaño en 120MB y un tamaño de extensión uniforme de 20 KB. 

  

Page 7: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 7

8. Modifique el tablespace por defecto del usuario hr a test. 

 

Nota: Se vuelven a cubrir los mismos pasos. Esta vez, se busca el número de esperas de ST en cola provocadas por tablespaces gestionados localmente. 

9. Examine y registre el valor inicial de total_wait# para ‘ST’ en la vista v$enqueue_stat. 

  

Page 8: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 8

10. Salga  de  la  sesión  SQL*Plus  y  cambie  el  directorio  a  c:\oraclass\student\labs.  Ejecute  el  archivo  de comandos lab13_04.bat desde el prompt del sistema operativo. Este archivo de comandos conectará cinco usuarios a la base de datos de forma simultánea y, a continuación, cada usuario crea y borra tablas. Cada tabla  tiene  muchas  extensiones.  El  archivo  de  comandos  se  debe  ejecutar  desde  el  directorio c:\oraclass\student\labs o fallará. 

  

  

Page 9: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 9

11. Conéctese como  system/oracle. Examine y  registre de nuevo el valor  final de  total_wait# para  ‘ST’ en  la vista v$enqueue_stat. 

  

 

Nota: Registre la diferencia de total_wait# de ST en cola para la gestión de la extensión utilizando un tablespace gestionado  localmente.  Este  valor  se  obtiene  restando  el  primer  valor  de  espera  (de  la  práctico  13‐09)  del segundo  valor  de  espera  (de  la  práctica  13‐11).  Compare  los  dos  resultados  de  los  distintos  tablespaces.  El tablespace gestionado localmente sería mucho menos conflictivo con la gestión de la extensión, ya que gestiona el espacio dentro del propio tablespace. 

Page 10: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 10

12. Conéctese como usuario hr/hr y ejecute el archivo de comandos c:\oraclass\student\labs\lab13_12.sql. Se creará  una  tabla  similar  (new_emp)  a  la  tabla  employees,  pero  con  PCTFREE  =  0.  La  tabla  se  rellena  a continuación con datos de la tabla de employees.

 

Page 11: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 11

 

13. Ejecute ANALIZE en la tabla new_emp y consulte la vista dba_tables para determinar el valor de chain_cnt para la tabla new_emp. Registre este valor.  

 

Page 12: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 12

14. Cree un  índice denominado new_emp_name_idx en  la columna last_name de  la tabla new_emp. Coloque el índice en el tablespace indx. A continuación, confirme el estado del índice en la vista user_indexes. 

  

 

Page 13: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 13

15. Ejecute el archivo de comandos c:\oraclass\student\labs\lab13_15.sql que actualizará  las  filas de  la tabla new_emp. Analice la tabla new_emp de nuevo y consulte la vista user_tables para obtener el nuevo valor de chain_cnt. Registre ese valor. Compruebe también el estado del índice new_emp_name_idx. 

 

 

Page 14: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 14

 

 

Page 15: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 15

 

16. Resuelva  la migración provocada por  la actualización anterior utilizando el comando ALTER TABLE MOVE. Esto provocará que no se pueda reutilizar el índice y que se deba reconstruir utilizando el comando ALTER INDEX REBUILD  antes de  volver  a  analizar  la  tabla new_emp. Confirme que  se ha  resuelto  la migración consultando la columna chain_cnt en la vista user_tables y confirma que el índice es válido consultando la vista user_indexes. 

 

Page 16: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 16

 

 

 

Page 17: TP-03_Uso Eficiente Bloques en BD

Instituto Superior de Formación Docente 

y Técnica Nº 5 José Eugenio Tello 

Trabajo Práctico Nº 3 Uso Eficiente de los Bloques en la Base de Datos 

Tecnicatura Superior en Informática 

Cátedra de Base de Datos II 

Profesor: Ms. Ing. Héctor Pedro Liberatori Pág. 17