PDF de programación - Practicas Tema5 - Tablespaces

Imágen de pdf Practicas Tema5 - Tablespaces

Practicas Tema5 - Tablespacesgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 24 de Noviembre del 2017)
1.471 visualizaciones desde el 24 de Noviembre del 2017
293,7 KB
16 paginas
Creado hace 16a (29/11/2007)
Administración Básica de Oracle10g

PRACTICAS TEMA 5.
TABLESPACES.

5.1. Consultar los tablespaces que componen la BD. Comprobar los ficheros que tiene cada 
uno de ellos. ¿Cuáles son 'locales' y cuáles no? Ver qué contiene el tablespace SYSAUX y 
el tamaño de cada uno de sus “ocupantes”.
5.2.  Crea   el   tablespace   DATACURSOxy,   NO   manejado   localmente,   con   el   fichero 
/u02/oradata/CURSOxy/datacursoXY01.dbf,   con   un   tamaño   de   1M.   Créalo   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é?.
5.3. Pon el tablespace DATACURSOxy en modo READ­ONLY. Inserta una fila en alguna de 
sus tablas, ¿qué ocurre y por qué?. Borra la tabla TABLA01, ¿por qué se puede borrar?. 
Deja   el   tablespace     DATACURSOxy   en   modo   READ­WRITE.   Repite   el   insert   sobre 
TABLA02.
5.4. Crea una tabla TABLA04 de 256K 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 TABLA04.
5.5. 
Crea   el
'/u02/oradata/CURSOxy/indcursoXY01.dbf'. Muévelo al directorio '/u03/oradata/CURSOxy'.
5.6.  Redimensionar   el   tablespace   DATACURSOxy   a   1M   ¿qué   ocurre   y   por   qué?. 
Redimensionar el tablespace INDCURSOxy a 512K, y añadirle otro fichero de 512K.
5.7. Crear un tablespace de “undo” UNDO_CURSOxy. Convertirlo en el tablespace de “undo” 
activo. Crear una tabla TABLA05 en el nuevo tablespace, ¿qué ocurre? Consultar la vista 
V$UNDOSTAT.
5.8.  Crear un tablespace temporal TEMP_CURSOxy de 1M. ¿Qué ocurre al ponerlo read­
only? ¿y al moverlo? Haz que sea el tablespace temporal por defecto de la base de datos 
¿que pasa al ponerlo offline? ¿y si lo borramos?
5.9. Comprobar el tablespace por defecto y tb el temporal que tiene definido cada usuario que 
existe en la BD. Modificar el tablespace por defecto de la BD por DATACURSOxy y volver a 
hacer la comprobación anterior.
5.10.  Crear   los   tablespaces   TEMP01CURSOxy   Y   TEMP02CURSOxy   de   4M   cada   uno   y 
asignarlos al grupo GTEMP. Asignar al usuario scott el tablespace temporal GTEMP.
5.11.  Consultar la estadística “DB time” en V$SYS_TIME_MODEL. Generar un informe de 
ADDM (Automatic Database Diagnostic Monitor). Generar tb un informe de AWR.

INDCURSOxy   de   1M   con   el

tablespace  

 

 

fichero 

© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez

1

Administración Básica de Oracle10g

5.1.    Consultar los tablespaces que componen la BD. Comprobar los ficheros 
que tiene cada uno. ¿Cuales son 'locales' y cuales no? Ver qué contiene el 
tablespace SYSAUX y el tamaño de cada uno de sus “ocupantes”.

En   el   DD   disponemos   de   vistas   para   consultar   información   sobre   tablespaces 
(DBA_TABLESPACES,   V$TABLESPACE)   y   los   ficheros   que   los   componen   (DBA_DATA_FILES, 
DBA_TEMP_FILES, V$DATAFILE, V$TEMPFILE)

SQL> select tablespace_name,extent_management from dba_tablespaces;
TABLESPACE_NAME                EXTENT_MAN
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ ­­­­­­­­­­
SYSTEM                         LOCAL
UNDO_RBS                       LOCAL
SYSAUX                         LOCAL
TEMP                           LOCAL
USERS                          LOCAL

(Todos los tablespaces son locales. En este caso no puede haber ninguno manejado por 
diccionario pq el SYSTEM es local.)

SQL> SELECT rpad(a.TABLESPACE_NAME,10) tablespace,rpad(a.FILE_NAME,40) fichero,
       to_char(a.BYTES/1024/1024,'999.99') MB,
       to_char(a.increment_by*b.value/1024/1024,'99.99') nextmb,
       to_char(a.MAXBYTES/1024/1024,'9999.99') maxmb
     FROM DBA_DATA_FILES a, v$parameter b
     where b.name='db_block_size';
TABLESPACE FICHERO                                  MB      NEXTMB MAXMB
­­­­­­­­­­ ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ ­­­­­­­ ­­­­­­ ­­­­­­­­
USERS      /u02/oradata/CURSOxy/users01.dbf            1.00   1.00    20.00
SYSAUX     /u03/oradata/CURSOxy/sysaux01.dbf         140.00  10.00   400.00
UNDO_RBS   /u03/oradata/CURSOxy/undo_rbs01.dbf        20.00   1.00    20.00
SYSTEM     /u02/oradata/CURSOxy/system01.dbf         260.00  10.00   400.00

(En la sentencia anterior se muestran los ficheros q forman parte de cada tablespace, con 
sus tamaños actuales, así como los parámetros de crecimiento dinámico.)

SQL> select rpad(name,40) name,CHECKPOINT_CHANGE#,

to_char(CHECKPOINT_TIME,'dd/mm/yyyy hh24:mi') CHECKPOINT_TIME
from v$datafile;

NAME                                     CHECKPOINT_CHANGE# CHECKPOINT_TIME
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ ­­­­­­­­­­­­­­­­­­ ­­­­­­­­­­­­­­­­
/u02/oradata/CURSOxy/system01.dbf                   1172753 07/11/2006 09:51
/u03/oradata/CURSOxy/undo_rbs01.dbf                 1172753 07/11/2006 09:51
/u03/oradata/CURSOxy/sysaux01.dbf                   1172753 07/11/2006 09:51
/u02/oradata/CURSOxy/users01.dbf                    1172753 07/11/2006 09:51

Para ver los “ocupantes” del tablespace SYSAUX, y cuánto ocupa cada uno consultaremos V$

SQL> select rpad(occupant_name,30), space_usage_kbytes from v$sysaux_occupants;
RPAD(OCCUPANT_NAME,30)         SPACE_USAGE_KBYTES
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ ­­­­­­­­­­­­­­­­­­
LOGMNR                                       6080
LOGSTDBY                                      896
STREAMS                                       512
XDB                                             0

© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez

2

Administración Básica de Oracle10g

AO                                            768
XSOQHIST                                      768
XSAMD                                           0
SM/AWR                                      52672
SM/ADVISOR                                   8000
SM/OPTSTAT                                  14784
SM/OTHER                                     4864
...
EM_MONITORING_USER                           1600
TSM                                           256
JOB_SCHEDULER                                 384
26 filas seleccionadas.

5.2.    Crea   el   tablespace   DATACURSOxy,   NO   manejado   localmente,   con   el 
fichero /u02/oradata/datacursoXY01.dbf, con un tamaño de 1M. Créalo de nuevo, 
manejado localmente. Crea 3 tablas   (TABLA01, TABLA02, TABLA03) de 256K 
sobre dicho  tablespace. Borra las tabla TABLA02 y crea una tabla  TABLA04 de 
352K. ¿Qué ocurre y por qué?.

Los   tablespaces   'manejados   localmente'   gestionan   mejor   los   huecos   libres,   eliminando   la 
fragmentación  que,  en   el  caso   de   tablespaces   tradicionales,  provoca  el  borrado  de   objetos. El 
espacio libre inicial en los 'tablespaces locales' es algo menor que en los 'tradicionales', ya que se 
pierde espacio para el bitmap.

Si   el   tablespace   SYSTEM   ha   sido   creado   como   LOCAL,   ya   no   se   podrá   crear   ningún 
tablespace manejado por DICCIONARIO en la BD.

(¡¡¡ OJO !!! sustituye “xy” por el número de tu usuario de prácticas)

SQL> create tablespace DATACURSOxy
     datafile '/u02/oradata/CURSOxy/datacursoXY01.dbf' size 1M reuse
     extent management dictionary;
ORA­12913: No se puede crear un tablespace gestionado por el diccionario
SQL> Create tablespace DATACURSOxy

datafile '/u02/oradata/CURSOxy/datacursoXY01.dbf' size 1M reuse
extent management local uniform size 128K;

Tablespace creado.

SQL> select tablespace_name,extent_management from dba_tablespaces
      where tablespace_name='DATACURSOxy';
TABLESPACE_NAME                EXTENT_MAN
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ ­­­­­­­­­­
DATACURSOxy                    LOCAL

SQL> create table TABLA01 (C1 VARCHAR2(4000))

tablespace DATACURSOxy storage (initial 256K minextents 1);

Tabla creada.

SQL> create table TABLA02 (C1 VARCHAR2(4000))

tablespace DATACURSOxy storage (initial 256K minextents 1);

Tabla creada.

© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez

3

Administración Básica de Oracle10g

SQL> create table TABLA03 (C1 VARCHAR2(4000))

tablespace DATACURSOxy storage (initial 256K minextents 1);

Tabla creada.

SQL> drop table tabla02 purge;
Tabla borrada.

SQL> select bytes from dba_free_space where tablespace_name='DATACURSOxy';
     BYTES
­­­­­­­­­­
    262144
    131072

SQL> create table TABLA02 (C1 VARCHAR2(4000))
        tablespace DATACURSOxy storage (initial 352K minextents 1);
Tabla creada.

SQL> select bytes from dba_free_space where tablespace_name='DATACURSOxy';
ninguna fila seleccionada

Como se observa, siendo el tablespace local, se aprovechan los huecos que se generan con el 
borrado de tablas. La cuestión clave, en este caso, es encontrar un tamaño adecuado para “uniform 
size”. Una posibilidad es tener varios tablespaces: pequeño, mediano y grande con uniform size, por 
ejemplo, de 8K, 256K y 8M:

• DATOS8K: para guardar tablas de menos de 1M de tamaño.
• DATOS256K: para tablas de entre 1M hasta 32M.
• DATOS8M: para aquellas mayores de 32M.

5.3.  Pon el tablespace DATACURSOxy en modo READ­ONLY. 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 READ­WRITE. Repite el 
insert, ahora sobre TABLA03.

En un tablespace read only no se pueden actualizar datos (insert, update, delete), pero sí se pueden 
borrar objetos (drop table), ya que el borrado de objetos sólo afecta al DD (y no al tablespace).

SQL> alter tablespace DATACURSOxy read only;
Tablespace modificado.

SQL> insert into tabla01 values ('PRIMERA FILA');
ORA­00372: el fichero 5 no puede ser modificado en este momento
ORA­01110: fichero de datos 5: '/u02/oradata/CURSOxy/datacursoXY01.dbf'

SQL> DROP TABLE TABLA01 purge;
Tabla borrada.

SQL> alter tablespace DATACURSOxy read write;
Tablespace modificado.

SQL> insert into tabla03 values ('PRIMERA FILA');
1 fila creada.

© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez

4

Administración Básica de Oracle10g

SQL> commit;
  • Links de descarga
http://lwp-l.com/pdf7677

Comentarios de: Practicas Tema5 - Tablespaces (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad