0% encontró este documento útil (0 votos)
6 vistas19 páginas

Managing-Database-Storage-Structures in Oracle

El curso aborda la gestión de estructuras de almacenamiento en bases de datos Oracle, incluyendo la creación y administración de tablespaces y el almacenamiento de datos en bloques. Se explican conceptos clave como bloques, filas, y tablespaces, así como comandos SQL para manipular estos elementos. También se discuten prácticas para optimizar el rendimiento y la gestión de archivos de datos en Oracle.

Cargado por

camilot
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 PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas19 páginas

Managing-Database-Storage-Structures in Oracle

El curso aborda la gestión de estructuras de almacenamiento en bases de datos Oracle, incluyendo la creación y administración de tablespaces y el almacenamiento de datos en bloques. Se explican conceptos clave como bloques, filas, y tablespaces, así como comandos SQL para manipular estos elementos. También se discuten prácticas para optimizar el rendimiento y la gestión de archivos de datos en Oracle.

Cargado por

camilot
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 PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

Managing Database

Storage Structures
Creado por Camilo Torres

Este curso explora la gestión de estructuras de almacenamiento en


bases de datos Oracle, cubriendo desde bloques de datos hasta
tablespaces completos.

by Camilo Torres
Objetivos
Después de completar esta lección, serás capaz de:

• Describir el almacenamiento de datos de filas de tablas en bloques


• Crear y gestionar tablespaces
• Obtener información sobre tablespaces
¿Cómo se almacenan los
datos de tablas?
Columns
Componentes básicos que definen la estructura de datos en una tabla

Rows
Filas de datos que contienen la información almacenada en la tabla

Blocks
Unidades básicas de almacenamiento donde se guardan las filas

Tablespace
Unidad lógica que agrupa segmentos y facilita la administración
Database Block: Contenidos
Estructura de un bloque de base de Eldatos
tamaño del bloque se configura durante la creación de
la base de datos y afecta directamente al rendimiento.
Los bloques son las unidades fundamentales de Un bloque más grande puede almacenar más filas pero
almacenamiento en Oracle y contienen: podría aumentar la contención.

• Free space: Espacio disponible para nuevos datos La administración eficiente del espacio dentro de los

• bloques es crucial para optimizar el rendimiento de la


Row data: Almacena los datos reales de las filas de
base de datos.
tabla

• Block header: Contiene información de metadatos


sobre el bloque, SCN (System Change Number), Tipo
de bloque, Información de control de transacciones,
Información de consistencia
Explorando la Estructura de Almacenamiento

Visualización mediante SQL*Plus Estructura jerárquica


• Tablespaces contienen segmentos
SQL> SELECT * FROM dba_tablespaces;
• Segmentos contienen extents
SQL> SELECT * FROM dba_data_files;
SQL> SELECT * FROM dba_segments WHERE • Extents contienen bloques
tablespace_name='USERS'; • Bloques almacenan filas

Esta jerarquía facilita la organización y gestión eficiente de los datos en Oracle.

Estos comandos nos permiten examinar la estructura de almacenamiento sin


depender del Enterprise Manager.
Creando un Nuevo Tablespace

Usando SQL*Plus Parámetros principales


• DATAFILE: Ubicación y nombre del archivo de datos
SQL> CREATE TABLESPACE users_data DATAFILE
• SIZE: Tamaño inicial del archivo
'/u01/app/oracle/oradata/ orcl/users_data01.dbf'
SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 500M; • AUTOEXTEND: Permite crecimiento automático
• NEXT: Incremento cuando sea necesario expandir
• MAXSIZE: Límite máximo de crecimiento
Creando Tablespace con SQL
Developer
SQL Developer ofrece una interfaz gráfica para la creación de tablespaces, pero
internamente genera los mismos comandos SQL que escribiríamos en SQL*Plus.

Paso 1
Conectarse como usuario con privilegios administrativos (SYSDBA)

Paso 2
Navegar a la sección de Tablespaces en el panel de navegación

Paso 3
Hacer clic derecho y seleccionar "Crear Tablespace"

Paso 4
Configurar nombre, ubicación de archivos y opciones adicionales
Configuración de Tablespace Temporal

Tablespaces Temporales Características especiales


Se utilizan para operaciones de ordenamiento y creación de índices temporales • Utilizan archivos TEMPFILE en lugar de DATAFILE
durante consultas complejas. • No almacenan datos permanentes
• Optimizados para operaciones de ordenamiento
SQL> CREATE TEMPORARY TABLESPACE temp_users TEMPFILE
• Importante dimensionarlos adecuadamente para consultas grandes
'/u01/app/oracle/oradata/ orcl/temp_users01.dbf'
SIZE 50M AUTOEXTEND ON;
Grupos de Tablespaces Tempora
Los grupos de tablespaces temporales permiten distribuir la carga de trabajo de
ordenamiento entre múltiples tablespaces.

Crear grupo Añadir tablespace

SQL> CREATE TABLESPACE TEMP2... SQL> ALTER TABLESPACE SET


SQL> ALTER DATABASE temp_group ADD TABLESPACE
DEFAULT TEMPORARY TABLESPACE temp2;
temp_group;

Eliminar tablespace

SQL> ALTER TABLESPACE SET


temp_group REMOVE
TABLESPACE temp2;
Tablespaces Creados por Defecto
SYSTEM
SYSAUX
Almacena el diccionario de datos y
Tablespace auxiliar que contiene
objetos del sistema core. Crítico para
componentes como AWR, ADDM y
el funcionamiento de la base de
otros componentes Oracle.
datos.

EXAMPLE UNDOTBS1
Opcional, contiene esquemas de Almacena información de deshacer
ejemplo para aprendizaje y (undo) para operaciones DML y
pruebas. recuperación.

TEMP
USERS
Usado para operaciones de
Destinado a almacenar objetos y
ordenamiento y almacenamiento
datos de usuarios del sistema.
temporal durante consultas.
Alterando un Tablespace

Operaciones comunes Casos de uso


• READ ONLY: Útil para tablespaces históricos o de referencia que no cambian
-- Cambiar a modo de solo lecturaSQL> ALTER TABLESPACE users READ ONLY;--
• OFFLINE: Necesario para mantenimiento o recuperación de archivos de datos
Volver a modo lectura-escrituraSQL> ALTER TABLESPACE users READ WRITE;--
Cambiar estadoSQL> ALTER TABLESPACE users OFFLINE;SQL> ALTER TABLESPACE users • RENAME: Cambiar nombres de tablespaces para mejor organización
ONLINE; • DEFAULT: Especificar el tablespace por defecto para usuarios
Añadiendo un Data File
a un Tablespace
Los tablespaces de tipo SMALLFILE pueden contener múltiples
archivos de datos, lo que permite distribuir la carga entre diferentes
discos y aumentar el espacio total.

SQL> ALTER TABLESPACE users ADD DATAFILE


'/u01/app/oracle/oradata/orcl/users02.dbf' SIZE
100M AUTOEXTEND ON NEXT 10M MAXSIZE 500M;

Este comando añade un nuevo archivo de datos al tablespace


existente, aumentando su capacidad total y potencialmente
mejorando el rendimiento al distribuir las operaciones I/O.
Modificando un Data File
1 Cambiar tamaño

SQL> ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf'


RESIZE 150M;

Permite aumentar el tamaño de un archivo de datos para proporcionar más espacio.

2 Configurar autoextend

SQL> ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf'


AUTOEXTEND ON NEXT 10M MAXSIZE 500M;

Habilita el crecimiento automático cuando el espacio se agota.

3 Desactivar autoextend

SQL> ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf'


AUTOEXTEND OFF;

Previene el crecimiento automático, útil para controlar estrictamente el espacio.


Eliminando Tablespaces

Eliminar solo el tablespace Eliminar tablespace y contenidos

SQL> DROP TABLESPACE test_data; SQL> DROP TABLESPACE test_data INCLUDING CONTENTS;

Esta opción solo elimina la definición del tablespace pero mantiene los archivos físicos en el sistema
operativo. No funciona si el tablespace contiene objetos. Elimina el tablespace y todos sus objetos, pero mantiene los archivos físicos.

Eliminar todo completamente

SQL> DROP TABLESPACE test_data INCLUDING CONTENTS AND DATAFILES;

Elimina la definición, los objetos y los archivos físicos del sistema.


Consultando Información de Tablespaces
Vistas del diccionario Información de espacio

 Información general de tablespaces  Espacio usado y libre


 SQL> SELECT tablespace_name, status,  SQL> SELECT tablespace_name,
contents, logging, extent_management SUM(bytes)/1024/1024 MB, SUM(blocks)
FROM dba_tablespaces; blocks FROM dba_free_space GROUP BY
 -- Información de archivos de datos tablespace_name;
 SQL> SELECT file_name, file_id,  -- Segmentos por tablespace
tablespace_name FROM dba_data_files;  SQL> SELECT tablespace_name, segment_name,
segment_type, bytes/1024/1024 MB
FROM dba_segments WHERE
tablespace_name='USERS';
Oracle Managed Files (OMF)
OMF permite especificar operaciones de archivos en términos de objetos de base de datos en lugar de nombres de archivos, simplificando la administración.

DB_CREATE_FILE_DEST
Define la ubicación del directorio predeterminado para archivos de datos y temporales

DB_CREATE_ONLINE_LOG_DEST_n
Define la ubicación para archivos de redo log y archivos de control

DB_RECOVERY_FILE_DEST
Proporciona la ubicación predeterminada para el área de recuperación rápida

Ejemplo: SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST='/u01/app/oracle/oradata';SQL> CREATE TABLESPACE tbs_1; - Oracle creará automáticamente el archivo de datos con nombre generado
Quiz: Oracle Managed Files
Una base de datos puede tener una mezcla de archivos gestionados por Oracle y archivos no gestionados.

Verdadero ✓ Falso ✗
Oracle permite la coexistencia de ambos tipos de Esta afirmación sería incorrecta. Oracle está diseñado
archivos en la misma base de datos. Puedes tener para ser flexible y permitir una migración gradual hacia
algunos tablespaces usando OMF mientras otros usan la OMF sin necesidad de convertir todos los archivos
nomenclatura tradicional. existentes.

Los OMF simplifican la administración pero no son obligatorios para todos los archivos en una instalación de Oracle.
Ampliando la Base de Datos
Puedes ampliar la base de datos de las siguientes maneras:

Crear un nuevo tablespace


Añade un tablespace completamente nuevo para un propósito específico

Añadir un data file


Agrega un archivo de datos adicional a un tablespace smallfile existente

Aumentar tamaño del data file


Incrementa el tamaño de un archivo de datos existente para proporcionar más
espacio

Habilitar crecimiento dinámico


Configura AUTOEXTEND para permitir que los archivos crezcan
automáticamente según sea necesario
Moviendo o Renombrando Data Files Online
Almacenamiento en File System Almacenamiento en ASM

SQL> ALTER DATABASE MOVE DATAFILE SQL> ALTER DATABASE MOVE DATAFILE
'/u01/app/oracle/ '+DATAC1/orcl/ datafile/users.256.1'
oradata/orcl/users01.dbf' TO TO '+DATAC2';
'/u02/app/oracle/oradata/
orcl/users01_new.dbf';

Facilita la migración de archivos entre diferentes


Permite mover archivos entre diferentes ubicaciones del diskgroups de ASM, útil para balanceo de carga o
sistema de archivos sin interrumpir las operaciones de la mantenimiento.
base de datos.

La funcionalidad MOVE DATAFILE es extremadamente útil para operaciones de mantenimiento sin tiempo de inactividad,
permitiendo reorganizar el almacenamiento mientras la base de datos sigue funcionando.

También podría gustarte