tablespaces en oracle

19
Tablespaces en Oracle Jesús Armand Calejero Román

Upload: jesus-armand-calejero-roman

Post on 02-Dec-2014

111.824 views

Category:

Technology


2 download

DESCRIPTION

Tablespaces en Oracle. Más en http://calejero.blogsome.com/

TRANSCRIPT

Page 1: Tablespaces En Oracle

Tablespaces en Oracle

Jesús Armand Calejero Román

Page 2: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 2

Índice

Espacio de almacenamiento Tipos de tablespaces Estado del tablespace Manipulación del tablespace Cláusula Storage Tablespaces temporales Tablespaces read only Tablespace de Undo

Page 3: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 3

Espacio de almacenamiento

Estructura de los tablespace En los tablespaces se almacenan los objetos del

esquema de la BD (tablas, índices, etc.), pudiéndose repartir por varios ficheros.

Una BD tiene varios tablespaces. Un tablespace tiene varios datafiles. Un datafile sólo pertenece a un tablespace y un

tablespace sólo pertenece a una BD.

Page 4: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 4

Espacio de almacenamiento (2)

La estructura es la siguiente:

Page 5: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 5

Tipos de tablespaces

Tablespace SYSTEM Se crea automáticamente al hacer la instalación de Oracle,

o al crear una BD. Contiene el diccionario de datos.

Tablespaces temporales Es aquél en el que solamente puede haber objetos

temporales. No se pueden crear objetos permanentes como pueden ser los índices, las tablas o los segmentos de rollback. Optimización operaciones de ordenación.

Page 6: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 6

Tipos de tablespaces (2)

De tipo deshacer cambios (9i) Se utilizan para gestionar poder deshacer las

transacciones incompletas. En versiones anteriores Rollback

Con tamaño de bloque variable (9i)

De tipo BigFile (10g)

Page 7: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 7

Estado del tablespace

Un tablespace puede estar en dos estados: Online y Offline. .

Existe una vista que nos da información sobre los tablespaces de nuestra base de datos. select tablespace_name, status from

dba_tablespaces;

Page 8: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 8

Estado del tablespace. Modo offine.

Para poder hacer una copia de seguridad del tablespace estando completamente seguros de que nadie está modificando los objetos del tablespace.

Para poder actualizar una aplicación que se basa en los objetos de este tablespace sin que ningún usuario pueda modificar los datos en medio de la actualización.

Page 9: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 9

Estado del tablespace. Modo online.

Lo contrario a las tablespace en modo offline.

Page 10: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 10

Manipulación del tablespace

Crear un Tablespace. Create tablespace prueba datafile 'c:\

ORACLEXE\ORADATA\XE\prueba01.dbf' size 100M;

Aumentar el tamaño del Tablespace. Alter database tablespace prueba add datafile ‘c:\

oracleexe\oradata\XE\prueba02.dbf' size 50M; Alter database datafile

'/users/oradata/orcl/prueba01.dbf' resize 150M;

Page 11: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 11

Manipulación del tablespace (2)

Borrando un tablespace. Para eliminar un tablespace de la base de datos

se debe utilizar la sentencia:

Drop tablespace prueba;

Page 12: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 12

Cláusula Storage

Todo objeto que tenga ocupación física tiene esta cláusula.

El objetivo es definir ciertas propiedades de almacenamiento para el objeto creado.

Page 13: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 13

Cláusula Storage (2) STORAGE( INITIAL entero{K|M} NEXT entero{K|M}

{MINEXTENTS entero} {MAXEXTENTS entero|UNLIMITED} {PCTINCREASE %entero} )

Tamaño de los bloques:

PCTINCREASE Redondeo hacia arriba.MINEXTENTS/MAXEXTENTS Máx. Depende del S.O

Atributo Mínimo Máximo Defecto

INITIAL 2 bloques * 5 bloques

NEXT 1 bloque *

Page 14: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 14

Tablespaces temporales

Para crear un tablespace temporal simplemente hay que añadir la palabra TEMPORARY a la instrucción utilizada para crear tablespaces normales. Create tablespace prueba datafile

'/users/oradata/orcl/prueba01.dbf' size 100M temporary; Alter user nombre_de_usuario temporary tablespace

nombre_de_tablespace; Select username, temporary_tablespace from dba_users; Select tablespace_name, contents from dba_tablespaces;

Page 15: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 15

Tablespaces read only

Se pueden consultar los datos de los objetos, no se puede ni borrar ni insertar nada en ellos.

La principal ventaja de un tablespace read only es que no hace falta hacer backup del mismo.

Page 16: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 16

Tablespace read only: ejemplo

SQL> alter tablespace DATACURSOxy read only;Tablespace modificado.SQL> insert into tabla01 values ('PRIMERA FILA');ORA-00372: el fichero 3 no puede ser modificado en este momentoORA-01110: fichero de datos 3: '/u02/oradata/CURSOxy/datacursoxy01.dbf'SQL> DROP TABLE TABLA01;Tabla borrada.SQL> alter tablespace DATACURSOxy read write;Tablespace modificado.SQL> insert into tabla02 values ('PRIMERA FILA');1 fila creada.SQL> commit;Validación terminada.

Page 17: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 17

Tablespace de Undo

Podemos tener varios tablespaces de “undo”, pero sólo uno de ellos estará.

No se pueden crear objetos sobre un tablespace de “undo”.

Al cambiar de tablespace “undo” activo (con undo_tablespace), los segmentos de rollback que contiene el nuevo tablespace pasan a estar “online”, mientras que los del tablespace anterior se ponen offline.

Page 18: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 18

Tablespace de Undo (2)

Se crean de dos formas: Mediante create database. Mediante create tablespace:

Create undo tablespace undotbs02 datafile ‘c:\oraclexe\oradata\ex\undo02.dbf’ size 25M reuse autoextend on;

Para eliminarlo: drop tablespace undotbs02;

Page 19: Tablespaces En Oracle

Introducción a los espacios de tablas en Oracle 19

Tablespace de Undo (3)

Parámetros de inicialización de los espacios de tablas de deshacer: Undo_Management (valores MANUAL/AUTO). Si

auto se gestionará de forma automática el espacio de deshacer. No es dinámico, cuando se cambia de estado se debe rearrancar la instancia.

Undo_tablespace (MANUAL/AUTO). En entornos RAC (Real Application Clusters)