Logo Studenta

U05_Gestión Estructuras de Almacenamiento de BD

¡Este material tiene más páginas!

Vista previa del material en texto

UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  1/19 
 
 
UNIDAD 5 
GESTIÓN DE ESTRUCTURAS DE ALMACENAMIENTO DE BD 
5.1.	OBJETIVOS	
 Describir como se almacenan en bloques los datos de fila de tabla. 
 Definir el objetivo de tablespaces y archivos de datos. 
 Crear y gestionar tablespaces. 
 Obtener información de tablespaces. 
 Describir las funcionalidades y conceptos principales de Gestión Automática de Almacenamiento (ASM). 
5.2.	ESTRUCTURAS	DE	ALMACENAMIENTO	
Una  base  de  datos  se  divide  en  unidades  lógicas  de  almacenamiento  denominadas  tablespaces.  Cada 
tablespace  se  compone  de  muchos  bloques  lógicos  de  datos  de  Oracle.  El  parámetro  DB_BLOCK_SIZE 
especifica el tamaño que tiene un bloque lógico. El rango de tamaño de un bloque lógico es de 2 KB a 32 KB. 
El tamaño por defecto es 8 KB. 
Un número determinado de bloques  lógicos  contiguos  constituye una extensión. Un  juego de extensiones 
que  se  asignan  según  una  estructura  lógica  concreta  constituye  un  segmento  La  Figura  5.1  ilustra  los 
conceptos de tablas y segmentos. Un bloque de datos de Oracle representa  la unidad más pequeña de E/S 
lógica. 
Una base de datos se divide en una o varias unidades lógicas de almacenamiento denominadas tablespaces. 
Las  tablas  se dividen  en unidades  lógicas de  almacenamiento  llamadas  segmentos, quienes  se dividen  en 
extensiones. Las extensiones son una colección de bloques contiguos. La Figura 5.1  ilustra  los conceptos de 
tablas y segmentos. 
Un bloque de datos es  la unidad más pequeña de  los datos utilizados por una base de datos. Oracle pide 
datos  en múltiplos  de  bloques  de  datos  Oracle.  El  tamaño  de  bloque  es  especificado  con  el  parámetro 
DB_BLOCK_SIZE.    El  tamaño de bloque de datos debe  ser un múltiplo del  tamaño de bloque del  sistema 
operativo para evitar  innecesarias operaciones de E/S. La Figura 5.2  ilustra  los conceptos de estructuras de 
almacenamiento lógico y físico. 
 
Figura 5.1: Estructuras de almacenamiento 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  2/19 
 
 
 
Figura 5.2: Relación entre almacenamiento lógico y físico 
5.3.	ALMACENAMIENTO	DE	DATOS	DE	TABLA	
Al crear una tabla, se crea un segmento para contener los datos. Un tablespace contiene una recopilación de 
segmentos. Desde el punto de vista lógico, una tabla contiene filas de valores de columna (Figura 5.3). 
En  última  instancia,  una  fila  se  almacena  en  una  base  de  datos  en  forma  de  una  parte  de  una  fila.  Se 
denomina parte de una fila porque en determinadas circunstancias puede que la fila entera no se almacene 
en un solo lugar. Esta situación se produce cuando una fila insertada es demasiado grande para caber en un 
solo bloque o cuando una actualización hace que el espacio actual de una fila existente se quede pequeño. 
 
Figura 5.3: Almacenamiento de datos en tablas 
5.4.	ESTRUCTURA	DE	UN	BLOQUE	DE	BASE	DE	DATOS	
Estructuralmente, los bloques, están compuestos por tres partes, cada una de ellas con una función especial. 
La estructura de un bloque se ilustra en la Figura 5.4. 
Las tres partes que los componen son: 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  3/19 
 
 
 Cabecera de bloque (Header): contiene el tipo de segmento (como tabla o índice), la dirección de bloque 
de datos, el directorio de la tabla, el directorio de la fila y las ranuras de transacción de 23 bytes cada una 
que se utilizan cuando se llevan a cabo modificaciones en filas del bloque. La cabecera de bloque crece de 
arriba a abajo desde la parte superior. 
 • Espacio libre (Free Space): está en  la parte central del bloque. Esto permite el crecimiento del espacio 
de la cabecera y de los datos de fila cuando sea necesario. Los datos de fila ocupan espacio libre conforme 
se  insertan  nuevas  filas  o  las  columnas  de  filas  existentes  se  actualizan  con  valores mayores. Algunos 
ejemplos de eventos que provocan el crecimiento de  la cabecera  se dan cuando el directorio de  la  fila 
necesita  más  entradas  de  fila  o  cuando  se  necesitan  más  ranuras  de  transacción  de  las  que  se 
configuraron  en  un  principio.  En  el  inicio  el  espacio  libre  de  un  bloque  es  contiguo,  sin  embargo,  las 
supresiones y actualizaciones pueden fragmentar el espacio libre del bloque. El servidor  Oracle fusiona el 
espacio libre en el bloque cuando es necesario. 
 Datos de fila (Data Space): son  los datos reales para  las filas del bloque. El espacio para los datos de fila 
crece de abajo a arriba desde la base. 
 
Figura 5.4: Estructura de un bloque 
5.5.	TABLESPACES	Y	ARCHIVOS	DE	DATOS	
Un  tablespace  es una  estructura de bases de datos  lógica, diseñada para  almacenar otras  estructuras de 
bases de datos lógicas. Oracle ve a un tablespace como un área de espacio en la cual puede colocar nuevos 
objetos. El espacio de los tablespaces está asignado en segmentos.  
Las  bases  de  datos,  tablespaces  y  archivos  de  datos  están  estrechamente  relacionados  (Figura  5.5)  pero 
presentan importantes diferencias: 
 Una  base  de  datos  Oracle  consta  de  una  o  más  unidades  lógicas  de  almacenamiento  denominadas 
tablespaces, que en conjunto almacenan todos los datos de la base de datos. 
 Cada tablespace de una base de datos Oracle se compone de uno o más archivos denominados archivos 
de datos, que son estructuras físicas que se ajustan al sistema operativo en el que se está ejecutando el 
software de Oracle. 
 Los datos de una base de datos se almacenan en conjunto en los archivos de datos que constituyen cada 
tablespace de la base de datos. Por ejemplo, la base de datos Oracle más simple tendría dos tablespaces 
(los tablespaces obligatorios SYSTEM y SYSAUX), cada uno de ellos con un archivo de datos. Otra base de 
datos puede  tener  tres  tablespaces,  compuestos  cada uno por dos  archivos de datos  (un  total de  seis 
archivos de datos). Una única base de datos puede tener hasta 65.534 archivos de datos. 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  4/19 
 
 
 
Figura 5.5: Tablespaces y archivos de datos 
5.6.	USO	DE	OMF	PARA	ADMINISTRAR	TABLESPACES	
La  administración de  los  tablespaces  se puede  realizar utilizando  el Oracle Managed  Files  (OMF), de  esta 
forma se pueden crear o eliminar tablespaces. 
Para  poder  administrar  los  tablespaces  desde OMF,  se  debe  inicializar  un  parámetro  en  el momento  de 
configurar OMF. Este parámetro es DB_CREATE_FILE_DEST. 
Cuando se crea un  tablespace con OMF  la cláusula DATAFILE es opcional. Si  la cláusula es omitida o no se 
incluye  el  nombre  del  archivo,  el  datafile  será  creado  en  la  ubicación  especificada  en  el  parámetro 
DB_CREATE_FILE_DEST. En la Tabla 5.1 se muestran los principales parámetros de OMF. 
Para agregar un datafile a un tablespace que ya existe, se utiliza el comando ADD DATAFILE el cual requiere 
especificaciones de archivos. 
Oracle  Managed  Files  (OMF)  elimina  la  necesidad  de  gestionar  directamente  los  archivos  del  sistema 
operativo que forman una base de datos Oracle. Las operaciones se especifican en función de los objetos de 
base de datos, en lugar de los nombres de archivos. La base de datos utiliza  internamente las  interfaces del 
sistema de archivos estándar para crear y suprimir archivos, según lo necesiten las siguientes estructuras de 
la base de datos: 
 Tablespaces 
 Archivos redo log 
 Archivos de control 
 Archivelogs 
 Archivos de seguimiento de cambios de bloque 
 Logs de flashback 
 Copias de seguridad de RMAN 
La base de datos puede disponer tanto de archivos Oracle Managed Files, como de archivos no gestionados. 
Ya debe existir el directorio del sistema de archivos especificado por cualquiera de estos parámetros, la base 
de datos no lo crea. El directorio debe tener también permisos para que la base de datos cree los archivos en 
el mismo. 
Los  datafiles  creados  desde  el OMF  para  formar  parte  de  un  tablespace,  deben  ser  eliminados  desde  el 
Sistema Operativo, cuando se elimina el tablespace al que están asociados. 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  5/19 
 
 
El ejemplo de la Tabla 5.1 muestra que una vez definido DB_CREATE_FILE_DEST, la cláusula DATAFILE 
se  puede  omitir  de  una  sentencia  CREATE TABLESPACE.  El  archivo  de  datos  se  crea  en  la  ubicación 
especificada por DB_CREATE_FILE_DEST. 
 
Tabla 5.1: Parámetros de OMF 
5.7.	ADMINISTRACIÓN	DE	ESPACIO	EN	TABLESPACES	
A los tablespaces se les asigna espacio en extensiones. Cuando se crea un tablespace se debe decidir con que 
método gestionará el espacio libre o utilizado (Figura 5.6). Estos métodos son los siguientes: 
 Tablespaces gestionados  localmente  (locally manager  tablespaces):  las extensiones  se gestionan en el 
tablespace a través de bitmaps. Cada bit del bitmap corresponde a un bloque o grupo de bloques. Cuando 
una extensión se asigna o se  libera para volver a utilizarla, el servidor de Oracle cambia  los valores del 
bitmap (grados) para mostrar el nuevo estado de los bloques. 
 Tablespaces  gestionados  por  diccionario  (dictionary‐managed  tablespaces):  el  diccionario  de  datos 
gestiona  las  extensiones.  El  servidor de Oracle  actualiza  las  tablas  adecuadas del diccionario de datos, 
siempre que se asigna o se anula  la asignación de una extensión. Este método se utiliza para obtener  la 
compatibilidad con versiones anteriores; se recomienda usar tablespaces gestionados localmente. 
Los  cambios  en  los mapas  de  bits  de  los  grados,  no  generan modificaciones  de  información,  porque  no 
actualizan  las  tablas  del  diccionario  de  datos.  La  Figura  5.7  ilustra  con  ejemplos  la  administración  de 
tablespaces. 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  6/19 
 
 
 
Figura 5.6: Administración del espacio en Tablespaces 
 
Figura 5.7: Ejemplos de administración del espacio en Tablespaces 
5.8.	VISUALIZAR	LAS	ESTRUCTURAS	DE	ALMACENAMIENTO	
Las estructuras de datos lógicos se almacenan en los archivos físicos de la base de datos. Enterprise Manager 
permite visualizar las estructuras lógicas de la base de datos fácilmente. Para obtener información detallada 
sobre cada una de las estructuras, hacer clic en los enlaces de la región Storage de la página Administration 
(Figura 5.8). 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  7/19 
 
 
 
Figura 5.8: Visualización con OEM de la estructura de almacenamiento 
5.9.	CREACION	DE	UN	NUEVO	TABLESPACES	
Como se dijo anteriormente  los SYSTEM  tablespaces son creados durante  la creación de  la base de datos. 
Esto  se  realiza  especificando  explícitamente  la  ubicación  del  SYSTEM  tablespace  en  el  comando  CREATE 
DATABASE. 
En cambio, cuando se desea crear alguno de los llamados Non‐SYSTEM tablespaces, se puede realizar usando 
Oracle Enterprise Manager o mediante la utilización del comando CREATE TABLESPACE luego de que la base 
de datos haya sido creada.  
Para crear un tablespace (Figura 5.9), realizar los siguientes pasos: 
1. Hacer clic en el separador Administration y a continuación, hacer clic en Tablespaces situado bajo la 
cabecera Storage. 
2. Hacer clic en Create. Para crear un tablespace igual que otro ya existente, seleccionar el tablespace 
existente y elija Create Like en el menú Actions. Hacer clic en Go, y Aparece la página Create Tablespace. 
3. Introducir un nombre para el tablespace. 
4. Bajo la cabecera Extent Management, seleccionar Locally Managed. El servidor de bases de datos Oracle 
gestiona eficazmente en el tablespace las extensiones de un tablespace gestionado localmente. 
5. Bajo la cabecera Type, seleccionar Permanent. Los tablespaces permanentes almacenan objetos de base 
de datos permanentes creados por el sistema o por los usuarios. 
6. Bajo la cabecera Status, seleccionar Read Write. El estado de lectura/escritura significa que los usuarios 
pueden leer y escribir en el tablespace una vez creado. Éste es el valor por defecto. 
7. En la región Datafiles de la página, hacer clic en Add para agregar archivos de datos al tablespace, un 
tablespace debe tener al menos un archivo. La Gestión Automática de Almacenamiento (ASM) de Oracle, 
u otros gestores de volúmenes lógicos soportan la segmentación o la matriz redundante de discos 
independientes (RAID), además de volúmenes lógicos extensibles dinámicamente. 
8. En la página Add Datafiles, introduzca un nombre de archivo. Aceptar el valor por defecto para File 
Directory e introduzca un tamaño de archivo. 
9. En la región Storage, se puede seleccionar “Automatically extend datafile when full (AUTOEXTEND)” y a 
continuación, especificar una cantidad en el campo Increment. Esto hace que el archivo de datos se 
amplíe automáticamente cada vez que se quede sin espacio. Por supuesto, está limitado por el medio 
físico en el que reside. Dejar el valor Maximum File Size definido en Unlimited. Hacer clic en OK. Se volverá 
a la página Create Tablespace. 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  8/19 
 
 
10. Hacer clic en el separador Storage. Aparece la página Edit Tablespace. 
11. Aceptar todos los valores por defecto de la página Storage. 
Estos  pasos  están  destinados  a  mostrar  cómo  crear  rápidamente  un  tablespace  para  la  mayoría  de 
situaciones. Puede que necesite cambiar algunas opciones en función de sus requisitos concretos. 
 
Figura 5.9: Interface para la creación de un tablespace 
5.10.	ALMACENAMIENTO	DE	TABLESPACES	GESTIONADOS	LOCALMENTE	
Las extensiones de un tablespace gestionado  localmente (Figura 5.10) se pueden asignar de uno de  los dos 
modos siguientes: 
 Automatic:  también denominado asignación automática, especifica que  los  tamaños de  las extensiones 
del  tablespace  los  gestiona  el  sistema.  No  puede  especificar  un  tamaño  de  extensión.  No  puede 
especificar Automatic para un tablespace temporal. 
 Uniform:  especifica  que  el  tablespace  está  gestionado  con  extensiones  uniformes  con  un  tamaño 
especificado.  El  tamaño  por  defecto  es  1 MB.  Todas  las  extensiones  de  tablespaces  temporales  son 
uniformes  y  presentan  ese  valor  por  defecto.  No  puede  especificar  Uniform  para  un  tablespace  de 
deshacer. 
La gestión de espacio de segmento en un tablespace gestionado localmente se puede especificar como: 
 Automatic:  la  base  de  datos Oracle  utiliza  bitmaps  para  gestionar  el  espacio  libre  en  segmentos.  Un 
bitmap describe el estado de cada bloque de datos de un segmento con respecto a la cantidad de espacio 
del bloque disponible para insertar filas. A medida que hay más o menos espacio disponible en un bloque 
de datos, su nuevo estado se  refleja en el bitmap. Con  los bitmaps,  la base de datos Oracle gestiona el 
espacio  libre  de  forma  más  automática,  y  por  este  motivo,  este  método  de  gestión  de  espacio  se 
denomina gestión automática de espacio desegmento (ASSM). 
 Manual:  especifica  que  desea  utilizar  listas  de  bloques  libres  para  la  gestión  de  espacio  libre  en 
segmentos. Las listas de bloques libres son listas de bloques de datos que tienen espacio disponible para 
la  inserción  de  filas.  Esta  forma de  gestión  de  espacio  en  segmentos  se  denomina  gestión manual  de 
espacio de segmento debido a  la necesidad de especificar y ajustar  los parámetros de almacenamiento 
PCTUSED, FREELISTS y FREELIST GROUPS para objetos de esquema creados en el tablespace. Se soporta 
para obtener la compatibilidad con versiones anteriores; se recomienda utilizar ASSM. 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  9/19 
 
 
Ventajas de los Tablespaces Gestionados Localmente:  
Los  tablespaces  gestionados  localmente  presentan  las  siguientes  ventajas  sobre  los  gestionados  por 
diccionario: 
 La  gestión  local  evita  operaciones  recursivas  de  gestión  de  espacio.  Esto  sucede  en  los  tablespaces 
gestionados por diccionario si el consumo o la liberación de espacio en una extensión da como resultado 
otra operación que consume o libera espacio en un segmento de deshacer o en una tabla de diccionarios 
de datos. 
 Dado que no  registran espacio  libre en  las  tablas de diccionarios de datos,  los  tablespaces gestionados 
localmente reducen la contención en estas tablas. 
 La gestión local de extensiones realiza automáticamente un seguimiento del espacio libre adyacente, que 
elimina la necesidad de fusionar extensiones libres. 
 El sistema puede determinar automáticamente los tamaños de las extensiones gestionadas localmente. 
 Los  cambios en  los bitmaps de extensiones no generan  información de deshacer porque no actualizan 
tablas del diccionario de datos (excepto en casos especiales como, por ejemplo, información de cuota de 
tablespace). 
Si se gestiona una base de datos que tiene tablespaces gestionados por diccionario y se desea convertirlos a 
tablespaces gestionados localmente, utilice el procedimiento: 
DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL. 
Enable logging 
Los cambios que se realizan en  los objetos en el tablespace se escriben en el redo  log. Si el registro no está 
activado,  la creación de cualquier objeto y  las posteriores  inserciones de rutas de acceso de cargas directas 
realizadas en esos objetos no se escriben en el redo log y, por lo tanto, dichos objetos son irrecuperables en 
caso de pérdida de datos. De modo que, cuando un objeto se crea con el registro desactivado, debe realizar 
una copia seguridad si desea que sea recuperable. 
Block Information 
Esta  región muestra  el  tamaño de bloque que  se utiliza para  el  tablespace que  se  está  creando. Aquí  se 
muestra como un valor de sólo lectura. Si define alguno de los parámetros alternativos de inicialización para 
el tamaño de bloque (DB_nK_CACHE_SIZE), aparecerían aquí otros valores en forma de opciones. 
 
Figura 5.10: Almacenamiento de tablespaces gestionados localmente 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  10/19 
 
 
5.11.	TABLESPACE	EN	LA	BASE	DE	DATOS	PRECONFIGURADA	
Los  siguientes  tablespaces  (Figura  5.11)  se  crean  por  defecto  en  la  base  de  datos  preconfigurada,  de  las 
máquinas virtuales con las que se realizan los trabajos prácticos: 
 SYSTEM: el servidor de Oracle utiliza el tablespace SYSTEM para gestionar  la base de datos. Contiene el 
diccionario de datos y  las  tablas que  incluyen  información administrativa sobre  la base de datos. Todos 
ellos  están  incluidos  en  el  esquema  SYS  y  sólo  el  usuario  SYS  u  otros  usuarios  administrativos  con  el 
privilegio necesario pueden acceder a ellos. 
 SYSAUX: éste es un  tablespace auxiliar del  tablespace SYSTEM. Algunos  componentes y productos que 
utilizaban el  tablespace SYSTEM o  sus propios  tablespaces en versiones anteriores de  la base de datos 
Oracle utilizan ahora el tablespace SYSAUX. Todas  las bases de datos Oracle 10g o versiones posteriores 
deben tener un tablespace SYSAUX. 
En Enterprise Manager, puede ver un gráfico de torta del contenido de este tablespace. Para ello, hacer 
clic en Tablespaces en  la página Administration. Seleccionar SYSAUX y hacer clic en Edit. Después, hacer 
clic en el separador Occupants. Una vez concluida  la creación, se puede controlar el uso del espacio de 
cada ocupante del tablespace SYSAUX mediante EM. Si se detecta que un componente ocupa demasiado 
espacio del tablespace SYSAUX o si se prevé que lo haga, cabe la posibilidad de moverlo a otro tablespace 
si se selecciona uno de los ocupantes y se hace clic en Change Tablespace. 
 TEMP: el tablespace temporal se utiliza cuando se ejecuta una sentencia SQL que necesita la creación de 
segmentos temporales (como grandes ordenaciones o la creación de un índice) De la misma índice). forma 
que  a  cada  usuario  se  le  asigna  un  tablespace  por  defecto  para  almacenar  objetos  de  datos  creados, 
también se le asigna un tablespace temporal. 
La práctica  recomendada  es  definir un  tablespace  temporal  por defecto para  la  base de datos  que  se 
asignará  a  cada  usuario  recién  creado,  a menos  que  se  especifique  lo  contrario.  En  la  base  de  datos 
preconfigurada, el  tablespace TEMP  se especifica  como  tablespace  temporal por defecto. Esto  significa 
que si no se especifica ningún tablespace temporal al crear la cuenta de usuario, la base de datos Oracle 
asigna este tablespace al usuario. 
 UNDOTBS1: éste es el tablespace de deshacer que utiliza el servidor de bases de datos para almacenar 
información de deshacer. Si una base de datos utiliza Gestión Automática de Deshacer (AUM), debe tener 
exactamente un tablespace de deshacer activo en cualquier momento. Este tablespace se genera durante 
la creación de la base de datos. 
 USERS: éste tablespace se utiliza para almacenar objetos y datos de usuarios permanentes. En la base de 
datos preconfigurada, el tablespace USERS es el tablespace por defecto para todos los objetos creados por 
usuarios que no  son del  sistema. Para  los usuarios  SYS  y  SYSTEM  (usuarios del  sistema), el  tablespace 
permanente por defecto sigue siendo SYSTEM. 
 EXAMPLE: Este tablespace contiene  los esquemas de ejemplo que se pueden  instalar al crear  la base de 
datos.  Los  esquemas  de  ejemplo  proporcionan  una  plataforma  común  para  los  ejemplos.  La 
documentación y los cursos de Oracle contienen ejemplos basados en los esquemas de ejemplo. 
IMPORTANTE: para simplificar la administración es normal tener un tablespace sólo para índices. 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  11/19 
 
 
 
Figura 5.11: Descripción de los tablespaces creados por defecto 
5.12.	MODIFICACIÓN	DE	UN	TABLESPACE	
Después  de  crear  un  tablespace,  se  puede  modificarlo  de  varios  modos  a  medida  que  cambian  las 
necesidades del sistema (Figura 5.12): 
 Cambio de nombre: introducir un nuevo nombre para el tablespace y hacer clic en Apply. 
 Cambio  del  estado:  un  tablespace  puede  tener  tres  estados  distintos.  Cualquiera  de  los  tres  estados 
siguientes puede no estar disponible ya que su disponibilidad depende del tipo de tablespace: 
 Read Write: el tablespace está online y se puede leer y escribir en él. 
 Read Only: se especifica Read Only para poner el tablespace en el modo de sólo lectura de transición. 
En este estado, se pueden realizar las transacciones existentes (de confirmación o de rollback), pero no 
se  permiten  otras  operaciones  de  lenguaje  de  manipulación  de  datos  (DML)  en  los  objetos  deltablespace. El  tablespace está online mientras  tiene el estado de sólo  lectura. No se puede poner el 
tablespace SYSTEM o SYSAUX sea de sólo lectura. 
 Offline: se puede poner offline un tablespace online para que esta parte de  la base de datos no esté 
disponible temporalmente para su uso general. El resto de  la base de datos está abierta y disponible 
para que los usuarios accedan a los datos. Al ponerla offline, puede utilizar las siguientes opciones: 
· Normal: un tablespace se puede poner offline normalmente si no existe ninguna condición de error 
para ninguno de los archivos de datos del tablespace. La base de datos Oracle garantiza que todos 
los datos se escriben en el disco al establecer un punto de control para todos los archivos de datos 
del tablespace cuando los pone offline. 
· Temporary:  un  tablespace  se  puede  poner  offline  temporalmente,  incluso  si  hay  condiciones  de 
error para uno o más archivos del tablespace. La base de datos Oracle pone offline los archivos de 
datos (los que aún no lo estén), al establecer a la vez un punto de control en los mismos. Si no hay 
ningún  archivo  offline,  pero  utiliza  la  cláusula  temporal,  la  recuperación  del medio  físico  no  es 
necesaria  para  volver  a  poner  el  tablespace  online.  Sin  embargo,  si  uno  o  más  archivos  del 
tablespace están offline debido a errores de escritura y pone el tablespace offline temporalmente, 
el tablespace necesita la recuperación antes de ponerlo de nuevo online. 
· Immediate: un tablespace se puede poner offline inmediatamente, sin que la base de datos Oracle 
establezca un punto de control en alguno de los archivos de datos. Cuando especifica Immediate, es 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  12/19 
 
 
necesaria  la recuperación del medio  físico para el tablespace para poner online el tablespace. No 
puede poner un tablespace offline inmediatamente si la base de datos se está ejecutando en modo 
NOARCHIVELOG. 
· For Recover: el valor FOR RECOVER ya no se utiliza. Se soporta la sintaxis para la compatibilidad con 
versiones anteriores. 
 Cambio del tamaño: se puede agregar espacio a un tablespace existente, ya sea agregándole archivos de 
datos o cambiando el tamaño de un archivo de datos existente: 
 Para agregar un nuevo archivo de datos al tablespace, hacer clic en Add y rellenar la información sobre 
el archivo de datos en la página Add Datafile. 
 Para  cambiar el  tamaño de un archivo de datos existente,  seleccionarlo en  la  región Datafiles de  la 
página Edit Tablespace haciendo clic en el nombre del archivo de datos, o bien seleccionar el archivo 
de datos y hacer clic en Edit. A continuación, en la página Edit Datafile se puede cambiar el tamaño del 
archivo de datos. Se puede aumentar o reducir el tamaño del tablespace. Sin embargo, no se puede 
hacer que un archivo de datos sea más pequeño que el espacio usado en el archivo; si se  intenta, se 
obtendrá el siguiente error: 
ORA-03297: file contains used data beyond requested RESIZE value 
 Opciones  de  almacenamiento:  hacer  clic  en  Storage  para  cambiar  el  comportamiento  de  registro  del 
tablespace: 
 Thresholds:  hacer  clic  en  Thresholds  para  cambiar  el punto  en  el que  se  alcanza un nivel  crítico o de 
advertencia en cuanto al uso de espacio en el tablespace. Se disponen de tres opciones: 
 Use Database Default Thresholds: utiliza valores por defecto predefinidos y tiene  la opción de definir 
dichos valores por defecto. 
 Specify Thresholds: permite definir umbrales para este tablespace concreto. 
 Disable Thresholds: desactiva las alertas de uso de espacio para este tablespace. 
IMPORTANTE: pueden pasar varios minutos hasta que se registre una alerta de umbral. 
 
Figura 5.12: Modificación de un tablespace 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  13/19 
 
 
5.13.	ACCIONES	POSIBLES	CON	TABLESPACES	
Mediante el menú Actions se pueden realizar varias tareas con los tablespaces. Seleccione un tablespace, y a 
continuación, la acción que desea realizar: 
 Add Datafile: agrega un archivo de datos al tablespace, con lo que se agranda el tablespace. 
 Create Like: crea otro tablespace utilizando el tablespace como plantilla. 
 Generate DDL:  genera  la  sentencia de  lenguaje de definición de datos  (DLL) que  crea el  tablespace. A 
continuación se puede copiar y pegar en un archivo de texto para su uso como archivo de comandos o con 
fines de documentación. 
 Make  Locally  Managed:  convierte  el  tablespace  en  gestionado  localmente  si,  en  la  actualidad,  el 
tablespace  está  gestionado  por  diccionario.  Esta  conversión  no  es  reversible.  No  se  puede  volver  a 
convertir el tablespace a gestionado por diccionario. 
 Make Readonly: para todas las escrituras en el tablespace. Se permite terminar las transacciones actuales, 
pero  no  se  permite  iniciar  nuevas DML  u  otras  actividades  de  escritura  en  el  tablespace.  Esta  opción 
aparece sólo si el tablespace no es ya de sólo lectura. 
 Make Writable:  permite  iniciar  DML  y  otras  actividades  de  escritura  en  objetos  del  tablespace.  Esta 
opción aparece sólo si, actualmente, no se puede escribir en el tablespace. 
 Place Online: pone online un tablespace que actualmente está offline. 
 Reorganize:  inicia el asistente de reorganización, que puede utilizar para mover objetos en el tablespace 
con el  fin de reclamar espacio que de otro modo tal vez no se utilice. Esta tarea se debe realizar en  los 
momentos de menor uso de los objetos del tablespace. 
 Run  Segment Advisor:  inicia el Asesor de  Segmentos, que puede utilizar para determinar  si un objeto 
tiene  espacio  disponible  para  la  recuperación  en  función  del  nivel  de  fragmentación  de  espacio  en  el 
objeto. En el nivel de tablespace, se genera un consejo para cada segmento del tablespace. 
 Show Dependencies: muestra objetos de  los que depende este  tablespace u objetos que dependen de 
este tablespace 
 Show Tablespace Contents: muestra  información sobre todos  los segmentos del tablespace,  incluido un 
mapa gráfico de todas las extensiones 
 Take Offline: pone no disponible un tablespace que actualmente está online. El tablespace no se suprime 
ni borra, simplemente no está disponible. 
 
Figura 5.13: Tareas que se pueden realizar con los tablespace 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  14/19 
 
 
5.14.	BORRADO	DE	TABLESPACES	
Si se desea eliminar un tablespace de  la base de datos, se debe utilizar un comando SQL. Hay que tener en 
cuenta  que  no  está  permitido  eliminar  SYSTEM  tablespaces  y  tablespaces  que  tengan  segmentos  activos 
(Figura 5.14). El comando para realizar la eliminación es el DROP TABLESPACE. 
Para la eliminación de tablespaces hay que tener en cuenta una serie de pautas a saber: 
 Una vez que se eliminó un tablespace, los datos que éste contenía, no existen más en la base de datos.  
 Cuando un tablespace es eliminado, son eliminados también, todos  los punteros o archivos en el control 
file. Los archivos del sistema operativo  todavía existen y deben ser eliminados utilizando  los comandos 
que el sistema operativo provee, al menos que se haya utilizado la cláusula AND DATAFILES.  
 Por más que un tablespace esté en estado de sólo lectura, puede ser eliminado.  
 Es recomendable que el tablespace sea dejado en modo offline antes de eliminarlo, para asegurarse de 
que ninguna transacción esté accediendo a alguno de los segmentos del mismo.  
 
Figura 5.14: Borrado de un tablespaces 
5.15.	VER	INFORMACIÓN	DE	TABLESPACESHacer  clic  en View para  ver  información  sobre  el  tablespace  seleccionado.  En  la página View Tablespace, 
también se puede hacer clic en Edit para modificar el tablespace. 
También se puede obtener información de tablespaces y archivos de datos consultando las siguientes vistas 
(Figura 5.15): 
 Información de tablespaces: 
 DBA_TABLESPACES 
 V$TABLESPACE 
 Información de archivos de datos: 
 DBA_DATA_FILES 
 V$DATAFILE 
 Información de archivos temporales: 
 DBA_TEMP_FILES 
 V$TEMPFILE 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  15/19 
 
 
 
Figura 5.15: Información de tablespaces 
5.16.	RECOPILACIÓN	DE	INFORMACIÓN	DE	ALMACENAMIENTO	
Para  visualizar  y modificar  información  del  tablespace  en  EM  (Figura  5.16),  seleccionar  Administration,  y 
luego Tablespaces. Utilizar los botones o la lista desplegable Actions para navegar hasta su destino. 
 
Figura 5.16: Información de almacenamiento 
5.17.	VISUALIZACIÓN	DE	CONTENIDO	DE	TABLESPACES	
En  la página Show Tablespace Contents (Figura 5.17) se muestra  información detallada sobre el tablespace, 
incluida una  lista de  los segmentos del  tablespace, el  tipo de cada segmento, el  tamaño de segmento y el 
número de extensiones que componen cada segmento. 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  16/19 
 
 
Cualquiera  de  esos  cuatro  valores  se  puede  utilizar  para  ordenar  la  lista,  si  hace  clic  en  la  cabecera  de 
columna, o para filtrar la lista si introduce valores en la región Search. 
Para los tablespaces gestionados por diccionario se muestran columnas adicionales: 
 Max Extents 
 Next 
 Percent Increase 
Para  consultar  una  lista  de  extensiones,  haga  clic  en  el  enlace  de  la  columna  Extents.  Para  visualizar  las 
extensiones de una forma gráfica, amplíe "Extent map" y mueva el cursor sobre cada extensión. Aparece  la 
siguiente información: 
 Nombre del segmento al que pertenece la extensión 
 Identificador de extensión 
 Identificador de bloque 
 Tamaño de la extensión en bloques 
 Archivo de datos en el que está almacenada la extensión 
 
Figura 5.17: Visualización de Contenido de Tablespaces 
5.18.	AMPLIACIÓN	DE	LA	BASE	DE	DATOS	
Estas  actividades  se pueden  realizar mediante Enterprise Manager o mediante  sentencias  SQL. Al  final, el 
tamaño de la base de datos se puede describir como la suma de todos sus tablespaces (Figura 5.18). 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  17/19 
 
 
 
Figura 5.18: Ampliación de la base de datos 
5.19.	GESTIÓN	AUTOMÁTICA	DE	ALMACENAMIENTO	(AUTOMATIC	STORAGE	MANAGEMENT)	
ASM proporciona una integración vertical del sistema de archivos y del gestor de volúmenes creado de forma 
específica para  los archivos de  las bases de datos Oracle  (Figura 5.19). Además de gestionar máquinas de 
multiproceso  simétrico  (SMP)  individuales,  ASM  soporta Oracle  Real  Application  Clusters  (RAC)  y,  por  lo 
tanto, permite gestionar varios nodos de un cluster. 
ASM  distribuye  la  carga  de  entrada/salida  (E/S)  entre  todos  los  recursos  disponibles  para  optimizar  el 
rendimiento mientras elimina  la necesidad de ajuste manual de E/S. ASM ayuda a  los DBA a gestionar  los 
entornos de base de datos dinámicos ya que les permite aumentar el tamaño de las bases de datos sin tener 
que cerrarlas a la hora de ajustar la asignación de almacenamiento. 
ASM puede mantener copias redundantes de los datos para ofrecer tolerancia ante fallos o se puede montar 
en  mecanismos  de  almacenamiento  suministrados  por  el  proveedor.  La  gestión  de  datos  se  realiza 
seleccionando  las características de  fiabilidad y  rendimiento deseadas para  las clases de datos en  lugar de 
hacerlo archivo por archivo con la intervención del usuario. 
Las  capacidades  de  ASM  ahorran  tiempo  a  los  DBA  al  automatizar  el  almacenamiento  manual,  y  en 
consecuencia,  les permiten aumentar su capacidad para gestionar bases de datos más grandes y en mayor 
número con mayor eficiencia. 
 
Figura 5.19: Gestión Automática de Almacenamiento 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  18/19 
 
 
5.19.1.	ASM:	Funciones	Clave	y	Ventajas	
ASM  divide  los  archivos  en  extensiones  (diferentes  de  las  extensiones  de  archivos  de  datos  descriptas 
anteriormente) y las distribuye de manera uniforme entre todos los discos. Utiliza una técnica de índice para 
realizar el seguimiento de  la colocación de cada extensión. Cuando varía  la capacidad de almacenamiento, 
ASM  no  vuelve  a  segmentar  todos  los  datos,  sino  que mueve  una  cantidad  de  datos  proporcional  a  la 
cantidad de almacenamiento agregada o eliminada para redistribuir uniformemente los archivos y mantener 
una carga equilibrada en los discos. Todo ello se hace mientras la base de datos permanece activa. 
Puede aumentar la velocidad de una operación de nuevo equilibrio para hacer que termine antes o reducirla 
para disminuir el impacto en el subsistema de E/S. ASM proporciona protección de duplicación sin necesidad 
de adquirir un gestor de volúmenes lógicos de otro fabricante. Una ventaja exclusiva de ASM radica en que la 
duplicación se aplica por archivo, no por volumen. Por  lo tanto, un mismo grupo de discos puede contener 
una combinación de archivos duplicados y no duplicados. 
ASM soporta archivos de datos, archivos log, archivos de control, archive logs, juegos de copia de seguridad 
de Recovery Manager (RMAN) y otros tipos de archivos de base de datos Oracle. ASM soporta RAC y elimina 
la necesidad de un gestor de volúmenes  lógicos de  cluster o de un  sistema de archivos de  cluster  (Figura 
5.20). 
 
Figura 5.20: Funciones Clave y Ventajas 
5.19.2.	ASM:	Conceptos	
ASM no elimina ninguna de las funciones existentes de la base de datos. Las bases de datos existentes siguen 
funcionando  como  siempre. Puede  crear nuevos  archivos  como  archivos de ASM  y dejar que  los  archivos 
existentes se administren del modo anterior, o bien puede migrarlos a ASM. 
En el diagrama de la diapositiva se representan las relaciones que existen entre los diversos componentes de 
almacenamiento  dentro  de  una  base  de  datos Oracle  que  utiliza  ASM.  Las  partes  izquierda  y  central  del 
diagrama muestran  las  relaciones  que  existen  en  versiones  anteriores.  En  la  derecha  se  encuentran  los 
nuevos conceptos introducidos con ASM. 
Los archivos de base de datos se pueden almacenar como archivos de ASM. La cabeza de la nueva jerarquía la 
ocupan  los grupos de discos de ASM. Todos  los archivos de ASM están en un único grupo de discos. Por el 
contrario, un grupo de discos puede contener archivos que pertenezcan a varias bases de datos y una única 
base de datos puede utilizar almacenamiento de varios grupos de discos. 
Como  puede  observar,  un  grupo  de  discos  está  formado  por  varios  discos  de ASM  y  cada  disco  de ASM 
pertenece a un único grupo de discos. Los archivos de ASM siempre se distribuyen por todos  los discos de 
ASM del grupo. Los discos de ASM están particionados en unidades de asignación de un megabyte. La unidad 
de asignación constituye el espacio de disco contiguo más pequeño que asigna ASM no permite dividir un 
bloque de ASM. Oracle en unidades de asignación. 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  19/19 
 
 
IMPORTANTE:el gráfico sólo tiene que ver con un tipo de archivo de ASM: archivo de datos. Sin embargo, 
ASM se puede utilizar para almacenar otros tipos de archivos de base de datos. 
 
Figura 5.21: Arquitectura ASM

Continuar navegando