Download File - Administración de Base de Datos

Document related concepts

Espacio de tabla (base de datos) wikipedia , lookup

Área Global del Sistema wikipedia , lookup

Redo Log File wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Partición (base de datos) wikipedia , lookup

Transcript
Administración de Bases de Datos - Unidad III
Administración de Bases de Datos
Unidad III - Configuración y administración del espacio en disco.
Competencia específica a desarrollar:
1. Planear, diseñar e implementar la organización del espacio en disco.
2. Definir las fases de las instancias de un SGBD.
3. Crear espacios de almacenamientos dinámicos.
3.1 - Estructuras lógicas de almacenamiento.
3.1.1 - Definición de espacio de almacenamiento.
Para la gestión del almacenamiento de una base de datos existen 4 conceptos bien definidos que deben
ser conocidos para poder comprender la forma en la que se almacenan los datos. Estos conceptos son:
bloque de datos, extensiones, segmentos y espacios de tablas.
Bloque de datos (Data blocks).- Se trata de la unidad más pequeña de almacenamiento en una base de
datos. Generalmente debe ser múltiple del tamaño de bloque del sistema operativo, ya que es la unidad
mínima que va a pedir la BD al sistema operativo. Si no fuera múltiple del bloque del sistema se añadiría un
trabajo extra ya que el sistema debería obtener más datos de los estrictamente necesarios. Generalmente
se especifica mediante el parámetro DB_BLOCK_SIZE.
Extensiones (Extents).- Se forma con uno o más bloques. Cuando se aumenta tamaño de un objeto en la
base de datos, se usa una extensión para incrementar el espacio.
Figura 3.1 - Estructura lógica de la base de datos.
Segmentos (Segments).- Grupo de extensiones que forman un objeto de la base de datos, como por
ejemplo una tabla o un índice.

El segmento de datos es una colección de extensiones que mantiene todos los datos para una tabla
o cluster.

El segmento de índices mantiene todos los datos para un índice.

El segmento de rollback mantiene datos para rollback, consistencia de lecturas o recuperación
Enero 2014
1
Administración de Bases de Datos - Unidad III

El segmento temporal es una colección de extensiones que mantiene datos pertenecientes a
objetos temporales.
Espacio de tablas (Tablespaces).- Formado por uno o más archivos de datos (datafiles) del SO, donde
cada datafile solo puede pertenecer a un determinado tablespace y una base de datos. Representan un
nivel medio entre la BD y los datafiles.
El SGBD tiene estructuras lógicas y físicas que el administrador ha de gestionar. Las estructuras físicas son
aquellas se pueden ver en el sistema operativo como son los archivos; mientras que las estructuras lógicas
sólo se pueden ver desde el manejador de base de datos, como son por ejemplo los tablespaces.
Los usuarios más avanzados tendrán conocimiento de la estructura lógica de la base de datos, y es
responsabilidad del DBA gestionar la correspondencia entre las estructuras lógicas y físicas para tener un
rendimiento óptimo.
Figura 3.2 - Estructura lógica y física de una base de datos
Vistas con información del espacio usado por los objetos en la base de datos de Oracle:
Vista
DBA_SEGMENTS
USER_SEGMENTS
Descripción
Vista DBA describe el espacio asignado para todos los segmentos de la base de datos.
Vista del usuario describe el espacio asignado para los segmentos del usuario actual.
Vista DBA describe las extensiones que comprenden todos los segmentos en la base de
DBA_EXTENTS
datos.
Vista del usuario se describen las extensiones que comprenden segmentos para el usuario
USER_EXTENTS
actual.
DBA_FREE_SPACE Vista DBA lista de extensiones libres en todos los espacios de tablas.
Vista de usuario muestra información de espacio libre para los espacios de tablas donde el
USER_FREE_SPACE usuario tenga cuota.
Información de los segmentos (segments).
La siguiente consulta regresa el nombre y tamaño de cada segmento de índice del usuario HR
select segment_name, tablespace_name, bytes, blocks, extents
from dba_segments
where segment_type = 'index' and owner='hr'
Enero 2014
2
Administración de Bases de Datos - Unidad III
order by segment_name;
Información de las extensiones (extens)
La información de las extensiones usadas actualmente en una base de datos es almacenada en la vista del
diccionario de datos DBA_EXTENTS. Por ejemplo, la siguiente consulta identifica las extensiones usadas
por cada segmento de índice en el esquema “HR” y el tamaño de cada uno de las extensiones:
select segment_name, segment_type, tablespace_name, extent_id, bytes, blocks
from dba_extents
where segment_type = 'index' and owner='hr'
order by segment_name;
Información del espacio libre (Extensiones) en un Tablespace
La información acerca de las extensiones libres (extensiones no usadas por ningún segmento) en una base
de datos es almacenada en la vista del diccionario de datos DBA_FREE_SPACE. Por ejemplo, la siguiente
consulta muestra la cantidad de espacio libre como extensiones libres in el Tablespace “SMUNDO”.
select tablespace_name, file_id, bytes, blocks
from dba_free_space
where tablespace_name='smundo';
Verificar el tamaño del bloque de datos (bllock) en la Base de Datos
select value from v$parameter where name = 'db_block_size';
Verificar el tamaño de la Base de Datos
select sum(bytes)/1024/1024 "Megabytes" from dba_data_files;
Estructura física de la Base de Datos
La estructura física se corresponde a los archivos del sistema operativo: Archivo de datos (Data files),
Archivos de control (Control files), Archivos de rehacer (Redo log files) y Archivos fuera de línea (Archived
files).
Datafiles (Archivos de datos).- Sirven para el almacenamiento físico de la base de datos y contienen
todos los datos de la base de datos, como las tablas e índices.
Redo Log files (Archivos de rehacer).- Mantienen registros de todos los cambios hechos a la base de
datos, con fines de recuperación. El principal propósito de estos archivos es servir de respaldo de los datos
en la memoria RAM. Este conjunto de archivos debe estar conformado por dos grupos como mínimo y se
recomienda que cada grupo esté almacenado en discos separados. El DBMS utiliza la técnica de ir sobre
escribiendo sobre la información más vieja, cuando se agota el espacio en estos grupos de archivos.
Control files (Archivos de control).- Almacenan la estructura física y el estado de la base de datos. En
estos archivos se especifican cuáles datafiles conforman la base de datos para poder tener acceso a los
Enero 2014
3
Administración de Bases de Datos - Unidad III
datos o para poder recuperar la base de datos, ante una falla. Los archivos de control se crean
automáticamente cuando se da una orden CREATE DATABASE y no son editables, se actualizan
automáticamente.
Archived files (Archivos fuera de línea).- Son archivos opcionales donde se guarda información vieja de
los archivos de rehacer (Redo log files), muy convenientes para los respaldos de la base de datos.
3.1.2 - Definición y creación del espacio asignado para cada base de datos.
Una base de datos se divide en unidades lógicas denominadas TABLESPACES. Un tablespace no es un
archivo físico en el disco, simplemente es el nombre que tiene un conjunto de propiedades de
almacenamiento que se aplican a los objetos (tablas, secuencias…) que se van a crear en la base de datos
bajo el tablespace indicado (tablas, secuencias…). Un espacio de tablas puede pertenecer sólo a una BD.
Un objeto en la base de datos debe estar almacenado obligatoriamente dentro de un tablespace.
Cuando se crea una tabla se debe indicar el espacio de tablas (Tablespace) al que se destina. Por defecto
se depositan en el espacio de tablas SYSTEM.
Cuando se crea un nuevo Tablespace, la capacidad total del tablespace coincidirá con la suma de los
tamaños de los archivos de datos (datafiles) asociados.
Por ejemplo:
create tablespace app_data
datafile ‘/u03/oradata/ userdata01. dbf ’ size 100m,
datafile ‘/u03/oradata/ userdata02. dbf ’ size 250m;
En este caso se crea un tablespace app_data asociado a dos archivos con una capacidad total de 350M.
Si se quiere incrementar el tamaño de la base, se puede hacer incrementando el tamaño de un archivo de
datos (data files) de un Tablespace en particular.
Por ejemplo:
alter database datafile ‘/u03/oradata/ userdata02. dbf’ resize 200m;
Si no se tiene espacio libre en la partición del disco, entonces se puede agregar otro archivo de datos (data
files) sobre otra partición de disco para un Tablespace en particular.
Por ejemplo:
alter tablespace app_data add datafile ‘/u01/oradata/ userdata03. dbf’ size 200m;
3.1.3 - Bitácoras
Las bitácoras, son las estructuras de datos más ampliamente usada para grabar las modificaciones de la
base de datos.
Cada registro de la bitácora escribe una única escritura de base de datos y tiene lo siguiente:
1. Nombre de la transacción: Nombre o número de la transacción que realizó la operación de escritura.
2. Nombre del dato: El nombre único del dato escrito.
3. Valor antiguo: El valor del dato antes de la escritura.
4. Valor nuevo: El valor que tendrá el dato después de la escritura.
Existen otros registros de bitácora especiales para grabar sucesos importantes durante el proceso de
transacción tal como:
Enero 2014
4
Administración de Bases de Datos - Unidad III
< T1, inicio >
< T1, x, v1, v2 >
< T1, commit >
Es fundamental que siempre se cree un registro en la bitácora cuando se realice una escritura antes de que
se modifique la base de datos, ya que esto nos da la posibilidad de deshacer una modificación que ya se
ha escrito en la base de datos, esto se realizará usando el campo del valor antiguo de los registros de la
bitácora.
Los registros de la bitácora deben residir en memoria estable y como resultado, el volumen de datos en la
bitácora puede ser exageradamente grande.
Bitácora (Redo log files) en Oracle
Los archivos de redo log son las bitácoras que registran los cambios a la base de datos como resultado de
transacciones o acciones internas del servidor Oracle.
Los archivos de redo log protegen la base de datos de la pérdida de integridad en casos de fallas causadas
por suministro eléctrico, errores en discos duros, y otras causas.
Es recomendable que los archivos de redo log sean multiplexados para asegurar que la información
almacenada en ellos no se pierda en caso de un fallo en disco.
Consiste en grupos de archivos de redo log y cada grupo está integrado por un archivo de redo log y sus
copias multiplexadas. Se dice que cada copia idéntica es miembro de un grupo, y cada grupo es
identificado por un número.
El proceso de escritura en logs (LGWR) escribe los registros de redo del buffer de redo log a todos los
miembros del grupo actual de redo logs, hasta que el archivo se llena o se solicita una operación de cambio
de archivo de log. Entonces, cambia el grupo activo y comienza a escribir en los archivos del siguiente
grupo.
Cuando Oracle se ejecuta en modo ARCHIVELOG el proceso en segundo plano llamado ARCH hace una
copia de cada archivo de redo log online una vez que el proceso LGWR termina de escribir en él, guarda
dicha copia en los archivos de reconstrucción fuera de línea (redo log offline) en disco.
Los grupos de redo log son usados de una forma circular:
Información de los grupos de redo log en la BD
Consultando estas dos vistas, se tienen los datos que nos muestran la ubicación, estado, tamaño, etc. de
los redo log files.
select * from v$logfile;
select * from v$log;
Cómo se cambia el redo log group activo?
alter system switch logfile;
La Bitácora de Transacciones en SQL Server
Enero 2014
5
Administración de Bases de Datos - Unidad III
Cada base de datos en SQL Server tiene un Transaction Log asociado con ella. El transaction log (en
español bitácora de transacciones) es un componente escencial de SQL Server, el cual la utiliza para
registrar un historial de cada modificación que sufre la base de datos como resultado de las transacciones.
Dicho registro es de vital importancia para mantener la integridad de los datos y poder deshacer los
cambios resultantes de transacciones incompletas ya sea por error del sistema o por la cancelación por
parte de los usuarios.
Durante la operación de la base de datos la escritura a la bitácora tiene prioridad, es decir, todos los
cambios primero se escriben a la bitácora y luego se aplican a la base de datos.
Debido a su importancia, es imperativo respaldar la bitácora regularmente ya que de no hacerlo, será
imposible recuperar la base de datos en caso de falla.
Respaldo de la bitácora de transacciones
Transaction Log Backup: Este tipo de respaldos sólo puede ser ejecutado sobre base de datos que tengan
configurado el mode de recuperación en Full o Bulk-Logged. Adicionalmente, sólo podrán ejecutarse
después que se haya completado un respaldo completo (full backup).
El siguiente es el comando básico para respaldar la bitácora de transacciones:
backup log adventureworks2008r2
to disk='c:\bklog\adventureworks2008r2.trn' with init
3.1.4 - Particiones
Una partición es una división de una base de datos lógica o sus elementos constituyentes en partes
independientes.
La creación de particiones en una base de datos mejora el rendimiento y simplifica el mantenimiento. Al
dividir una tabla grande en tablas individuales más pequeñas, las consultas que tengan acceso únicamente
a una parte de los datos pueden ejecutarse con mayor rapidez, ya que deben recorrer menos datos. Las
tareas de mantenimiento (por ejemplo, volver a generar los índices o hacer copias de seguridad de una
tabla), pueden ejecutarse con mayor rapidez.
Una aplicación popular y favorable es en un Sistema de Administración de Base de Datos Distribuida. Cada
partición puede ser extendida hasta múltiples nodos, y los usuarios en el nodo pueden hacer transacciones
locales en la partición. Esto aumenta el rendimiento en sitios que tienen transacciones regularmente
involucrando ciertas vistas de datos, y manteniendo la disponibilidad y la seguridad.
Esta partición puede hacerse creando bases de datos más pequeñas separadas (cada una con sus propias
tablas, índices, y registros de transacciones) o dividiendo elementos seleccionados, por ejemplo, solo una
tabla.
Particiones horizontales
La creación de particiones horizontales divide una tabla en varias tablas. Así, cada tabla contiene el mismo
número de columnas, pero menos filas. Por ejemplo, se podría crear una partición horizontal de una tabla
que contenga mil millones de filas en 12 tablas; cada una de las tablas más pequeñas representaría un
mes de datos de un año específico. Las consultas que requieran datos de un mes específico sólo hacen
referencia a la tabla apropiada.
La determinación del modo de crear particiones horizontales de las tablas depende de cómo se analicen los
datos. Debería crear particiones de tablas de forma que las consultas hagan referencia al menor número
posible de tablas. De lo contrario, un número excesivo de consultas UNION, utilizadas para mezclar las
tablas de forma lógica en el momento de la consulta, podría afectar al rendimiento.
Particiones verticales
Enero 2014
6
Administración de Bases de Datos - Unidad III
La creación de particiones verticales divide una tabla en varias tablas que contienen menos columnas. Los
dos tipos de particiones verticales son la normalización y la división de filas:

La normalización es el proceso estándar de bases de datos que consiste en quitar columnas
redundantes de una tabla y colocarlas en tablas secundarias vinculadas a la tabla principal
mediante relaciones de clave principal y clave externa.

La división de filas divide verticalmente la tabla original en tablas con menos columnas. Cada fila
lógica de una tabla dividida coincide con la misma fila lógica en las demás tablas, según se
identifica en la columna UNIQUE KEY que es idéntica en todas las tablas con particiones. Por
ejemplo, al combinar la fila con el Id. 712 de cada tabla dividida se vuelve a crear la fila original.
Igual que las particiones horizontales, las particiones verticales permiten a las consultas recorrer menos
datos. De ese modo se aumenta el rendimiento de las consultas. Por ejemplo, una tabla que contenga siete
columnas de las cuales generalmente sólo se hace referencia a las cuatro primeras, puede beneficiarse de
la división de las tres últimas columnas en una tabla independiente.
La creación de particiones verticales se debe considerar detenidamente, ya que analizar datos de varias
particiones requiere consultas que combinen las tablas. La partición vertical también puede afectar al
rendimiento si las particiones son muy grandes.
3.1.5 Espacios privados
PRIVATE_SGA – Define la cantidad de espacio privado que una sesión puede reservar en la zona de SQL
compartido de la SGA.
3.1.6 Espacios para objetos
3.2 - Segmentos
Un segmento (segment) es aquel espacio reservado por la base de datos, dentro de un archivo de datos
(datafile), para ser utilizado por un solo objeto. Así una tabla (o cualquier otro objeto) está dentro de su
segmento, y nunca podrá salir de él, ya que si la tabla crece, el segmento también crece con ella.
Físicamente, todo objeto en base de datos no es más que un segmento (segmento, trozo, sección) dentro
de un archivo de datos (datafile). Se puede decir que, un segmento es a un objeto de base de datos, lo que
un datafile a un tablespace: el segmento es la representación física del objeto en base de datos (el objeto
no es más que una definición lógica).
Se puede ver cómo el espacio que realmente se ocupa dentro del datafile es el segmento y que cada
segmento pertenece a un objeto.
Enero 2014
7
Administración de Bases de Datos - Unidad III
Existen cuatro tipos de segmentos (principalmente):

Segmentos de TABLE: aquellos que contienen tablas.

Segmentos de INDEX: aquellos que contienen índices.

Segmentos de ROLLBACK: aquellos se usan para almacenar información de la transacción activa.

Segmentos TEMPORALES: aquellos que se usan para realizar operaciones temporales que no
pueden realizarse en memoria, tales como ordenaciones o agrupaciones de conjuntos grandes de
datos.
Calcular el tamaño de un segmento en Oracle
select segment_name , sum(bytes)/(1024*1024) SegmentSize
from user_extents
where segment_type='TABLE' and segment_name = 'MYTABLE'
TABLE = Tipo de segmento: "table," "index" o "cluster
MYTABLE = nombre de la tabla
3.3 - Memoria Compartida.
Cuando de habla de la estructura de memoria, se tienen dos tipos: Una de ellas es compartida por todos
los usuarios conectados y la otra es dedicada al trabajo de cada uno de ellos.
SGA (Area Global del Sistema):
Esta es la estructura de memoria que es compartida por todos los usuarios y se dividen en:

Shared pool (Fondo Común Compartido): almacena parte del diccionario de datos y las sentencias
SQL que han sido analizadas.

DataBase Buffer Cache (Área de memoria Rápida): almacena los bloques de datos leídos resultado
de las órdenes SQL ejecutadas por los usuarios conectados.

RedoLogs (Área de registro rehacer): se registran los cambios hechos a la base de datos.
Enero 2014
8
Administración de Bases de Datos - Unidad III
Figura 3.3.- Representación grafica de la estructura de memoria de Oracle.
PGA (Program global área):
Es un área de memoria utilizada por los procesos del DBMS. Esta zona de memoria no se puede compartir
y se divide en:

Procesos de usuarios.- Cuando un usuario se conecta a la base de datos se crea un proceso de
usuario, Los procesos de usuarios no interactúan directamente con la base de datos, lo hace a
través de los procesos del servidor.

Procesos del servidor.- Ejecutan las peticiones de los usuarios y devuelven los resultados. Un
proceso del servidor ejecuta las peticiones de un solo proceso de usuario.

Procesos de fondo (background).- Son creados por cada instancia de la BD y se encarga de las
entradas/ salidas del SGA, existen los procesos que son obligatorios, los cuales son:
o Obligatorios (DBWR, LGWR, SMON, PMON, CKPT)
o Opcionales (ARCH, LMON, LCKn, etc)
Para visualizar todos los procesos en segundo plano, puede consultarse la vista v$bgprocess
3.4 - Instancias múltiples
Cada servidor de bases de datos está compuesto por:


Una Base de Datos: donde se almacenan los datos físicos (archivos de datos y otros componentes).
Una instancia: constituye el mecanismo que permite su manipulación.
Una instancia de Base de datos es el conjunto formado por los procesos y las estructuras de memoria
que se encuentran en un servidor.
Puede haber múltiples instancias para una única base de datos o múltiples bases de datos en una misma
instancia.
Enero 2014
9
Administración de Bases de Datos - Unidad III
Instancias en SQL Server
Una instancia de Motor de base de datos es una copia del ejecutable de sqlservr.exe que se ejecuta como
un servicio de sistema operativo. Cada instancia administra varias bases de datos del sistema y una o
varias bases de datos de usuario. Cada equipo puede ejecutar varias instancias de Motor de base de
datos. Las aplicaciones se conectan a la instancia para realizar el trabajo en una base de datos
administrada por la instancia.
Cada Base de Datos mantiene sus propios archivos de datos (dónde se almacenan las tablas, índices,
vistas, procedimientos almacenados, y resto de objetos de base de datos), archivos de LOG (dónde se
almacenan las transacciones de dicha base de datos), configuración (Modo de Recuperación o Modo de
Registro, intercalación, nivel de compatibilidad, etc.). Por el contrario, todas las bases de datos de una
instancia en particular, comparten la base de datos TEMPDB (dónde se almacenan los objetos temporales,
resultados intermedios de consultas, etc.) y otros recursos de la Instancia, como la memoria, la afinidad de
CPU, y la afinidad de entrada/salida (E/S).
Instancia de una Base de Datos en Oracle
Cada instancia Oracle está asociada a una base de datos. Cuando se inicia una base de datos en un
servidor, se le asigna un área de memoria (SGA) y lanza uno o más procesos. A la combinación del SGA y
de los procesos es lo que se llama instancia. La memoria y los procesos de una instancia gestionan las
datos de la base de datos asociada de forma eficiente y sirven a uno o varios usuarios.
Enero 2014
10
Administración de Bases de Datos - Unidad III
Cuando se inicia una instancia Oracle monta la base de datos, es decir, asocia dicha instancia a su base de
datos correspondiente. En una misma computadora pueden ejecutarse varias instancias simultáneamente,
accediendo cada una a su propia base de datos física.
Únicamente el administrador de la base de datos puede iniciar una instancia y abrir una base de datos. Si
una base de datos está abierta, entonces el administrador puede cerrarla y, cuando esto ocurre, los
usuarios no pueden acceder a la información que contiene.
Enero 2014
11
Administración de Bases de Datos - Unidad III
DBA_DATA_FILES
DBA_DATA_FILES describes database files.
Column
Datatype
NULL
FILE_NAME
VARCHAR2(513)
FILE_ID
NUMBER
TABLESPACE_NAME VARCHAR2(30)
Description
Name of the database file
NOT
NULL
File identifier number of the database file
NOT
NULL
Name of the tablespace to which the file belongs
BYTES
NUMBER
Size of the file in bytes
BLOCKS
NUMBER
STATUS
VARCHAR2(9)
File status: AVAILABLE or INVALID (INVALID means that the file number is not in
use, for example, a file in a tablespace that was dropped)
RELATIVE_FNO
NUMBER
Relative file number
AUTOEXTENSIBLE
VARCHAR2(3)
Autoextensible indicator
MAXBYTES
NUMBER
Maximum file size in bytes
MAXBLOCKS
NUMBER
Maximum file size in blocks
INCREMENT_BY
NUMBER
Number of tablespace blocks used as autoextension increment. Block size is
contained in the BLOCK_SIZE column of the DBA_TABLESPACES view.
USER_BYTES
NUMBER
The size of the file available for user data. The actual size of the file minus the
USER_BYTES value is used to store file related metadata.
USER_BLOCKS
NUMBER
Number of blocks which can be used by the data
ONLINE_STATUS
VARCHAR2(7)
Online status of the file:
 SYSOFF
 SYSTEM
 OFFLINE
 ONLINE
 RECOVER
NOT
NULL
Size of the file in Oracle blocks
DBA_TABLESPACES
DBA_TABLESPACES describes all tablespaces in the database.
Related View
USER_TABLESPACES describes the tablespaces accessible to the current user. This view does not display the PLUGGED_IN column.
Column
Datatype
TABLESPACE_NAME
VARCHAR2(30) NOT
NULL
Name of the tablespace
BLOCK_SIZE
NUMBER
Tablespace block size
INITIAL_EXTENT
NUMBER
Default initial extent size
NEXT_EXTENT
NUMBER
Default incremental extent size
Enero 2014
NULL
NOT
NULL
Description
12
Administración de Bases de Datos - Unidad III
Column
Datatype
NULL
Description
MIN_EXTENTS
NUMBER
NOT
NULL
Default minimum number of extents
MAX_EXTENTS
NUMBER
Default maximum number of extents
PCT_INCREASE
NUMBER
Default percent increase for extent size
MIN_EXTLEN
NUMBER
Minimum extent size for this tablespace
STATUS
VARCHAR2(9)
Tablespace status:
 ONLINE
 OFFLINE
 READ ONLY
CONTENTS
VARCHAR2(9)
Tablespace contents:
 UNDO
 PERMANENT
 TEMPORARY
LOGGING
VARCHAR2(9)
Default logging attribute:
 LOGGING
 NOLOGGING
FORCE_LOGGING
VARCHAR2(3)
Indicates whether the tablespace is under force logging mode (YES) or
not (NO)
EXTENT_MANAGEMENT
VARCHAR2(10)
Indicates whether the extents in the tablespace are dictionary managed
(DICTIONARY) or locally managed (LOCAL)
ALLOCATION_TYPE
VARCHAR2(9)
Type of extent allocation in effect for the tablespace:
 SYSTEM
 UNIFORM
 USER
PLUGGED_IN
VARCHAR2(3)
Indicates whether the tablespace is plugged in (YES) or not (NO)
SEGMENT_SPACE_MANAGEMENT VARCHAR2(6)
Indicates whether the free and used segment space in the tablespace is
managed using free lists (MANUAL) or bitmaps (AUTO)
DEF_TAB_COMPRESSION
VARCHAR2(8)
Indicates whether default table compression is enabled (ENABLED) or
not (DISABLED)
Note: Enabling default table compression indicates that all tables in the
tablespace will be created with table compression enabled unless
otherwise specified.
RETENTION
VARCHAR2(11)
Undo tablespace retention:
 GUARANTEE - Tablespace is an undo tablespace with
RETENTION specified as GUARANTEE
A RETENTION value of GUARANTEE indicates that unexpired
undo in all undo segments in the undo tablespace should be
retained even if it means that forward going operations that
need to generate undo in those segments fail.
 NOGUARANTEE - Tablespace is an undo tablespace with
RETENTION specified as NOGUARANTEE
 NOT APPLY - Tablespace is not an undo tablespace
BIGFILE
VARCHAR2(3)
Indicates whether the tablespace is a bigfile tablespace (YES) or a
smallfile tablespace (NO)
Enero 2014
13
Administración de Bases de Datos - Unidad III
DBA_SEGMENTS
DBA_SEGMENTS describes the storage allocated for all segments in the database.
Related View
USER_SEGMENTS describes the storage allocated for the segments owned by the current user's objects. This view does not display
the OWNER, HEADER_FILE, HEADER_BLOCK, or RELATIVE_FNO columns.
Column
Datatype
NULL Description
OWNER
VARCHAR2(30)
Username of the segment owner
SEGMENT_NAME
VARCHAR2(81)
Name, if any, of the segment
PARTITION_NAME
VARCHAR2(30)
Object Partition Name (Set to NULL for non-partitioned objects)
SEGMENT_TYPE
VARCHAR2(18)
Type of segment: INDEX PARTITION, TABLE PARTITION, TABLE, CLUSTER, INDEX,
ROLLBACK, DEFERRED ROLLBACK, TEMPORARY, CACHE, LOBSEGMENT and
LOBINDEX
TABLESPACE_NAME VARCHAR2(30)
Name of the tablespace containing the segment
HEADER_FILE
NUMBER
ID of the file containing the segment header
HEADER_BLOCK
NUMBER
ID of the block containing the segment header
BYTES
NUMBER
Size, in bytes, of the segment
BLOCKS
NUMBER
Size, in Oracle blocks, of the segment
EXTENTS
NUMBER
Number of extents allocated to the segment
INITIAL_EXTENT
NUMBER
Size in bytes requested for the initial extent of the segment at create time. (Oracle
rounds the extent size to multiples of 5 blocks if the requested size is greater than 5
blocks.)
NEXT_EXTENT
NUMBER
Size in bytes of the next extent to be allocated to the segment
MIN_EXTENTS
NUMBER
Minimum number of extents allowed in the segment
MAX_EXTENTS
NUMBER
Maximum number of extents allowed in the segment
PCT_INCREASE
NUMBER
Percent by which to increase the size of the next extent to be allocated
FREELISTS
NUMBER
Number of process freelists allocated to this segment
FREELIST_GROUPS NUMBER
Number of freelist groups allocated to this segment
RELATIVE_FNO
NUMBER
Relative file number of the segment header
BUFFER_POOL
VARCHAR2(7)
Default buffer pool for the object
Enero 2014
14