Sunteți pe pagina 1din 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

PRACTICAS TEMA 5.
TABLESPACES.

Pgina 1 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

5.1. Consultar los tablespaces que componen la BD. Comprobar los ficheros que tiene cada uno de ellos. Cules son 'locales' y cules no? Ver qu contiene el tablespace SYSAUX y el tamao de cada uno de sus ocupantes.
En el diccionario de datos disponemos de vistas para consultar informacin sobre tablespaces y los ficheros que los componen. Vamos a ver los tablespaces de dba_tablespaces: (Debemos arrancar primero la BD)

Podemos observar que todos los tablespaces son locales. No puede haber en este caso ninguno manejado pro el diccionario porque el SYSTEM es local Ahora vamos a ver ficheros que forman parte de cada tablespace, con sus tamaos actuales y los parmetros de crecimiento dinmico:

Lo que se realiza es un join entre ls tablas para ver el contenido de los tablespaces y donde se almacenena. Obsevemos v$datafile:

Pgina 2 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

Vamos a ver los ocupantes del tablespace SYSAUX y cuanto ocupa cada uno, por lo que consultaremos v$sysaux_occupants:

Pgina 3 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

5.2. Crea el tablespace DATAasir, NO manejado localmente, con el fichero /home/oracle/oracle/product/10.2.0/oradata/asir1/asir01.dbf, con un tamao de 1M. Cralo de nuevo, manejado localmente. Crea 3 tablas (TABLA01, TABLA02, TABLA03) de 256K sobre dicho tablespace. Borra la tabla TABLA02 y crea una tabla TABLA04 de 352K. Qu ocurre y por qu?
Debemos tener en cuenta que los tablespaces manejados localmente gestionan mejor los huecos libres, eliminando la fragmentacin que, en el caso de tablespaces tradicionales, provoca el borrado de objetos. Si el tablespace SYSTEM ha sido creado como LOCAL, ya no se podr crear ningn tablespace manejado por el DD en la BD

Y comprobamos el estado del tablespace creado:

A continuacin vamos a crear las tablas, dentro del tablespace.

Pgina 4 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

Y forzamos el borrado de una de las tablas, en este caso la tabla2 y comprobamos el espacio libre de nuestro tablespace:

Volvemos a crear la tabla y comprobamos el espacio de nuevo:

Podemos observar cmo se aprovechan los huecos que se generan con el borrado de tablas.

Pgina 5 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

5.3. Pon el tablespace DATACURSOxy en modo READONLY. Inserta una fila en alguna de sus tablas, qu ocurre? Borra la tabla TABLA01, por qu se puede borrar? Deja el tablespace DATACURSOxy en modo READWRITE. Repite el insert, ahora sobre TABLA03.
En un tablespace read only (solo lectura) no se pueden actualizar los datos, pero si se pueden borrar ya que el borrado de objetos solo afecta al diccionario de datos y no al tablespace:

E intentamos actualizar los datos, por ejemplo con un INSERT:

Podemos ver como nos dice que no se puede modificar en este momento. En cambio, vamos a intentar borrarla para ver que est accin si la permite:

Si lo volvemos a modo escritura, vemos como si se puede alterar el contenido de una tabla:

Pgina 6 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

5.4. Crea una tabla TABLA04 de 512K en el tablespace DATACURSOxy, qu ocurre y por qu? Activa el autoextend de su fichero, ajustando next 256K y maxsize 2M. Vuelve a crear la tabla TABLA06.
Cuando el tablespace se llena no ser posible crear mas objetos, a no ser que est activado el autoextend, de forma que permita la ampliacin del tablespace lo suficiente para albergar un nuevo objeto. Por lo que vamos a crear una tabla de 512K en el tablaspace DATAASIR, antes comprobaremos el espacio libre para ver que no podemos crearla porque no hay espacio suficiente:

Entonces alteraremos la base de datos y activamos autoextend para poder agregar la nueva tabla:

Y agregamos la tabla de nuevo:

Comprobamos de nuevo el espacio que nos queda libre en el tablespace:

Y lo que ocupa cada una:

Pgina 7 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

5.5. Crea el tablespace INDATAASIR de 1M con el fichero '/home/oracle/oracle/product/10.2.0/oradata/asir1/asir02.dbf '. Muvelo al directorio '/home/oracle/oracle/product/10.2.0/oradata/asir1/'.
Para mover o renombrar un fichero de un tablespace, ste debe estar en modo OFFLINE. Creamos el tablespace y lo alteramos:

Entonces movemos y renombramos el tablespace ahora que ya est en modo OFFLINE:

Volvemos a cambiar el estado del tablespace a ONLINE y comprobamos los directorios de los tablespaces:

Pgina 8 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

5.6. Redimensionar el tablespace DATAASIR a 1M qu ocurre y por qu? Redimensionar el tablespace INDATAASIR a 512K, y aadirle otro fichero de 512K.
Se podr redimensionar un fichero reduciendo su tamao solo si el espacio recortado est libre. En el caso de DATAASIR no es posible reducirlo a 1M porque tiene el espacio ocupado, pero en INDATAASIR s que se podr porque tiene espacio vaco. Efectivamente lo comprobamos y vemos que no podemos:

Pero vamos a intentarlo con el asir02.dbf:

Pgina 9 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

5.7. Crear un tablespace de undo UNDO_ASIR. Convertirlo en el tablespace de undo activo. Crear una tabla TABLA05 en el nuevo tablespace, qu ocurre? Consultar la vista V$UNDOSTAT.
Podemos tener varios tablespaces de undo, pero solo uno de ellos estar activo en un momento dado. No se pueden crear objetos sobre un tablespace undo. Creamos un tablespace undo

Creamos la tabla5 y vemos que ocurre:

No podemos crear tablas en tablespaces undo Vemos el estado:

Pgina 10 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

Alteramos el sistema y volvemos a comprobarlo:

Comprobamos el estado de v$undostat:

Pgina 11 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

Pgina 12 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

5.8. Crear un tablespace temporal TEMP_ASIR de 1M. Qu ocurre al ponerlo readonly? Haz que sea el tablespace temporal por defecto de la base de datos qu pasa al ponerlo offline? Y si lo borramos?
Un tablespace temporal no puede ponerse en modo read only (solo lectura) y tampoco se puede poner offline. El tablespace temporal por defecto de la BD tampoco puede ser borrado.

Entonces creamos el tablespace temporal:

E intentamos cambiarlo a modo de solo lectura u offline y vemos que no nos lo permite por ser un tablespace temporal:

Lo mismo, le ponemos como el tablespace por defecto e intentamos eliminarlo:

Pgina 13 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

Volvemos a colocar por defecto el tablespace que haba y comprobamos que si podemos eliminarlo:

Pgina 14 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

5.9. Comprobar el tablespace por defecto y tambin el temporal que tiene definido cada usuario que existe en la BD. Modificar el tablespace por defecto de la BD por DATAASIR y volver a hacer la comprobacin anterior. Renombrar el tablespace DATAASIR por DATOSASIR y hacer de nuevo la comprobacin.
Vemos el tablespace por defecto y remporal de cada usuario en DBA_USERS:

Pgina 15 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

Colocamos por defecto nuestro tablespace y lo comprobamos:

Observamos que para los usuarios OUTLN, SYS, SYSTEM y DBSNMP no cambia el tablespace por defecto. Lo renombramos:

Y lo volvemos a comprobar:

Pgina 16 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

5.10. Crear los tablespaces TEMP1ASIR Y TEMP2ASIR de 4M cada uno y asignarlos al grupo GTEMP. Asignar al usuario scott el tablespace temporal GTEMP.
Creamos los tablespaces temporales:

Se los asisgnamos al grupo gtemp:

Alteramos el usuario Scott para que est en el grupo gtemp:

Y lo comprobamos que est usandolo:

Pgina 17 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

5.11. Consultar la estadstica DB time en V$SYS_TIME_MODEL. Generar un informe de ADDM (Automatic Database Diagnostic Monitor). Generar tambin un informe de AWR.
Podemos generar el informa ADDM con /home/oracle/oracle/product/10.2.0/db_1/rdbms/admin/addmrpt.sql .El objetivo es reducir DB time que es el tiempo acumulado invertido por la BD en atender las peticiones de los usuarios. ADDM da recomendaciones en sus informes sobre los ajustes de la BD. Los informes de AWR se pueden generar con /home/oracle/oracle/product/10.2.0/db_1/rdbms/admin/awrrpt.sql Visualizamos el valor de v$sys_time_model:

Pgina 18 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

Alteramos el sistema con nuestro tablespace undo

Generamos el informe de ADDM:

Pgina 19 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

Lo mismo con el informe AWR:

Pgina 20 de 21

Eduardo Bayn Cascajo

Administracin de BD Oracle10g

Y parte del documento que se genera es:

Pgina 21 de 21

S-ar putea să vă placă și