0% encontró este documento útil (0 votos)
122 vistas17 páginas

Administración de Espacios de Tabla en Oracle 10g

El documento describe los conceptos fundamentales de los espacios de tabla en Oracle, incluyendo la creación y administración de espacios de tabla, la identificación de segmentos, extensiones y bloques de datos, y los tipos de espacios de tabla (archivos grandes y pequeños). Explica que los espacios de tabla agrupan objetos de esquema como tablas e índices y los conectan a archivos de datos físicos, y que se pueden crear espacios de tabla para administrar mejor los datos de aplicaciones o para mejorar el rendimiento separando t

Cargado por

alejandro osorio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
122 vistas17 páginas

Administración de Espacios de Tabla en Oracle 10g

El documento describe los conceptos fundamentales de los espacios de tabla en Oracle, incluyendo la creación y administración de espacios de tabla, la identificación de segmentos, extensiones y bloques de datos, y los tipos de espacios de tabla (archivos grandes y pequeños). Explica que los espacios de tabla agrupan objetos de esquema como tablas e índices y los conectan a archivos de datos físicos, y que se pueden crear espacios de tabla para administrar mejor los datos de aplicaciones o para mejorar el rendimiento separando t

Cargado por

alejandro osorio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

La base de datos Oracle 10 g Oracle 10 gramo) La base de datos almacena objetos de esquema, como

tablas, de forma lógica en espacios de tabla mientras los coloca físicamente en archivos de datos. Una

base de datos Oracle consta de dos o

más espacios de tabla, y cada uno espacio de tabla se encuentra en uno o más archivos de datos. Cuando creas un mesa,

puede decirle a la base de datos en qué espacio de tabla colocar los datos de la tabla.
En este capítulo, aprenderá cómo crear y administrar espacios de tabla y sobre los objetos de esquema que residen en
ellos.

Identificación de segmentos, extensiones,

y bloques de datos
Comenzando con el nivel más alto de administración de espacio en disco de Oracle son los espacios de tabla. Profundizando, encuentras segmentos que

puede residir en un solo espacio de tabla. Cada segmento se construye a partir de uno o más extensiones. Cada una de estas extensiones puede residir

en un solo archivo de datos. Por lo tanto, para que un segmento abarque múltiples archivos de datos, debe construirse a partir de múltiples extensiones,

que se encuentran en archivos de datos separados. Una extensión se compone de un conjunto contiguo de bloques de datos, que se encuentra en el

nivel más bajo de gestión del espacio. Un bloque de datos es un número fijo de bytes de espacio en disco.

La figura 3.1 muestra la relación entre segmentos, extensiones y bloques de datos. El tamaño del bloque de datos es un atributo de espacio de tabla. los SISTEMA

y SYSAUX los espacios de tabla tienen el tamaño de bloque de datos estándar de la base de datos, definido en el momento de la creación por el parámetro

de inicialización db_ block_size. Otros espacios de tabla pueden tener diferentes tamaños de bloques de datos, definidos en el momento de la creación del

espacio de tabla. Una base de datos puede tener hasta cinco tamaños de bloques de datos. La base de datos siempre asigna y utiliza espacio en disco en

unidades de bloques de datos. El tamaño del bloque de datos suele ser de 8 KB a 32 KB y debe ser un múltiplo del tamaño del bloque físico del dispositivo

de almacenamiento. Los tamaños de bloque de datos más grandes son más comunes en entornos de almacenamiento de datos donde el tamaño de bloque

más grande puede producir índices Btree menos profundos y, por lo tanto, un mejor rendimiento.

Administrar espacios de tabla


Los espacios de tabla agrupan físicamente los objetos de esquema para facilitar la administración. Conectan estructuras físicas, como archivos
de datos o extensiones, y estructuras lógicas, como tablas e índices. Los espacios de tabla pueden almacenar cero o más segmentos. Los
segmentos son objetos de esquema que requieren almacenamiento fuera del diccionario de datos. Las tablas y los índices son ejemplos de
segmentos. Restricciones y
secuencias son ejemplos de objetos de esquema que no almacenan datos fuera del diccionario de datos y, por lo tanto, no son
segmentos.
Administrar espacios de tabla 137

FIGURA 3 . 1 Segmentos, extensiones y bloques de datos

Segmento (tabla de empleados)


320 KB

8 KB 8 KB 8 KB 8 KB

8 KB 8 KB 8 KB 8 KB

8 mi K X B diez 8 8t K
KB2 B 8 KB
256 KB
8 KB 8 KB 8 KB 8 KB

8 KB 8 KB 8 KB 8 KB

Extensión 1 8 KB 8 KB 8 KB 8 KB

8K 6 B 4K 8 B KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB

8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB

Bloque de datos

Puede colocar las tablas y los índices asociados con una aplicación en un conjunto de espacios de tabla para administrar esos
datos más fácilmente. Puede desconectar un espacio de tabla y recuperarlo (potencialmente en un momento diferente), separado del
resto de la base de datos. También puede moverlo a otra base de datos y configurarlo como de solo lectura para no tener que realizar
copias de seguridad adicionales de los datos estáticos.

Otro uso común de los espacios de tabla está relacionado con el rendimiento. Puede separar físicamente las tablas de los índices en

unidades de disco independientes sin utilizar un administrador de volumen lógico. Al colocar tablas en un espacio de tabla que se encuentra en

archivos de datos que residen en un conjunto de unidades de disco y colocar los índices de esas tablas en otro espacio de tabla que se encuentra

en archivos de datos que residen en diferentes unidades de disco, puede separar tablas y unidades de disco. índice segmentos, reduciendo así

cualquier contención de disco que podría ocurrir de otra manera en tablas con mucho acceso. El siguiente ejemplo crea dos espacios de tabla,

uno para tablas y otro para índices:

CREAR TABLESPACE ARCHIVO DE DATOS HR_DATA 'D: \ oracle \ oradata \ ora10 \ HR_DATA01.DBF'

TAMAÑO 2G;

CREAR TABLESPACE HR_INDX DATAFILE 'F: \ oracle \ oradata \ ora10 \ HR_INDX01.DBF'


TAMAÑO 2G;

En las siguientes secciones, aprenderá a crear y administrar espacios de tabla en su base de datos.

Identificación de espacios de tabla predeterminados

los SISTEMA El espacio de tabla se usa para el diccionario de datos y no debe usarse para almacenar objetos de esquema que no sean los que

la base de datos coloca allí. los SYSAUX tablespace es nuevo en Oracle10 gramo y
138 Capítulo 3 norte Almacenamiento de bases de datos y objetos de esquema

almacena objetos de esquema asociados con funciones proporcionadas por Oracle, como la opción de datos espaciales, XMLDB (base de

datos de lenguaje de marcado extensible) o Intermedia.

los SISTEMA y SYSAUX los espacios de tabla siempre se crean cuando se crea la base de datos. ( SYSAUX se crea cuando actualiza una

base de datos anterior a Oracle 10 gramo.) Por lo general, se crean uno o más espacios de tabla temporales en una base de datos, así como un

espacio de tabla de deshacer y varios espacios de tabla de aplicación. Porque SISTEMA y SYSAUX son los únicos espacios de tabla que

siempre se crean con la base de datos, son los espacios de tabla predeterminados. Sin embargo, no debe seguir utilizándolo como el espacio de

tabla predeterminado para sus usuarios o aplicaciones. En las siguientes secciones, aprenderá cómo crear espacios de tabla adicionales y

habilitar su uso como mejores valores predeterminados.

Crear y mantener espacios de tabla


Crea espacios de tabla usando el CREAR BASE DE DATOS o la CREAR TABLESPACE
declaración. Debe realizar varias elecciones al crear un espacio de tabla: si desea convertir el espacio de tabla en un archivo grande o
pequeño, si desea administrar las extensiones localmente o con el diccionario, y si desea administrar el espacio de segmento de forma
automática o manual. Además, hay espacios de tabla especializados para segmentos temporales y segmentos de deshacer.

Creación de espacios de tabla Bigfile y Smallfile


Nuevo en Oracle10 gramo es el espacio de tabla de bigfile. Espacios de tabla de Bigfile se basan en un solo archivo de datos (o archivo temporal), que puede ser

hasta 2 32 bloques de datos de tamaño. Por lo tanto, un espacio de tabla de bigfile que utiliza bloques de datos de 8 KB puede tener un tamaño de hasta 32 TB.

Los espacios de tabla de archivos grandes están pensados para bases de datos muy grandes. Cuando una base de datos muy grande tiene miles de

archivos de datos de lectura / escritura, las operaciones que deben actualizar los encabezados de los archivos de datos, como los puntos de control, pueden

llevar un tiempo relativamente largo. Si reduce la cantidad de archivos de datos, estas operaciones pueden completarse más rápido.

Para crear un espacio de tabla de bigfile, use la palabra clave BIGFILE en el CREAR declaración, como esta:

CREAR BIGFILE TABLESPACE hist2004apr


ARCHIVO DE DATOS '/ORADATA/PROD/HIST2004APR.DBF' TAMAÑO 25G;

Espacio de tabla de archivo pequeño es el nuevo nombre de la antigua opción de archivo de datos de espacio de tabla de Oracle. Con un espacio de tabla de

archivo pequeño, puede tener varios archivos de datos para un espacio de tabla. Cada archivo de datos puede tener hasta 2 22 bloques de datos de tamaño. Por lo

tanto, los archivos de datos en un espacio de tabla de archivos pequeños que utiliza bloques de datos de 8 KB están limitados a 32 GB. El espacio de tabla de

archivo pequeño puede tener hasta 1.022 archivos de datos, lo que limita el espacio de tabla del bloque de datos de 8 KB a un poco menos de 32 TB,

aproximadamente lo mismo que un espacio de tabla de archivo grande. los SISTEMA y SYSAUX los espacios de tabla siempre se crean como espacios de tabla

de archivos pequeños.

Para crear un espacio de tabla de archivo pequeño, omita la palabra clave BIGFILE o use explícitamente la palabra clave ARCHIVO PEQUEÑO, como

esto:

CREAR TABLESPACE hist2004apr


ARCHIVO DE DATOS '/ORADATA/PROD/HIST2004APR.DBF' TAMAÑO 25G;

Si no está utilizando un administrador de volumen lógico que admita el cambio de tamaño de volumen dinámico, así como la

creación de bandas y / o la duplicación, no utilice espacios de tabla de bigfile.


Administrar espacios de tabla 139

Trabajar con espacios de tabla de archivos administrados por Oracle

Oracle Managed Files (OMF) puede facilitar la administración de archivos utilizados por Oracle10 gramo base de datos. Con OMF, especifica las

operaciones en términos de espacios de tabla y no archivos del sistema operativo. No nombra explícitamente archivos de datos o archivos

temporales; la base de datos hace esto por usted.

Para habilitar OMF, establezca el parámetro de inicialización DB_CREATE_FILE_DEST al directorio donde desea que la
base de datos cree y administre sus datos y archivos temporales, así:

ALTERAR EL AJUSTE DEL SISTEMA

db_create_file_dest = 'D: \ oracle \ oradata \ ora10 \ OMF'


ALCANCE = AMBOS;

Al crear un espacio de tabla con OMF, simplemente omite el nombre del archivo:

CREAR TABLESPACE hr_data;

Oracle crea un espacio de tabla utilizando un nombre de archivo de datos único, como O1_MF_HR_DATA_ 0DC3Z9WL_.DBF. Este archivo de datos tendrá la

extensión automática habilitada y será de 100 MB a menos que especifique un tamaño diferente. De forma predeterminada, el espacio de tabla es un espacio de

tabla de archivo pequeño, pero puede especificar un espacio de tabla de archivo grande al incluir la palabra clave BIGFILE, como esto:

CREAR BIGFILE TABLESPACE hr_data;

Si trabaja en un entorno en el que muchas bases de datos se administran tanto en Windows como en Unix, puede utilizar OMF
para eliminar los nombres de archivo específicos del sistema operativo de sus scripts administrativos.

Elección de la gestión de extensión


Puede utilizar espacios de tabla con local gestión de extensión o la técnica más antigua de gestión de extensiones de diccionario. Con la
administración de extensiones de diccionario, la base de datos rastrea las extensiones libres y usadas en el diccionario de datos, cambiando
la FET $ y UET $ tablas con SQL recursivo. Con la gestión de extensión local, la base de datos rastrea las extensiones mediante el uso de
mapas de bits, eliminando el SQL recursivo. La gestión de extensión local es la opción predeterminada si no se especifica y generalmente
es la técnica preferida.

Con los espacios de tabla administrados localmente, tiene dos opciones sobre cómo se asignan las extensiones:

UNIFORME o ASIGNACIÓN AUTOMÁTICA. los UNIFORME La opción le dice a la base de datos que asigne y desasigne extensiones en el espacio de tabla con

el mismo tamaño invariable que puede especificar o dejar que las extensiones sean de 1 MB por defecto. UNIFORME es el valor predeterminado para los

espacios de tabla temporales y no se puede especificar para deshacer los espacios de tabla. Para crear extensiones consistentes de 100 MB, use la cláusula GESTIÓN

DE EXTENSIÓN LOCAL

TAMAÑO UNIFORME 100M en el CREAR TABLESPACE declaración. Aquí hay un ejemplo:

CREAR TABLESPACE hist2004apr


ARCHIVO DE DATOS '/ORADATA/PROD/HIST2004APR.DBF' TAMAÑO 25G GESTIÓN DE

EXTENSIÓN UNIFORME LOCAL TAMAÑO 100M;

AUTOALLOCATE, por otro lado, le dice a la base de datos que varíe el tamaño de las extensiones para cada segmento. Por ejemplo,
en Windows y Linux con bloques de datos de 8 KB, cada segmento comienza con
140 Capítulo 3 norte Almacenamiento de bases de datos y objetos de esquema

Extensiones de 64 KB para las primeras 16 extensiones y luego las extensiones aumentan de tamaño a 1 MB para las siguientes 63 extensiones. Luego, el tamaño

aumenta a 8 MB para las siguientes 120 extensiones, luego 64 MB y así sucesivamente a medida que crece el segmento. Este algoritmo permite que los

segmentos pequeños sigan siendo pequeños y que los segmentos grandes crezcan sin ganar demasiadas extensiones. ASIGNACIÓN AUTOMÁTICA se utiliza

mejor para una mezcla de uso general de mesas grandes y pequeñas. A continuación, se muestra un ejemplo de cómo crear un espacio de tabla utilizando ASIGNACIÓN

AUTOMÁTICA:

CREAR TABLESPACE hist2004apr


ARCHIVO DE DATOS '/ORADATA/PROD/HIST2004APR.DBF' TAMAÑO 25G EXTENSIÓN

ADMINISTRACIÓN LOCAL AUTOALLOCATE;

Puede convertir un espacio de tabla de la gestión de extensión de diccionario a la gestión de extensión local y viceversa con el
paquete PL / SQL proporcionado por Oracle DBMS_SPACE_ADMIN. los SISTEMA
El espacio de tabla y cualquier espacio de tabla temporal, sin embargo, no se pueden convertir de la administración de diccionario de estilo

local a la anterior.

Elección de la gestión del espacio de segmentos

Para los espacios de tabla que tienen administración de extensión local, puede usar manual o automático gestión del espacio del segmento. La
gestión manual del espacio de segmentos existe para compatibilidad con versiones anteriores y utiliza listas de bloques libres para identificar los
bloques de datos disponibles para inserciones junto con los parámetros. PCT_FREE y PCT_USED, que controlan cuándo un bloque está
disponible para inserciones.
Después de cada INSERTAR o ACTUALIZAR, la base de datos compara el espacio libre restante en ese bloque de datos con el del segmento PCT_FREE

configuración. Si el bloque de datos tiene menos de PCT_FREE espacio libre (lo que significa que está casi lleno), se quita de la lista de bloqueo libre y

ya no está disponible para inserciones. El espacio libre restante se reserva para operaciones de actualización que pueden aumentar el tamaño de las

filas en ese bloque de datos. Después de cada ACTUALIZAR o ELIMINAR, la base de datos compara el espacio utilizado en ese bloque de datos con

el de ese segmento PCT_USED configuración. Si el bloque de datos tiene menos de PCT_USED

espacio utilizado, el bloque de datos se considera lo suficientemente vacío para inserciones y se coloca en la lista de bloques libres.

Para especificar la gestión manual del espacio del segmento, utilice el MANUAL DE GESTIÓN DEL ESPACIO POR SEGMENTOS cláusula de la CREAR

TABLESPACE declaración, o simplemente omita la GESTIÓN DEL ESPACIO POR SEGMENTOS cláusula. Aunque Oracle recomienda encarecidamente AUTOMÁTICO

gestión del espacio de segmento para espacios de tabla permanentes y gestionados localmente, el comportamiento predeterminado de Oracle 10 gramo es MANUAL.

Aquí hay una declaración que crea un espacio de tabla con administración manual del espacio de segmento:

CREAR TABLESPACE hist2004apr


ARCHIVO DE DATOS '/ORADATA/PROD/HIST2004APR.DBF' TAMAÑO 25G EXTENSIÓN

GESTIÓN LOCAL AUTOALLOCATE

MANUAL DE GESTIÓN DEL ESPACIO POR SEGMENTOS;

Cuando se especifica la gestión automática del espacio de segmentos, se utilizan mapas de bits en lugar de listas libres para identificar qué bloques

de datos están disponibles para inserciones. Los parametros PCT_FREE y PCT_USED se ignoran para los segmentos en espacios de tabla con gestión

automática del espacio de segmentos. La gestión automática del espacio de segmento está disponible solo en espacios de tabla configurados para la

gestión de extensión local; no está disponible para espacios de tabla temporales o del sistema. La gestión automática del espacio por segmentos

funciona mejor y reduce sus tareas de mantenimiento, lo que la convierte en la técnica preferida.
Administrar espacios de tabla 141

Para especificar la gestión automática del espacio de segmento, utilice el GESTIÓN DEL ESPACIO POR SEGMENTO AUTO cláusula de la CREAR

TABLESPACE declaración, como esta:

CREAR TABLESPACE hist2004apr


ARCHIVO DE DATOS '/ORADATA/PROD/HIST2004APR.DBF' TAMAÑO 25G EXTENSIÓN

GESTIÓN LOCAL AUTOALLOCATE

SEGMENTO DE GESTIÓN DEL ESPACIO AUTOMÁTICO;

Aunque el nombre gestión del espacio del segmento suena similar a la gestión de la extensión, es bastante
diferente y puede considerarse con más precisión como gestión del espacio libre. Además, debido a que el
comportamiento predeterminado de la base de datos difiere de la implementación recomendada por Oracle,
asegúrese de comprender estas opciones.

Crear espacios de tabla temporales


Un espacio de tabla temporal se usa para segmentos temporales, que la base de datos crea, administra y elimina según sea
necesario. Estos segmentos temporales se generan con mayor frecuencia durante operaciones de clasificación como ORDEN POR,
GRUPO POR, y CREAR ÍNDICE. También se generan durante otras operaciones, como combinaciones de hash o inserciones en
tablas temporales.
Crea un espacio de tabla temporal en el momento de la creación de la base de datos con el ESPACIO DE MESA TEMPORAL POR DEFECTO cláusula

de la CREAR BASE DE DATOS declaración o después de que se crea la base de datos con la

CREAR TABLESPACE TEMPORAL declaración, como esta:

CREAR TEMPORAL TABLESPACE temp


ARCHIVO TEMP 'C: \ ORACLE \ ORADATA \ ORA10 \ TEMP01.DBF' TAMAÑO 2G;

Observe que la palabra clave TEMPFILE se usa en lugar de ARCHIVO DE DATOS. Los archivos temporales solo están disponibles con espacios de tabla

temporales, nunca es necesario realizar una copia de seguridad y no registran cambios de datos en los registros de rehacer.

Aunque siempre es una buena práctica crear un espacio de tabla temporal independiente, es necesario
cuando el espacio de tabla del sistema se gestiona localmente.

Los espacios de tabla temporales se crean utilizando archivos temporales en lugar de archivos de datos. Los archivos temporales se asignan de

forma ligeramente diferente a los archivos de datos. Aunque los archivos de datos se asignan e inicializan completamente en el momento de la creación,

no siempre se garantiza que los archivos temporales asignen el espacio de disco especificado. Esto significa que en algunos sistemas Unix, un archivo

temporal no asignará espacio en disco hasta que una operación de clasificación lo requiera. Aunque este enfoque de asignación demorada permite la

creación rápida de archivos, puede causar problemas en el futuro si no ha reservado el espacio que puede ser necesario en tiempo de ejecución.
142 Capítulo 3 norte Almacenamiento de bases de datos y objetos de esquema

Solución alternativa para las asignaciones de espacio en disco de archivos temporales diferidos

Una solución alternativa para asignar espacio de archivo temporal en tiempo de ejecución es preasignarlo, tal como lo hace con un archivo de datos. De hecho,

primero lo asigna como un archivo de datos y luego suelta el espacio de tabla, dejando el archivo. Finalmente, crea su espacio de tabla temporal reutilizando el

archivo de datos antiguo como un archivo temporal.

- - primero créelo como un espacio de tabla permanente

- - para forzar la asignación de espacio en disco CREATE


TABLESPACE temp

ARCHIVO DE DATOS '/ORADATA/PROD/TEMP01.DBF' TAMAÑO 2G;

- - soltar el espacio de tabla no elimina

- - el archivo del sistema de archivos DROP


TABLESPACE temp;

- - la palabra clave REUTILIZAR es necesaria para usar el

- - archivo creado en los pasos anteriores CREAR


TEMPORARY TABLESPACE temp

TEMPFILE '/ORADATA/PROD/TEMP01.DBF' TAMAÑO 2G REUTILIZACIÓN

Crear espacios de tabla para deshacer

Un espacio de tabla de deshacer almacena segmentos de deshacer, que son utilizados por la base de datos para varios propósitos, incluidos los

siguientes:

norte
Revertir una transacción explícitamente con un RETROCEDER declaración

norte
Revertir una transacción implícitamente (por ejemplo, mediante la recuperación de una transacción fallida) Reconstruir una imagen de

norte
datos coherente con la lectura

norte
Recuperarse de corrupciones lógicas

Para crear un espacio de tabla para deshacer en el momento de la creación de la base de datos, establezca el parámetro de inicialización

UNDO_MANAGEMENT = AUTO e incluir un DESHACER TABLESPACE cláusula en tu CREAR BASE DE DATOS

declaración, como esta:

CREAR PRUEBA DE BASE DE DATOS

REUTILIZACIÓN DE ARCHIVOS DE CONTROL

ARCHIVO DE REGISTRO

GRUPO 1 'C: \ ORADATA \ TEST \ REDO01.LOG' TAMAÑO 10M, GRUPO 2 'C: \

ORADATA \ TEST \ REDO02.LOG' TAMAÑO 10M, GRUPO 3 'C: \ ORADATA \ TEST \

REDO03.LOG' TAMAÑO 10M ARCHIVO DE DATOS 'C: \ ORADATA \ TEST \

SYSTEM01.DBF' TAMAÑO 500M

AUTOEXTEND EN LOS PRÓXIMOS 50M MAXSIZE ILIMITADO


Administrar espacios de tabla 143

GESTIÓN DE EXTENSIÓN LOCAL

ARCHIVO DE DATOS SYSAUX 'C: \ ORADATA \ TEST \ SYSAUX01.DBF' TAMAÑO 250M

EXTENSIÓN AUTOMÁTICA EN LOS PRÓXIMOS 50M TAMAÑO MÁXIMO

EXTENSIÓN ILIMITADA GESTIÓN LOCAL

TABLESPACE TEMPORAL PREDETERMINADO temp

TEMPFILE 'C: \ ORADATA \ TEST \ TEMP01.DBF' TAMAÑO 100M AUTOEXTEND EN LOS

PRÓXIMOS 100M TAMAÑO MÁXIMO 8000M

DESHACER TABLESPACE deshacer

ARCHIVO DE DATOS 'C: \ ORADATA \ TEST \ undo01.DBF' TAMAÑO 500M AUTOEXTEND

EN LOS PRÓXIMOS 100M TAMAÑO MÁXIMO EXTENSIÓN ILIMITADA GESTIÓN LOCAL

JUEGO DE PERSONAJES WE8MSWIN1252

CONJUNTO DE CARACTERES NACIONALES AL16UTF16

USUARIO SYS IDENTIFICADO POR SOUPERSEEKRET

SISTEMA DE USUARIO IDENTIFICADO POR MYSEEKRET

Puede crear un espacio de tabla para deshacer después de la creación de la base de datos con el CREAR UNDO TABLESPACE declaración,

como esta:

CREAR UNDO TABLESPACE deshacer

ARCHIVO DE DATOS '/ORADATA/PROD/UNDO01.DBF' TAMAÑO 2G;

Aunque siempre es una buena práctica crear un espacio de tabla de deshacer separado, es necesario cuando el espacio
de tabla del sistema se administra localmente.

Eliminar un espacio de tabla

Para eliminar un espacio de tabla de la base de datos, utilice el ESPACIO DE MESA DROP declaración. La cláusula opcional INCLUYE
CONTENIDOS elimina de forma recursiva cualquier segmento (tablas, índices, etc.) en el espacio de tabla, así:

DROP TABLESPACE dba_sandbox INCLUYE CONTENIDO;

Eliminar un espacio de tabla no elimina automáticamente los archivos de datos del sistema de archivos. Usa la cláusula adicional INCLUYENDO

CONTENIDOS Y ARCHIVOS DE DATOS para eliminar los archivos de datos subyacentes, así como los objetos almacenados, como este:

DROP TABLESPACE hr_data INCLUYENDO CONTENIDOS Y ARCHIVOS DE DATOS;

Modificar espacios de tabla

Utilice un ALTERAR EL ESPACIO DE MESA declaración para modificar los atributos de un espacio de tabla. Algunas de las acciones que puede realizar en los

espacios de tabla incluyen cambiar el nombre del espacio de tabla, agregar un archivo de datos
144 Capítulo 3 norte Almacenamiento de bases de datos y objetos de esquema

a un espacio de tabla de archivo pequeño, poner un espacio de tabla fuera de línea o en línea, hacer que un espacio de tabla sea de solo lectura o lectura /

escritura, o cambiar el estado de copia de seguridad administrado por el usuario. Para cambiar el nombre de un espacio de tabla, utilice un ALTERAR EL ESPACIO

DE MESA declaración con un REBAUTIZAR cláusula, como esta:

ALTER TABLESPACE fin CAMBIAR EL NOMBRE A CUENTAS POR PAGAR;

Las siguientes secciones detallan las modificaciones adicionales que puede realizar en sus espacios de tabla.

Agregar un archivo de datos a un espacio de tabla

Los espacios de tabla de archivos pequeños pueden tener varios archivos de datos y, por lo tanto, pueden distribuirse en varios sistemas de archivos sin utilizar un

administrador de volumen lógico. Para agregar un archivo de datos a un espacio de tabla de archivo pequeño, use un AGREGAR cláusula con el ALTERAR EL

ESPACIO DE MESA declaración. Por ejemplo, la siguiente declaración agrega un archivo de datos de 2GB en el / u02 sistema de archivos al cuentas por cobrar espacio

de tabla:

ALTER TABLESPACE cuentas por cobrar AÑADIR ARCHIVO DE DATOS

'/u02/oradata/ORA10/receivables01.dbf'
TAMAÑO 2G;

Poner un espacio de tabla fuera de línea o en línea

Debe desconectar un espacio de tabla para realizar algunas operaciones de mantenimiento, como recuperar el espacio de tabla o mover los archivos de datos

a una nueva ubicación. Utilizar el DESCONECTADO cláusula con una ALTERAR EL ESPACIO DE MESA declaración para poner un espacio de tabla fuera de

línea. Por ejemplo, para tomar el cuentas por cobrar

tablespace fuera de línea para mover un archivo de datos de la unidad H a la unidad G, siga estos pasos.

1. Toma el cuentas por cobrar tablespace fuera de línea:

ALTER TABLESPACE cuentas por cobrar FUERA DE LÍNEA;

2. Utilice un programa del sistema operativo para mover físicamente el archivo, como Copiar en Microsoft
Windows o cp en Unix.

3. Dígale a la base de datos sobre la nueva ubicación:

ALTER TABLESPACE cuentas por cobrar CAMBIAR EL NOMBRE DEL ARCHIVO DE DATOS

'H: \ ORACLE \ ORADATA \ ORA10 \ RECEIVABLES02.DBF'

PARA 'G: \ ORACLE \ ORADATA \ ORA10 \ RECEIVABLES02.DBF';

4. Vuelva a poner el espacio de tabla en línea:

ALTERAR TABLESPACE cuentas por cobrar EN LÍNEA;

Hacer un espacio de tabla de solo lectura

Si un espacio de tabla contiene datos estáticos, se puede marcar como de solo lectura. Los espacios de tabla que contienen datos históricos o de referencia son

candidatos típicos para solo lectura. Cuando un espacio de tabla es de solo lectura, no es necesario realizar una copia de seguridad con las copias de seguridad

de la base de datos semanales o nocturnas. Una copia de seguridad después de haber sido marcada como de solo lectura es todo lo que se necesita para futuras

recuperaciones. Las tablas en un espacio de tabla de solo lectura solo se pueden seleccionar de; sus filas no se pueden insertar, actualizar ni eliminar.
Administrar espacios de tabla 145

Utilizar un SOLO LECTURA cláusula con una ALTERAR EL ESPACIO DE MESA declaración para marcar un espacio de tabla de solo lectura. Por

ejemplo, para marcar el VENTAS2003 tablespace de solo lectura, ejecute lo siguiente:

ALTER TABLESPACE sales2003 LEER SOLAMENTE;

Si necesita realizar cambios en una tabla en un espacio de tabla de solo lectura, haga que se pueda leer de nuevo con las palabras clave LEER

ESCRIBIR, como esto:

ALTER TABLESPACE sales2003 LEER ESCRIBIR;

Poner un espacio de tabla en modo de copia de seguridad

Si realiza copias de seguridad en línea que no son de RMAN (que no son de Recovery Manager), a veces denominadas copias de seguridad administradas por

el usuario, debe poner un espacio de tabla en modo de copia de seguridad antes de comenzar a copiar los archivos de datos mediante un programa del sistema

operativo. Mientras el espacio de tabla está en modo de respaldo, la base de datos continúa escribiendo datos en los archivos de datos (ocurren puntos de

control), pero la ocurrencia de estos puntos de control no se registra en los bloques de encabezado de los archivos de datos. Esta omisión le dice a la base de

datos que la recuperación puede ser necesaria si la instancia de la base de datos se termina abruptamente.

Mientras un espacio de tabla está en modo de copia de seguridad, se escribe información adicional en los registros de rehacer para ayudar con la

recuperación, si es necesario.

Consulte el Capítulo 10, “Implementación de copias de seguridad de la base de datos” para obtener más información sobre las copias de

seguridad, y el Capítulo 11, “Implementación de la recuperación de la base de datos”, para obtener más información sobre la recuperación.

Algunas empresas realizan copias de seguridad dividiendo un tercer espejo, montando estos sistemas de archivos reflejados en otro

servidor y luego copiándolos en cinta. Para dividir de forma segura el espejo, modifique todos sus espacios de tabla en modo de respaldo,

realice la división y luego modifique todos los espacios de tabla fuera del modo de respaldo. Ponlos en modo de respaldo como este:

ALTER TABLESPACE system BEGIN BACKUP;

Usa las palabras clave FINALIZAR COPIA DE SEGURIDAD para sacar un espacio de tabla del modo de respaldo, así:

ALTER TABLESPACE sistema END BACKUP;

Si olvida sacar un espacio de tabla del modo de copia de seguridad, la próxima vez que rebote su base de datos, verá que el número de
punto de control en el archivo de control es posterior al de los encabezados del archivo de datos e informará que se requiere recuperación de
medios.

Obtención de información sobre el espacio de tablas

Puede obtener información sobre espacios de tabla utilizando el control de base de datos de Enterprise Manager (EM) desde varias vistas de
diccionario de datos, como las siguientes:

norte
DBA_TABLESPACES

norte
DBA_DATA_FILES
146 Capítulo 3 norte Almacenamiento de bases de datos y objetos de esquema

norte
DBA_TEMP_FILES

norte
V $ MESA ESPACIO

los DBA_TABLESPACES vista tiene una fila para cada espacio de tabla en la base de datos e incluye la siguiente
información:

norte
El tamaño del bloque del espacio de tabla

norte
El estado del espacio de tabla: en línea, fuera de línea o de solo lectura

norte
El contenido del espacio de tabla: deshacer, temporal o permanente Si utiliza un

norte
diccionario o extensiones administradas localmente

norte
Si la gestión del espacio del segmento es automática o manual Si es un espacio de

norte
tabla de archivo grande o pequeño

Para obtener una lista de todos los espacios de tabla en la base de datos, su estado, contenido, política de administración de extensiones y política

de administración de segmentos, ejecute la siguiente consulta:

SELECT nombre_espacio_tabla, estado, contenido


, extension_management extensiones

, segmento_espacio_gestión_espacio_gratis
DESDE dba_tablespaces

TABLESPACE_NAME ESTADO CONTENIDO EXTENSIONES ESPACIO LIBRE

-------------------------------------------------
SISTEMA EN LÍNEA LOCAL PERMANENTE MANUAL

UNDOTBS1 EN LÍNEA DESHACER LOCAL MANUAL

SYSAUX EN LÍNEA LOCAL PERMANENTE AUTO

TEMPERATURA EN LÍNEA LOCAL TEMPORAL MANUAL

USUARIOS EN LÍNEA LOCAL PERMANENTE AUTO

EJEMPLO EN LÍNEA LOCAL PERMANENTE AUTO

DATOS EN LÍNEA LOCAL PERMANENTE AUTO

INDX EN LÍNEA LOCAL PERMANENTE AUTO

los V $ MESA ESPACIO La vista también tiene una fila por espacio de tabla, pero incluye información distinta a DBA_TABLESPACES,
como si el espacio de tabla participa en operaciones de flashback de la base de datos:

SELECCIONAR nombre, bigfile, flashback_on FROM v $

tablespace;

NOMBRE BIGFILE FLASHBACK_ON


---------------------------
SISTEMA NO SÍ
UNDOTBS1 NO SÍ
SYSAUX NO SÍ
USUARIOS NO SÍ
Administrar espacios de tabla 147

TEMPERATURA NO SÍ
EJEMPLO NO SÍ
DATOS NO SÍ
INDX NO SÍ

Consulte el Capítulo 10 para obtener más información sobre las operaciones de flashback.

los DBA_DATA_FILES y DBA_TEMP_FILES Las vistas contienen información sobre archivos de datos y archivos temporales, respectivamente. Esta

información incluye el nombre del espacio de tabla, el nombre del archivo, el tamaño del archivo y la configuración de extensión automática.

SELECCIONE nombre_espacio_tabla, nombre_archivo, bytes / 1024 kbytes DE

archivos_datos_dba

UNIÓN TODOS

SELECCIONE nombre_espacio_tabla, nombre_archivo, bytes / 1024 kbytes DE

dba_temp_files;

TABLESPACE FILE_NAME KBYTES

---------------------------------------------------
USUARIOS C: \ ORACLE \ ORADATA \ ORA10 \ USERS01.DBF 102400
SYSAUX C: \ ORACLE \ ORADATA \ ORA10 \ SYSAUX01.DBF 256000
UNDOTBS1 C: \ ORACLE \ ORADATA \ ORA10 \ UNDOTBS01.DBF 51200
SISTEMA C: \ ORACLE \ ORADATA \ ORA10 \ SYSTEM01.DBF 460800
EJEMPLO C: \ ORACLE \ ORADATA \ ORA10 \ EXAMPLE01.DBF 153600
INDX C: \ ORACLE \ ORADATA \ ORA10 \ INDX01.DBF 102400
TEMPERATURA C: \ ORACLE \ ORADATA \ ORA10 \ TEMP01.DBF 51200

Además del diccionario de datos, la información del espacio de tabla se puede obtener de varias fuentes. Algunas
de estas fuentes son DDL y Enterprise Manager.

Generación de DDL para un espacio de tabla

Otra forma de identificar rápidamente los atributos de un espacio de tabla es pedirle a la base de datos que genere DDL para volver a crear el

espacio de tabla. los CREAR TABLESPACE declaración de que los resultados contienen los atributos del espacio de tabla. Utilice el paquete PL

/ SQL DBMS_METADATA para generar DDL para los objetos de su base de datos. Por ejemplo, para generar el DDL para el USUARIOS tablespace,

ejecute esto:

SELECT DBMS_METADATA.GET_DDL ('TABLESPACE', 'USERS')

DE dual;

El resultado de esta declaración es un CREAR TABLESPACE declaración que contiene todos los atributos de la USUARIOS espacio
de tabla:

CREAR ARCHIVO DE DATOS DE "USUARIOS" DE TABLESPACE


148 Capítulo 3 norte Almacenamiento de bases de datos y objetos de esquema

TAMAÑO 'C: \ ORACLE \ ORADATA \ ORA10 \ USERS01.DBF' 5242880

AUTOEXTEND ON NEXT 1310720 MAXSIZE 32767M REGISTRO EN LÍNEA

TAMAÑO DE BLOQUE PERMANENTE 8192

GESTIÓN DE LA EXTENSIÓN LOCAL AUTOALLOCATE SEGMENTO GESTIÓN DEL ESPACIO

AUTO;

Obtención de información del espacio de tabla con Enterprise Manager


En lugar de consultar las vistas del diccionario de datos con una herramienta de línea de comandos como SQL * Plus o

I SQL * Plus, puede utilizar la herramienta de interfaz gráfica de usuario interactiva EMDatabase Control para monitorear y administrar las estructuras de la

base de datos, incluidos los espacios de tabla. EMDatabase Control es una alternativa a una interfaz de línea de comandos.

Para utilizar el control de la base de datos, siga estos pasos:

1. Apunte su navegador a la URL de Enterprise Manager para su base de datos.

2. Inicie sesión en la base de datos y navegue hasta la pestaña Administración de la pantalla principal, que
se muestra en la Figura 3.2.

FIGURA 3 . 2 La pestaña Administración de Enterprise Manager


Administrar espacios de tabla 149

3. Haga clic en el enlace Tablespaces debajo del encabezado Storage para mostrar una lista de tablespaces como la que se muestra en la Figura 3.3.

4. Haga clic en el botón de radio junto al espacio de tabla con el que desea trabajar y luego haga clic en el botón Editar. Puede
navegar a las pantallas de edición de tablespace General, Storage y Thresholds, como se muestra en la Figura 3.4.

Utilice las pantallas y opciones en EM Database Control para manipular y cambiar sus espacios de tabla con muchas de las
mismas opciones que admite la interfaz de línea de comandos. Por ejemplo, para aumentar el tamaño del archivo de datos en el USER3_DATA
espacio de tabla, haga clic en el botón editar junto al archivo de datos. EM Database Control muestra la pantalla de edición del espacio
de tabla, como se muestra en la Figura 3.5.

Edite el campo Tamaño de archivo, incrementándolo a 300 MB. El cambio se aplicará cuando haga clic en Continuar.

FIGURA 3 . 3 La pantalla de espacios de tabla de Enterprise Manager


150 Capítulo 3 norte Almacenamiento de bases de datos y objetos de esquema

FIGURA 3 . 4 El editor de espacios de tabla de Enterprise Manager

FIGURA 3 . 5 Editar el tamaño del archivo de datos


Administrar archivos de datos 151

Administrar archivos de datos

Si no está utilizando OMF, deberá administrar los archivos de datos usted mismo. La base de datos creará o reutilizará uno o más archivos de datos

en los tamaños y ubicaciones que especifique siempre que cree un espacio de tabla. Un archivo de datos pertenece a un solo espacio de tabla y

solo a una base de datos a la vez. Los archivos temporales son una variedad especial de archivos de datos que se utilizan en espacios de tabla

temporales. Cuando la base de datos crea o reutiliza un archivo de datos, el archivo del sistema operativo se asigna e inicializa, lleno con un patrón

regular de ceros en su mayoría binarios. Esta inicialización no ocurrirá con archivos temporales.

Las operaciones que puede necesitar realizar en archivos de datos incluyen las siguientes:

norte
Cambiar su tamaño

norte
Ponerlos fuera de línea o en línea

norte
Moverlos (renombrarlos)

norte
Recuperándolos

Una técnica útil para administrar el espacio en disco utilizado por los archivos de datos es habilitar AUTOEXTEND, que le dice a la base de datos que

amplíe automáticamente un archivo de datos cuando el espacio de tabla se quede sin espacio libre. los AUTOEXTEND los atributos se aplican a archivos

de datos individuales y no al espacio de tabla.

Para cambiar el tamaño de un archivo de datos manualmente, use el ALTERAR EL ARCHIVO DE DATOS DE LA BASE DE DATOS declaración, como esta:

ALTERAR EL ARCHIVO DE DATOS DE LA BASE DE DATOS

'C: \ ORACLE \ ORADATA \ ORA10 \ DATA01.DBF' CAMBIAR EL TAMAÑO 2000M;

Para configurar un archivo de datos para que se amplíe automáticamente según sea necesario agregando 100 MB a la vez hasta un máximo

de 8,000 MB, ejecute lo siguiente:

ALTERAR EL ARCHIVO DE DATOS DE LA BASE DE DATOS

'C: \ ORACLE \ ORADATA \ ORA10 \ DATA01.DBF'

EXTENSIÓN AUTOMÁTICA EN LOS PRÓXIMOS 100 M TAMAÑO MÁXIMO 8000 M;

Incluso si no planea administrar el espacio en disco usando AUTOEXTEND, considere habilitarlo en sus archivos de
datos para evitar fallas por falta de espacio en sus aplicaciones.

Para reubicar un archivo de datos, desconéctelo, muévalo usando un comando del sistema operativo, cámbiele el nombre, recupérelo (sincronice

el encabezado del archivo con el resto de la base de datos) y luego vuelva a ponerlo en línea. Aquí hay un ejemplo:

1. Desconectarlo:

ALTERAR EL ARCHIVO DE DATOS DE LA BASE DE DATOS

'C: \ ORACLE \ DATA02.DBF' SIN CONEXIÓN;

2. Cópialo:

COPIA DEL ANFITRIÓN C: \ ORACLE \ DATA02.DBF

C: \ ORACLE \ ORADATA \ ORA10 \ DATA02.DBF


152 Capítulo 3 norte Almacenamiento de bases de datos y objetos de esquema

3. Cambie el nombre del archivo en los archivos de control:

ALTER DATABASE RENAME ARCHIVO

'C: \ ORACLE \ DATA02.DBF' PARA

'C: \ ORACLE \ ORADATA \ ORA10 \ DATA02.DBF';

4. Sincronice el encabezado del archivo con la base de datos:

RECUPERAR ARCHIVO DE DATOS 'C: \ ORACLE \ ORADATA \ ORA10 \ DATA02.DBF';

5. Vuelva a ponerlo en línea para que se pueda utilizar.

ALTERAR EL ARCHIVO DE DATOS DE LA BASE DE DATOS

'C: \ ORACLE \ ORADATA \ ORA10 \ DATA02.DBF' EN LÍNEA;

Trabajar con objetos de esquema


A esquema es una colección de objetos de base de datos propiedad de un usuario de base de datos específico. En un Oracle10 gramo

base de datos, el esquema tiene el mismo nombre que el usuario de la base de datos, por lo que los dos términos son sinónimos.

Los objetos de esquema incluyen los segmentos (tablas, índices, etc.) que ha visto en los espacios de tabla, así como los objetos de base de datos

que no son segmentos que son propiedad de un usuario. Estos objetos que no son de segmento incluyen restricciones, vistas, sinónimos,

procedimientos y paquetes. Los objetos de base de datos que no son propiedad de un usuario y, por lo tanto, no son objetos de esquema incluyen roles,

espacios de tabla y directorios.

En esta sección, aprenderá sobre los tipos de datos integrados que Oracle proporciona para usar en sus tablas, cómo
crear y administrar tablas, cómo implementar reglas de negocio como restricciones en sus tablas y cómo mejorar el
rendimiento de sus tablas con índices. Finalmente, cubriremos brevemente otros objetos de esquema que puede usar en
sus aplicaciones.

Especificar tipos de datos

Oracle10 gramo tiene varios tipos de datos integrados que puede usar en sus tablas. Estos tipos de datos se dividen en seis categorías

principales:

norte
Personaje
norte
Numérico

norte
Fecha y hora

norte
LOB (objeto grande)
norte
ROWID
norte
Binario

Oracle 10 gramo admite tipos de datos adicionales, pero nos centraremos en estas seis categorías principales.

También podría gustarte