3 GESTIÓN DE TABLESPACES



Documentos relacionados
Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM

Administración Básica de Oracle9i

Universidad Nacional de Costa Rica Administración de Bases de Datos

A.1. Definiciones de datos en SQL

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia:

SQL (Structured Query Language)

Clase 2: Estructuras Lógicas y Físicas(I)

CONSULTAS BASICAS EN SQL SERVER

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.

PROYECTO ADMINISTRACIÓN ORACLE ENTERPRISE MANAGER

Estructuras de Oracle

Constraints (Restricciones) Copyright Oracle Corporation, All rights reserved.

Creación y Gestión de Tablas. Copyright Oracle Corporation, All rights reserved.

Oracle Database 10g: Taller de Administración I 1-2

Tema 4. Manipulación de datos con SQL

Sub consultas avanzadas

MANUAL BÁSICO DE ORACLE

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

Oracle Express 10g. Marta Zorrilla Universidad de Cantabria

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

CREATE USER ADMINISTRADOR IDENTIFIED BY ADMIN DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA 500K ON USERS;

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:

MANUAL BÁSICO DEL LENGUAJE SQL

2. ESTUDIO DE INDICES

EL ENTORNO DE TRABAJO SQL ORACLE

Consultas con combinaciones

5 Objetos de base de datos

Instituto Profesional DuocUC Escuela de Ingeniería Control File

Backup & Recovery Oracle 9i

Trabajos de Ampliación. Bases de datos NoSQL.

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

Internet Information Server

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

MANUAL COPIAS DE SEGURIDAD

Backup & Recovery Oracle 9i. Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada.

Oracle Básico PL/SQL

1. DML. Las subconsultas

PRACTICA DE ADMINISTRACION DE BASES DE DATOS

Grandes volúmenes de datos Vistas materializadas. bases de datos

Descripción de la BBDD para las prácticas

Nociones de performance

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

Capítulo 12: Indexación y asociación

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

Restricciones de Integridad

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

Oracle 12c DISEÑO Y PROGRAMACIÓN

Recuperación de instancias dañadas usando RMAN

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

SEPARAR Y ADJUNTAR UNA BASE DE DATOS. Separar una base de datos

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

Al adquirir Gear Online se hará entrega del modulo de parámetros en cual podemos parametrizar todas las características de todas las áreas que

Vistas en postgresql

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Bases de datos relacionales y el modelo entidad-relación

MEJORAR EL RENDIMIENTO DEL EXPLORADOR DE INTERNET

Base de datos Lenguaje SQL

Administración Básica de Oracle10g

Gestión de Retales WhitePaper Noviembre de 2009

Oracle Database 10g: Taller de Administración I 1-2

Toda base de datos relacional se basa en dos objetos

TARIFAS DE VENTA Y DESCUENTOS

III. ADMINISTRACIÓN DE ORACLE.

Escrito por Beatriz Hernández Jueves, 13 de Octubre de :47 - Actualizado Jueves, 13 de Octubre de :04

Tablas internas 1-12

T12 Vistas y tablas temporales

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER

MANUALITO MS-SQL SERVER

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

MANUAL ECOMMERCE 2.0

1

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Base de Datos Práctica 1.

Procedimientos para agrupar y resumir datos

Tema: Auditoria de Base de datos. Objetivo Especifico

sql*plus es un programa de linea de comandos de oracle que puede ejecutar comandos sql y pl/sql de forma interactiva o mediante un script.

Tema: Auditoria de Base de datos. Parte I

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

Manual de Procedimiento

Select table data Insert table data Update table data Delete table data Create table

Capítulo. Cálculos con matrices

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL

Ejercicios: Administración de Bases de Datos en ORACLE

Resumen. Funcionamiento. Advertencia

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

LAS CONSULTAS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Guí a Ra pida Dropbox.

Práctica 2: Disco duro

Un ejemplo teórico de trigger podría ser éste:

Base de datos relacional

DBSURE. Disponemos de una copia de la base de datos de forma remota, que podemos contabilizar como segundo juego de copias.

Oficina Online. Manual del administrador

10. El entorno de publicación web (Publiweb)

Acceso a bases de datos MySQL con PHP

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Bases de Datos 2. Teórico

Transcripción:

3 GESTIÓN DE TABLESPACES 3.1 Introducción. 3.2 Creación de tablespaces. 3.3 Modificación de tablespaces. 3.4 Borrado de tablespaces. 3.5 Índices, secuencias y clusters. 3.6 Enlaces de bases de datos. 3.7 Parámetros de almacenamiento. 3.1 INTRODUCCIÓN Un tablespace es una unidad lógica de almacenamiento de datos representado físicamente por uno o más archivos de datos. Se recomienda crear un tablespace por aplicación o grupos de usuarios. (al instalar SYSTEM, USERS, TEMP, UNDOTBS01) Se pueden ver todos los tablespaces en DBA_DATA_FILES. Los ficheros de los tablespaces que genera el usuario están por defecto situados en C:\oracle\product\10.2.0\oradata\orcl. 3.2 CREACIÓN DE TABLESPACES Para crear un tablespace se usa la orden CREATE TABLESPACE la cual permite asignar uno o más archivos al espacio de tablas y especificar un espacio por omisión para cualquiera de las tablas creadas sin un espacio de tabla explícitamente mencionado en una sentencia CREATE TABLE. Su sintaxis es: CREATE TABLESPACE nb_tablespace DATAFILE nb_archivo [SIZE entero [K M][REUSE]] [AUTOEXTEND {OFF ON claúsulas}], [ nb_archivo [SIZE entero [K M][REUSE] [AUTOEXTEND {OFF ON claúsulas}],...] [DEFAULT STORAGE )] (INITIAL tamaño NEXT tamaño MINEXTENTS tamaño MAXEXTENTS tamaño PCTINCREASE valor [ONLINE OFFLINE]; Donde: DATAFILE: Especifica los archivos de datos que componen el tablespace. REUSE: Reutiliza el archivo si ya existe o lo crea si no existe. Pag: 1 de8

SIZE entero: Especifica el tamaño del tablespace, en KB o MB DEFAULT STORAGE: Define el almacenamiento por omisión para todos los objetos que se creen en ese espacio de tabla. Fija la cantidad de espacio si no se especifica en la sentencia CREATE TABLE. INITIAL: Extensión inicial. Tamaño en bytes de la primera extensión del objeto. NEXT: Extensión siguiente. Tamaño de la siguiente extensión que va a asignar al objeto. Por defecto, es el tamaño de un bloque de datos (el tamaño del bloque de datos se especifica en el parámetro de inicio de Oracle: db_block_size y debe ser múltiplo del tamaño del bloque del sistema operativo del servidor) MINEXTENTS: Reserva extensiones adicionales más allá de la extensión inicial que se da a la tabla por omisión. Este parámetro permite asignar una gran cantidad de espacio cuando se crea un objeto, incluso si el espacio disponible no esta contiguo. El valor por omisión es 1, que significa que Oracle solo asigna la extensión inicial. Si el valor es mayor que 1, Oracle calcula el tamaño de las extensiones subsiguientes basándose en los valores de los parámetros INITIAL, NEXT Y PCTINCREASE. MAXEXTENTS: Número total de extensiones incluida la primera que Oracle puede asignar al objeto. El valor depende del tamaño del bloque de datos. PCTINCREASE: Es un factor de crecimiento para las extensiones. Por defecto es 50, lo que significa que cada extensión subsiguiente será un 50% más grande que la extensión anterior. El valor de la siguiente extensión es: NEXT = NEXT + (PCTINCREASE * NEXT) / 100 ONLINE: El tablespace está disponible después de crearlo. Activa tablespaces. Es el valor por defecto OFFLINE: Desactiva el tablespace e impide el acceso al mismo. AUTOEXTEND cláusulas: Activa o desactiva el crecimiento automático de los archivos de datos del tablespace. Cuando un tablespace se llena podemos usar esta opción para que el tamaño del archivo o archivos de datos asociados crezca automáticamente. AUTOEXTEND OFF desactiva el crecimiento automático. El formato AUTOEXTEND ON es: AUTOEXTEND ON NEXT entero {K M} MAXSIZE {UNLIMITED entero {K M}} NEXT entero: Es el incremento de espacio en disco expresado en Kilobytes o en Megabytes que se reservara automáticamente para el archivo. MAXSIZE: es el máximo espacio en disco reservado para la extensión automática del archivo. Pag: 2 de8

UNLIMITED: Significa que no hay limite del espacio en el disco reservado. Los tablespaces se miran escribiendo la siguiente select: SELECT FILE_NAME, FILE_ID, TABLESPACE_NAME, BYTES FROM DBA_DATA_FILES; (Es necesario que el usuario SYS dé privilegios sobre esta vista para poder consultarla) Ejemplo creación Tablespace: CREATE TABLESPACE trabajo DATAFILE TRABAJ1.ORA SIZE 10 M, TRABAJ2.ORA SIZE 5 M DEFAULT STORAGE (INITIAL 10 NEXT 10 PCTINCREASE 25); En este ejemplo se crea un tablespace Trabajo que está formado por 2 ficheros, y con valor inicial, siguiente y porcentaje de incremento. 3.3 MODIFICACIÓN DE TABLESPACES Dónde: ALTER TABLESPACE nb_tablespace {ADD DATAFILE nb_archivo [SIZE entero [K M]] [REUSE] [AUTOEXTEND ON **... OFF] [, nb_archivo [SIZE entero [K M] [REUSE] [AUTOEXTEND ON **... OFF]... ] RENAME DATAFILE nb_archivo [, nb_archivo2 ]... TO nb_nuevo_archivo [, nb_nuevo_archivo2 ] [DEFAULT STORAGE clausulas_de_almacenamiento] [ON LINE OFF LINE]}; ADD DATAFILE: Añade al tablespace uno o varios ficheros. AUTOEXTEND: Hace que se active o desactive el crecimiento de los ficheros. Por defecto está en ON. RENAME DATAFILE: Cambia el nombre de un archivo existente en el tablespace. Este cambio ha de hacerse previamente en el sistema operativo y después ejecutar la orden SQL. El tablespaces debe estar desactivado (offline) mientras se produce el cambio. DEFAULT STORAGE: especifica los nuevos parámetros de almacenamiento para todos los objetos que se creen a partir de ahora en este tablespaces. ** PUNTOS SUSPENSIVOS (...): En este lugar pueden ir colocadas las siguientes cláusulas (como vimos anteriormente): Pag: 3 de8

- NEXT: Entero que incrementa el espacio en disco, en Mb. - MAXSIZE: Es el máximo espacio en disco reservado para la extensión automática del tablespace. - UNLIMITED: No existe límite reservado. Ejemplo: Desactivar el tablespace Trabajo ALTER TABLESPACE Trabajo OFF LINE; Ejemplo: Añadir un fichero de 6 Mb al tablespace Trabajo ALTER TABLESPACE Trabajo ADD DATAFILE Trabajo3.ora SIZE 6 M; 3.4 BORRAR TABLESPACES El borrado de Tablespaces de hace mediante la orden DROP Sintaxis: DROP TABLESPACE nb_tablespace [INCLUDING CONTENTS [AND DATAFILES] [CACADE CONSTRAINTS]]; Donde: INCLUDING CONTENTS: Permite borrar un tablespaces que tenga datos. Sin esta opción solo puede borrarse uno vacío. AND DATAFILES: Borra todos los archivos de datos asociados. CACADE CONSTRAINTS: Borra las relaciones de integridad referencial que afecten a las tablas del tablespaces suprimido. Conviene poner el tablespace a offline antes de borrarlo para asegurarnos de que no haya sentencias SQL que estén accediendo a sus datos, en cuyo caso seria imposible borrarlo. 3.5 ÍNDICES, SECUENCIAS Y CLUSTERS. SECUENCIAS: Se usan para generar números únicos y de manera automática. Una secuencia es un objeto que se puede compartir. Se usa típicamente para crear valores en una primary key. La misma secuencia puede utilizarse para varias tablas. Mejora la eficiencia en cuanto a la rapidez de acceso de los objetos que están en memoria. Para crear una secuencia se debe tener el permiso de creación de secuencias (CREATE SEQUENCE) y para usarlas se debe ser su propietario (el privilegio CREATE ANY SEQUENCE permite crear secuencias en cualquier esquema). Pag: 4 de8

Su sintaxis es la siguiente: Donde: CREATE SEQUENCE nb_secuencia [INCREMENT BY n] [START WITH n] [{MAXVALUE n NOMAXVALUE}] [{MINVALUE n NOMINVALUE}] [{CYCLE NOCYCLE}] [{ORDER NOORDER}] [{CACHE n NOCACHE]; INCREMENT BY: Especifica el intervalo entre los números de secuencia donde n es un nº entero. n por defecto es 1. Puede ser negativo y produce un decremento de la secuencia. START WITH n: Especifica el primer nº de la secuencia, por defecto, 1. MAXVALUE n: Especifica el valor máximo que la secuencia puede generar. NOMAXVALUE especifica el valor máximo de 1027 para secuencia ascendente, y 1 para secuencias descendentes MINVALUE n: Especifica el valor mínimo de la secuencia, NOMINVALUE especifica un valor mínimo 1 para ascendentes y 1026 para descendentes. CYCLE: Reanuda la secuencia cuando llega al máximo o al mínimo valor. NOCYCLE: Es la opción predeterminada por defecto. No la reanuda. CACHE: Especifica el número de valores que serán preasignados y mantenidos por el servidor para garantizar un acceso mas rápido. Como mínimo 2. ORDER NO ORDER: garantiza que los números de secuencia se generan en el orden requerido. NO ORDER no lo garantiza, es la opción por defecto. Las secuencias creadas pueden ser vistas en USER_SEQUENCES Ejemplo: Crear la secuencia Dept_Deptno con el fin de ser utilizada en la columna Deptno de la tabla Dept. La secuencia comenzará por 91 no permitiéndose ni caché ni ciclos: CREATE SEQUENCE DEPT_DEPTNO INCREMENT BY 1 START WITH 90 MAXVALUE 100; Pag: 5 de8

LAS PSEUDOCOLUMNAS NEXVAL Y CURRVAL NEXTVAL : Se usa para obtener eficientemente el próximo número de secuencia. Se ha de utilizar con el nombre de la secuencia. Siempre que se refiere la secuencia a nextval se generará un número nuevo de secuencia, con lo que hay que tener cuidado al usarlo. Se mira así: SELECT DEPT_DEPTNO.NEXTVAL Aunque tiene el inconveniente de que al mirarlo la secuencia se ejecuta y suma un incremento al último valor: entonces al seguir insertando claves con la secuencia el resultado sería erróneo. CURRVAL: se usa para hacer referencia al número de secuencia generado recientemente. O sea, que si queremos consultar el número por el que va la secuencia debemos usar currval. Se mira así: SELECT DEPT_DEPTNO.CURRVAL FROM DUAL; Ejemplo: Insertar en dept el deptartamento márketing, de la ciudad de San Diego Insert Into Dept values (Dept_Deptno.Nextval, Marketing, San Diego ); MODIFICACIÓN DE UNA SECUENCIA ALTER SEQUENCE nb_secuencia [INCREMENT BY n] [START WITH n] [{MAXVALUE n NOMAXVALUE}] [{MINVALUE n NOMINVALUE}] [{CYCLE NOCYCLE}] [{ORDER NOORDER}] [{CACHE n NOCACHE]; La sintaxis es idéntica a la de la creación, cambiando el create por el alter. Todas las funciones tienen la misma sintaxis y sirven para lo mismo. Al modificar una secuencia se verán afectados los valores futuros. Si se quiere recomenzar la secuencia por un número diferente debe ser eliminada y creada de nuevo. BORRAR UNA SECUENCIA Se borra mediante la orden DROP: Sintaxis: Pag: 6 de8

ÍNDICES DROP SEQUENCE nb_secuencia; El índice es un objeto de la BD cuya misión es acelerar la recuperación de filas. Suelen ser usados y mantenidos automáticamente por el servidor. Pueden ser creados de dos formas: manual y automáticamente. - Automáticamente: Cuando se establece una primary key, o unique key - Manualmente: Cuando el usuario de la BD así lo desea para acceder más rápido a las filas. Sintaxis : CREATE INDEX nb_index ON nombretabla (column1[asc DESC] [,column2...] ); Ejemplo: crear un índice para la columna ename de la tabla emp: CREATE INDEX ID_EMP ON EMP (ENAME); Los índices no suelen aparecer en el catálogo, hay que hacer un select específico para verlos: SELECT IC.INDEX_NAME, IC.COLUMN_NAME, IC.COLUMN_POSITION, IX.UNIQUENESS FROM USER_INDEXES IX, USER_IND_COLUMNS IC WHERE IC.INDEX_NAME= IX.INDEX_NAME; ELIMINAR UN ÍNDICE Se utiliza la orden DROP CLUSTERS DROP INDEX nb_indice; Se utilizan para almacenar una sola vez en la misma área del disco columnas que son idénticas en distintas tablas. Los clusters se pueden crear: - Cuando se crea la tabla: CREATE TABLE nb_tabla (columna1 tipo..., CLUSTER nb_cluster(columna[,columna2...])); - De forma Independiente: CREATE CLUSTER nb_cluster (columna tipo_dato [,columna tipo_dato]); Pag: 7 de8

BORRAR UN CLUSTER Se hace mediante la orden DROP DROP CLUSTER nb_cluster [INCLUDING TABLES [CASCADE constraints]]; 3.6 ENLACES DE BASES DE DATOS. Es un objeto que permite acceder a objetos de una base de datos remota. Define el enlace entre una base de datos local y un nombre de usuario en una base de datos remota. Se usa para realizar consultas en tablas de la BD remota. El formato es: CREATE [PUBLIC] DATABASE LINK nombredelenlace CONNECT TO usuario IDENTIFIED BY clave USING cadenadeconexion ; En el acceso a tablas remotas es necesario añadir al nombre de la tabla el nombre del enlace de esta manera: nombretabla@nombredelenlace. 3.7 PARÁMETROS DE ALMACENAMIENTO. Hasta ahora al crear una tabla no hemos definido parámetros e almacenamiento, lo hemos dejado por defecto, según la especificación del tablespaces que contiene a la tabla (DEFAULT STORAGE). Podemos hacerlo de la siguiente forma. CREATE TABLE nombre tabla ( Igual que siempre ) STORAGE ( INITIAL tamaño NEXT tamaño MINEXTENTS tamaño MAXEXTENTS tamaño PCTINCREASE valor ) [TABLESPACE nombretablespace]; Consultar el manual de referencia de Oracle para ver el resto de cláusulas. Pag: 8 de8