Está en la página 1de 93

ADMINISTRACIN DE

ORACLE 11G
Contenido
2.1. Arquitectura del SGBD

2.1.1 Estructura de memoria y procesos de la instancia


2.1.2 Estructuras fsicas de la base de datos
2.1.3 Requerimientos para instalacin.
2.1.4 Instalacin del software de BD en modo transaccional
2.1.5 Variables de Ambiente y archivos importantes para
instalacin.
2.1.6 Procedimiento general de instalacin
2.1.7 Procedimiento para configuracin de un DBMS.
2.1.8 Comandos generales de alta y baja del DBMS.
SINONIMOS.
DBLINK.
USUARIOS/SEGRURIDAD.
Introduccin

Conceptos clave
SGBD: Sistema gestor de bases de datos
Una base de datos
Software
Hardware y usuarios

DBA: Administrador de una base de datos

Usuarios
Un Sistema Gestor de Bases de
Datos.

Oracle es un SGBD que implementa el


modelo relacional y una versin del
modelo relacional orientado a objetos.
Es un sistema multiplataforma y puede
trabajar en diferentes modelos de
ejecucin:
Cliente-Servidor, Centralizado, Procesamiento
Distribuidos, entre otros.
Un SGBDOR
Las limitaciones de Oracle estn
determinadas por la plataforma en la
cual se ejecuta y la distribucin
utilizada.
Oracle esta orientado a medianas y
grandes demandas por lo que dispone
de todas las caractersticas que se
requieren con un alto grado de
desempeo.
Un SGBDOR
Mecanismos de seguridad. Lenguaje de
control que permite manejar derechos de
consulta, modificacin y creacin de datos a
los usuarios.
Copias de Seguridad y Recuperacin. Permite
realizar copias y recuperaciones con el
servidor parado o funcionando (Copias en
caliente), permitiendo un servicio
ininterrumpido.
Herramientas de desarrollo. Generadores de
informe, formularios, etc.
Bases de datos e instancias
En trminos sencillos, una instancia de
BD es un conjunto de procesos del
servidor Oracle que tiene su propio rea
global de memoria y una base de datos
asociada a ellos.
Instancia
Se trata de una copia del software de DBMS
de Oracle que se ejecuta en la memoria.
Cada instancia administra slo una base de
datos.
Consta de datos (llamados estructuras de
memoria) y de procesos en memoria
(procesos background) necesarios para dar
servicio a los usuarios de la base de datos.
Puede haber ms de una instancia si se
distribuye la base de datos en ms de una
mquina. Cada instancia abre una y slo una
base de datos.
Base de datos
ste es el conjunto de archivos
administrados por una sola instancia de
Oracle. En conunto, la instancia y la
base de datos de Oracle forman lo que
en SQL Server y Sybase ASE llaman el
Servidor SQL.
Arquitectura Oracle
La instancia Oracle esta compuesta por
procesos y memoria compartida.

Procesos: De usuario - Server Process.


Comunes - DBWR, LGWR, CKPT,
PMON, SMON, ARCH.

Memoria: SGA - System Global Area


PGA - Program Global Area
Procesos de la instancia
DBWR. Database Writer, responsable de la escritura en disco de la
informacin.
LGWR. Log Writter, escribe la informacin en los redo Logs.
CKPT. Checkpoint, Avisa al DBWR que debe actualizar la informacin
a disco.
PMON. Process Monitor, Supervisa los procesos del servidor y corrige
fallas.
SMON. System Monitor, Acta durante el arranque de la instancia,
limpia segmentos temporales y recupera transacciones interrumpidas.
Agrupa extensiones libres.
ARCH. Archiver, Respalda la informacin de los Redo Logs cuando
estos se llenan.
reas de memoria de la instancia
SGA. System Global Area, Area de memoria compartida que
almacena informacin de control y datos de la instancia. Consta de los
siguientes elementos, cada uno con un tamao fijo:
Buffer Cache. Almacena los bloques de datos usados recientemente.
Buffer de Redo Logs: Guarda los cambios efectuados en la base de
datos antes de ser guardada en los redo logs.
Shared Pool Area. Memoria compartida que funciona como dos
caches, una para informacin del diccionario de datos y otra de codigo
SQL.
PGA. Program Global Area, Contiene datos e informacin de control
para los procesos que se ejecutan en el servidor de oracle.
La instancia

.
La instancia
asigna

No mount

No open
Grupo de redo log: estructura
cclica de almacenamiento.
Usuarios
Cada cuenta de una base de datos se
denomina usuario, la cual puede ser
autentificada de manera externa o interna. A
cada usuario se le asigna automticamente
un esquema, si este usuario es el propietario
de ese esquema, lo que significa que el
usuario automticamente tiene privilegios
completos sobre cualquier objeto del
esquema.
Usuarios predefinidos
SYS, es el propietario de la instancia de
Oracle y contiene los objetos que utiliza
Oracle para administrar la instancia.
SYSTEM, es el propietario de la base de
datos Oracle y contiene objetos que
emplea Oracle para administrar la base
de datos.
Esquema
Es el conjunto de objetos de una base
de datos que pertenecen a un usuario
especfico. Los nombres de usuario y de
esquema son siempre idnticos en
Oracle.
Esquemas de Base de Datos (Schema)
Coleccin de Objetos logicos.

Tablas: Unidad lgica bsica de almacenamiento.


Clusters: Grupo de tablas almacenadas en conjunto
fsicamente como una sola tabla que comparten una
columna.
ndices: Estructura que agrupa datos para acceder
rpidamente a la informacin.
Vistas: Seleccin de varias columnas de una o mas tablas
Procedimientos: Programas que independizan el manejo
de datos desde una aplicacin. Actan desde el motor de
la Base de Datos.
Esquemas de Base de Datos (Schema)
Coleccin de Objetos logicos.
Packages: Agrupan procedimientos y funciones
almacenados
Triggers: Procedimiento que ejecuta automticamente
asociado a eventos especificos.
Secuencias: Generan nmeros nicos para todas las
sesiones de una instancia.
DBLink: Nexo de comunicacin entre instancias de base
de datos.
Sinnimos: Son referencias a objetos de la propio
esquema, otros esquemas o esquemas de otras
instancias de base de datos relacionadas a travs de un
DBLink.
Privilegios de sistema
Los privilegios de sistema son permisos
generales para efectuar funciones de
administracin del servidor y las bases
de datos
Ejemplos de Privilegios de
sistema en Oracle.
CREATE SESSION. Proporciona la
facultad de conectarse a la base de
datos.
CREATE TABLE. Capacidad de crear
tablas en su propio esquema, existen
privilegios similares para otros tipos de
objetos, como ndices, sinnimos,
procedimientos, etctera.
Ejemplos de Privilegios de
sistema en Oracle.
CREATE ANY TABLE. Crear tablas en el
esquema de cualquier usuario (idem
anterior).
CREATE USER. Crear usuarios nuevos
en la base de datos.
Ficheros en disco. Representan la base de
datos en s. Consta de:

La estructura fsica se corresponde a los ficheros


del sistema operativo: de datos (datafiles), de
redo log y de control (controlfiles).

La estructura lgica est formada por los


tablespace y los objetos de un esquema de BD
(tablas, vistas, ndices, etc.).
Estructuras de almacenamiento
en Oracle
Lgicas. Son las estructuras que relacionan los datos con los
componentes fsicos.

Tablespaces
Dividen la informacin y los objetos en grupos que pueden residir en uno o mas
datafiles.

Esquemas (Schemas)
El conjunto de objetos de un usuario como: Tablas, Vistas, Procedimientos
almacenados, Triggers, ndices, Secuencias, Sinnimos, etc.

Fsicas
Archivo de datos.
Bloque de datos.
Estructuras de almacenamiento
Tablespace: Un espacio de tablas es una divisin
lgica de una base de datos. Los espacios de tabla
permiten agrupar usuarios o aplicaciones para mejor
mantenimiento y desempeo Cada base de datos
debe contener por lo menos el espacio de tablas
System.
Cada espacio de tabla se guarda en disco en uno o
mas archivos denominados archivos de datos
(datafile).
Cada archivo de datos pertenece a un y solo un
espacio de tablas.
Estructuras de almacenamiento
Redo logs: Son registros de todas las transacciones. Se
usan para recuperar las transacciones de una base de
datos en caso de falla.
Control files: Los archivos de control mantienen la
estructura fsica de la base de datos. Registran
informacin de control acerca todos los archivos de la
base de datos, mantienen consistencia interna y guan
las operaciones de recuperacin.
Trace files: Los archivos de rastreo contienen
informacin de eventos significante encontrados por los
procesos de fondos (hablaremos de estos mas adelante).
Alert log: Los registros de alerta guardan los comandos y
sus resultados de los principales eventos en la base de
datos.
Relaciones entre Datafiles y Tablespaces
Un Tablespace puede estar repartido entre uno o mas Datafiles.
Dentro de los tablespaces y datafiles, el espacio utilizado para
almacenar datos es controlado por el uso de ciertas estructuras; stas
son las siguientes:

Segmentos: Es un grupo de extensiones utilizados para almacenar un


tipo particular de datos. Existen 4 tipos de segmentos: datos, ndices,
rollback y temporales.

Extensiones: Es un grupo de bloques de datos. Se establecen en


un tamao fijo y crecen a medida que van almacenando ms datos.
Tambin se pueden redimensionar para aprovechar mejor el espacio
de almacenamiento.

Bloques: Un bloque es la unidad de almacenamiento ms pequea en


una base de datos Oracle. Contiene una pequea porcin de
informacin (header) referente al bloque en s y el resto a los datos
que guarda. Generalmente, un bloque de datos ocupar aprox. 2 KB de
espacio fsico en el disco (asignacin tpica).
ESTRUCTURAS DE MEMORIA
INTERNAS
Oracle mantiene dos estructuras principales
de memoria: el rea Global de
Programa(Program Global Area, PGA) y el
rea Global del Sistema (System Global Area
o tambin Shared Global Area, SGA).
El PGA es la zona de memoria de cada proceso Oracle.
No est compartida y contiene datos e informacin de
control de un nico proceso.

El SGA es la zona de memoria en la que la BD Oracle


guarda informacin sobre su estado. Esta estructura de
memoria est disponible para todos los procesos, por
eso se dice que est compartida.
ESTRUCTURAS EXTERNAS A LA
BD
Las estructuras externas estan contenidas por
ficheros que utiliza el servidor de BD. Estos
ficheros guardan informacin tanto de los
datos almacenados en la BD como la
necesaria para gobernar la propia BD.

Los ficheros son:

Ficheros de la BD
Ficheros redo log
Ficheros de control
Ficheros de Traza
Estructuras de almacenamiento
La Capa Fsica
Son los archivos fisicos en disco. Hay tres
clases

Datafiles
Contienen la informacin propiamente dicha.
Puede haber uno o mas.
Redo Logs
Mantienen la historia en los cambios en los datos
para revertirlos en caso de fallas.
Control Files
Contienen Informacin sobre localizacin fsica de
Datafiles y Redo Logs.
La Capa Fsica

Son las estructuras que relacionan los datos


con los componentes fsicos.

Tablespaces
Dividen la informacin y los objetos en grupos que pueden
residir en uno o mas datafiles

Esquemas (Schemas)
Contienen objetos como Tablas, Vistas, Procedimientos
almacenados, Triggers, ndices, Secuencias, Sinnimos, etc,
Esencialmente son: espacios de tabla
(tablespaces), archivos de control y segmentos
(de datos, de ndice, temporales, de
restauracin), extensiones, bloques de datos y
divisin de datos para tablas e ndices.
AREAS LOGICAS Y ARCHIVOS FISICOS
Las reas lgicas se extienden a travs de los archivos fsicos.
Durante la creacin de la Base de Datos se crea por default
un Tablespace llamado SYSTEM y un datafile asociado al
mismo con Ubicacin, Nombre y Tamao especificados.
Durante la creacin tambin se generan automticamente
dos usuarios SYS y SYSTEM con caractersticas de DBA. A
travs de estos usuarios se realizan las operaciones de
mantenimiento, creacin de nuevos tablespaces, usuarios,
esquemas, etc.
Se pueden agregar dinmicamente datafiles y aumentarlos de
tamao.
Los Rollback segments, contienen la informacin de
transacciones en curso que no hayan sido confirmadas con
COMMIT o deshechas con ROLLBACK.
AREAS LOGICAS Y ARCHIVOS FISICOS

Los segmentos de Rollback se usan concurrentemente por


varias transacciones. Funcionan como un buffer circular con
varias extensiones, Pueden estar ONLINE OFFLINE INVALID,
NEEDS RECOVERY o PARTLY AVAILABLE.

Redo Logs, Llevan registro de todas las transacciones que se


ejecutan sobre la base de datos para poder reconstruir la
informacin en caso de falla. La instruccin COMMIT, no
termina su ejecucin hasta que no se completa la escritura de
estos archivos. Podra decirse que hasta tanto se ejecuta una
instruccin COMMIT, la informacin de las transacciones
realizadas se almacena en los Rollback Segments. Una vez
ejecutado el COMMIT, est informacin pasa a estar en los
Redo Logs.
Espacio de tablas

Formado por uno o ms datafiles, cada datafile slo puede


pertenecer a un determinado tablespace.

En general, el almacenamiento de los objetos de la base de datos


(tablas e ndices) no se realiza sobre el archivo o archivos fsicos de
la base de datos, sino que se hace a travs de estructuras lgicas de
almacenamiento que tienen por debajo a esos archivos fsicos, y que
independizan por tanto las sentencias de creacin de objetos de las
estructuras fsicas de almacenamiento.

Permite:
Asignar ms espacio en disco de forma dinmica, cuando la base de datos crece de
tamao ms de lo previsto.
Controlar la disponibilidad de los datos de la base de datos, poniendo fuera de uso
alguno de esos espacios de tablas individualmente.
Realizar copias de seguridad o recuperaciones parciales de la base de datos.
Reservar espacio para almacenamiento de datos de forma cooperativa entre distintos
dispositivos.
Cada base de datos contiene un tablespace llamado
SYSTEM que es creado automticamente al crear la
base de datos. Contiene las tablas del diccionario
de datos para la base de datos en cuestin.
Es recomendable no cargar datos de usuario en
SYSTEM, para dejarlos como espacio de objetos del
sistema.
Tablas e ndices se ubicarn en el tablespace
indicado en el momento de su creacin con la
correspondiente sentencia CREATE. Si no se dice
nada, se situarn en el tablespace por defecto
asociado al usuario creador
Segmentos, Extensiones y
Bloques
Bloques: Un bloque es la unidad de almacenamiento ms
pequea en una base de datos Oracle. Contiene una pequea
porcin de informacin (header) referente al bloque en s y el
resto a los datos que guarda. Generalmente, un bloque de
datos ocupar aprox. 2 KB de espacio fsico en el disco
(asignacin tpica).

Extensiones: Es un grupo de bloques de datos. Se establecen


en un tamao fijo y crecen a medida que van almacenando
ms datos. Tambin se pueden redimensionar para
aprovechar mejor el espacio de almacenamiento.

Segmentos: Es un grupo de extensiones utilizados para


almacenar un tipo particular de datos (tablas, ndices). Existen
4 tipos de segmentos: datos, ndices, rollback y temporales.
Relacin entre bloques, extensiones
y segmentos
Relacin
entre
datablock,
extent y
segment
Consultas Bsicas
SELECT * FROM DICTIONARY;
lista todas las tablas y vistas del diccionario de base de datos
que son accesibles para el usuario. La informacin
seleccionada incluye el nombre y una corta descripcin de
cada tabla y vista.

La consulta SELECT * FROM TABS;


recupera los nombres de todas las tablas pertenecientes al
usuario que emite este comando.
DataFiles
Los ficheros de datos son identificados por
dos identificadores, uno absoluto que lo
define unvocamente en la Base de datos,
que se encuentra en el campo FILE_ID de la
vista DBA_DATA_FILES, y un identificador
relativo, que lo identifica dentro del
tablespace al que pertenece dicho fichero.
DATA BLOCK
Es la unidad mas pequea de
almacenamiento de un dato en una base de
datos.
El tamao del bloque es independiente de
cada sistema operativo, Oracle recupera
estos bloques en bloques oracle no en
bloques del So.

show parameter DB_BLOCK_SIZE


SQL> connect /as sysdba;
Connected.
SQL> alter user system account unlock;

User altered.

SQL> alter user system identified by


manager;

User altered.
Espacios Libres y ocupados de
Tablespaces
clear breaks clear computes clear columns set pagesize 50 set linesize 120 set heading on
column tablespace_name heading 'Tablespace' justify left format a20 truncated column tbsize
heading 'Size|(Mb) ' justify left format 9,999,999.99 column tbused heading 'Used|(Mb) ' justify
right format 9,999,999.99 column tbfree heading 'Free|(Mb) ' justify right format 9,999,999.99
column tbusedpct heading 'Used % ' justify left format a8 column tbfreepct heading 'Free % '
justify left format a8 break on report compute sum label 'Totals:' of tbsize tbused tbfree on
report select t.tablespace_name, round(a.bytes,2) tbsize, nvl(round(c.bytes,2),'0') tbfree,
nvl(round(b.bytes,2),'0') tbused, to_char(round(100 * (nvl(b.bytes,0)/nvl(a.bytes,1)),2)) || '%'
tbusedpct, to_char(round(100 * (nvl(c.bytes,0)/nvl(a.bytes,1)),2)) || '%' tbfreepct from
dba_tablespaces t, (select tablespace_name, round(sum(bytes)/1024/1024,2) bytes from
dba_data_files group by tablespace_name union select tablespace_name,
round(sum(bytes)/1024/1024,2) bytes from dba_temp_files group by tablespace_name ) a,
(select e.tablespace_name, round(sum(e.bytes)/1024/1024,2) bytes from dba_segments e
group by e.tablespace_name union select tablespace_name, sum(max_size) bytes from
v$sort_segment group by tablespace_name) b, (select f.tablespace_name,
round(sum(f.bytes)/1024/1024,2) bytes from dba_free_space f group by f.tablespace_name
union select tmp.tablespace_name, (sum(bytes/1024/1024) - sum(max_size)) bytes from
dba_temp_files tmp, v$sort_segment sort where tmp.tablespace_name = sort.tablespace_name
group by tmp.tablespace_name) c where t.tablespace_name = a.tablespace_name (+) and
t.tablespace_name = b.tablespace_name (+) and t.tablespace_name = c.tablespace_name (+)
order by t.tablespace_name
Espacio Libre de Tablespaces
SELECT * FROM DBA_FREE_SPACE
ORDER BY TABLESPACE_NAME, BYTES;
Filas por bloque por tabla.
Select avg(row_count) avg,
max(row_count) max, min(row_count)
min from (select count(9) row_count from
&table_name group by substr(rowid, 1,
15));

Muestra cantidad promedio, maximo y


mnimo de filas por bloque que tiene una
determinada tabla.
Espacio estimado para una
tabla.
Para conocer cunto espacio tenemos
que reservar para una tabla de la cual
tenemos el ddl o la tabla creada.
select
(sum(DATA_LENGTH)*&cantidadderegistr
os* 1.2*1.05)/1024/1024 Espacio a
reservar en Mb from
DBA_TAB_COLUMNS where OWNER =
&owner and TABLE_NAME=&table_name;
Clculo del Tamao de bd
Tienes que tomar en cuenta el Bloque del sistema operativo y el bloque de datos de Oracle que se configur en
su creacin que debe ser mltiplo del S.O., o bien a partir de Oracle 9.X puedes tener diferentes mediadas de
bloques de datos en los Tablespaces, ademas que los puedes gestionar localmente haciendo cuadrculas de
informacin.

En el siguiente ejemplo te muestro como es que se dimensionan los objetos, es casi preciso y tiene una
variacin ya que son estimaciones dependiendo la tendencia de la tabla, ya que puedes dividirla en tablas
histricas, de catlogo, temporales o de agregacin, dependiendo de estas tendencias, la configuracin es
diferente por su dinamismo que cumplen en la BD.

Calculo sobre un segmento de tipo tabla no agrupada.

Calcula la cantidad de espacio que se va a utilizar en la cabecera del bloque, el tamao de la cabecera es de 90
bytes, si utilizas un bloque de 2K quedarn 1.958 libres mientras que si utilizas uno de 4K habra 4.006 bytes
libres

2048 - 90 = 1958 bytes disponibles.

A continuacin multiplica el espacio libre por el factor que viene determinado el enl parmetro PCTFREE del
segmento para determinar el espacio que se va a reservar para la actualizacin de filas.

Si utilizas un valor de PCTFREE de 10, multiplica el espacio libre disponible por 0,10 tal y como se muestra a
continuacin:

1958*(pctfree/100) = 1958*.01 = 196 (redondeado)

del espacio disponible, 196 bytes son para las aplicaciones de las filas. El espacio libre disponible es el espacio
libre del bloque menos el espacio reservado por PCTFREE:

1958 - 196 = 1762 BYTES DISPONIBLES.


Clculo del Tamao de bd
De los 2.048 bytes del bloque, 1762 se utilizan para almacenar filas.

En el siguiente paso habr que calcular el espacio que se va a utilizar por fila. para ello haya que estimar primero la
"longitud media de las filas" AVERAGE LENGTH de cada valor de una fila. si no dispones de ningn dato, realiza una
estimacin de la longitud real de los valores de una columna. No utilices como longitud real la longitud de una
columna a menos que los datos vayan a llenar siempre por completo la columna.

Por ejemplo vamos a suponer que tenemos una tabla de tres columnas de tipo VARCHAR2(10). La longitud media de
las filas no puede exceder de 30 posiciones su longitud real depende de los daros que se vayan a almacenar en ellas.

Si dispones de algn dato de ejemplo, podras utilizar la funcin de Oracle VSIZE para determinar el espacio real que
han utilizado los datos. ejemplo:
select AVG(NVL(VSIZE(Columna1),0))+
AVG(NVL(VSIZE(Columna2),0))+
AVG(NVL(VSIZE(Columna3),0))) Long_media
from tabla
/
En este ejemplo se han calculado la longitud media de cada columna y luego se han sumado esas medias para
determinar la longitud media o el Average Lenght.
Vamos a suponer que en el ejemplo la longitud media de las filas es de 24 bytes. A esta cantidad total vamos a
sumarle 1 byte por cada columna que ya haya en la tabla, da un total de 27 bytes por fila. Si en la tabla hay
columnas que contienen datos de ms de 250 caracteres, aade un byte adicional por cada una de esas columnas,
por ltimo aade 3 bytes para la cabecera de la fila.
Espacio utilizado = longitud media + 3 + numero de columnas +numero de columnas extensas.
En la tabla ejemplo el espacio por fila es el siguiente:
espacio utilizado por file= 24 + 3 + 3 + 0 = 30 bytes por fila.

Dado que disponemos de 1.762 bytes y 30 bytes por fila, se puede incluir 58 filas pen cada bloque.
filas por bloque =TRUNC(1762 BYTES LIBRES / 30 BYTES OIR FILA) = 58 FILAS POR BLOQUE.

al poderse incluir 58 filas por bloque, en cuanto puedas estimar el nmero de filas que esperas que haya, podrs
estimar el nmero de bloques de datos de Oracle que se requieren.
Para obtener el tamao en MB de los ndices
creados de un esquema podemos utilizar esta
query.

set pagesize 4000


set linesize 200
SELECT SEGMENT_NAME Indice,
ROUND(SUM(BYTES)/1024/1024) MB
FROM DBA_SEGMENTS A
WHERE SEGMENT_TYPE = 'INDEX'
AND OWNER=PRUEBA
GROUP BY SEGMENT_NAME
ORDER BY 1;
Con esta sencilla Select podremos obtener el
tamao en Megas de los objetos de nuestra
base de datos Oracle.

set pagesize 4000


set linesize 200
SELECT SEGMENT_NAME, SEGMENT_TYPE,
SUM(BYTES)/1024/1024
FROM DBA_SEGMENTS
WHERE OWNER=PRUEBA
GROUP BY SEGMENT_NAME, SEGMENT_TYPE
ORDER BY 2,1;
Con esta otra Select obtendremos el
tamao de un objeto en concreto,

set pagesize 4000


set linesize 200
SELECT SEGMENT_NAME, SEGMENT_TYPE,
SUM(BYTES)/1024/1024
FROM DBA_SEGMENTS
WHERE SEGMENT_NAME=LIBROS
GROUP BY SEGMENT_NAME, SEGMENT_TYPE
ORDER BY 2,1;
Con esta query podemos ver los
diferentes tipos de objetos que tenemos
creados de un usuario esquema
(OWNER).

set pagesize 4000


set linesize 200
SELECT DISTINCT SEGMENT_TYPE
"Tipos objetos"
FROM DBA_SEGMENTS
WHERE OWNER=user_esquema
ORDER BY 1;
ESPACIO UTILIZADO POR LOS TABLESPACES
Consulta SQL para el DBA de Oracle que muestra los
tablespaces, el espacio utilizado, el espacio libre y los
ficheros de datos de los mismos
SELECT t.tablespace_name "Tablespace", t.status
"Estado", ROUND (MAX (d.bytes) / 1024 / 1024, 2)
"MB Tamao", ROUND ((MAX (d.bytes) / 1024 /
1024) - (SUM (DECODE (f.bytes, NULL, 0, f.bytes)) /
1024 / 1024), 2) "MB Usados", ROUND (SUM
(DECODE (f.bytes, NULL, 0, f.bytes) ) / 1024 / 1024,
2) "MB Libres", t.pct_increase "% incremento",
SUBSTR (d.file_name, 1, 80) "Fichero de datos"
FROM DBA_FREE_SPACE f, DBA_DATA_FILES d,
DBA_TABLESPACES t WHERE t.tablespace_name =
d.tablespace_name AND f.tablespace_name(+) =
d.tablespace_name AND f.file_id(+) = d.file_id
GROUP BY t.tablespace_name, d.file_name,
t.pct_increase, t.status ORDER BY 1, 3 DESC;
TAMAO OCUPADO POR LA BASE DE
DATOS

SELECT SUM(BYTES)/1024/1024 MB
FROM DBA_EXTENTS;

TAMAO DE LOS FICHEROS DE


DATOS DE LA BASE DE DATOS

SELECT SUM(bytes)/1024/1024 MB
FROM dba_data_files;
TAMAO OCUPADO POR UNA
TABLA CONCRETA SIN INCLUIR
LOS NDICES DE LA MISMA

SELECT SUM(bytes)/1024/1024 MB
FROM user_segments WHERE
segment_type='TABLE' AND
segment_name='NOMBRETABLA';
TAMAO OCUPADO POR UNA TABLA
CONCRETA INCLUYENDO LOS NDICES
DE LA MISMA

SELECT SUM(bytes)/1024/1024
Table_Allocation_MB FROM user_segments
WHERE segment_type in ('TABLE','INDEX')
AND(segment_name='NOMBRETABLA' OR
segment_name IN (SELECT index_name
FROM user_indexes WHERE
table_name='NOMBRETABLA'));
TAMAO OCUPADO POR UNA
COLUMNA DE UNA TABLA

SELECT
SUM(vsize('Nombre_Columna'))/1024/1
024 MB FROM Nombre_Tabla;

ESPACIO OCUPADO POR USUARIO


SELECT owner, SUM(BYTES)/1024/1024
FROM DBA_EXTENTS MB GROUP BY
owner;
ESPACIO OCUPADO POR LOS
DIFERENTES SEGMENTOS
(TABLAS, NDICES, UNDO,
ROLLBACK, CLUSTER, )
SELECT SEGMENT_TYPE,
SUM(BYTES)/1024/1024 FROM
DBA_EXTENTS MB GROUP BY
SEGMENT_TYPE;
OCUPACIN DE TODOS LOS
OBJETOS DE LA BASE DE DATOS
Espacio ocupado por todos los objetos
de la base de datos, muestra primero
los objetos que ms ocupan
SELECT SEGMENT_NAME,
SUM(BYTES)/1024/1024 FROM
DBA_EXTENTS MB GROUP BY
SEGMENT_NAME ORDER BY 2 DESC;
OBJETOS DE LA BASE DE DATOS
PROPIETARIOS DE OBJETOS Y
NMERO DE OBJETOS POR
PROPIETARIO
SELECT owner, COUNT(owner) Numero
FROM dba_objects GROUP BY owner
ORDER BY Numero DESC;
MUESTRA LOS DISPARADORES
(TRIGGERS) DE LA BASE DE DATOS
ORACLE DATABASE
SELECT * FROM ALL_TRIGGERS;
REGLAS DE INTEGRIDAD Y
COLUMNA A LA QUE AFECTAN
SELECT constraint_name,
column_name FROM
sys.all_cons_columns;
TABLAS DE LAS QUE ES
PROPIETARIO UN USUARIO
DETERMINADO
SELECT table_owner, table_name
FROM sys.all_synonyms WHERE
table_owner = 'SCOTT';
INFORMACIN TABLESPACES
SELECT * FROM V$TABLESPACE;
BUSQUEDAS DE CONSTRAINTS
DESHABILITADAS
SELECT TABLE_NAME,
CONSTRAINT_NAME, STATUS FROM
ALL_CONSTRAINTS WHERE OWNER
<> 'SIEBEL' AND STATUS =
'DISABLED';
TABLAS CON MS DE UN NMERO
DETERMINADO DE NDICES
SELECT TABLE_NAME, COUNT(*) FROM
ALL_INDEXES WHERE
OWNER='SIEBEL' GROUP BY
TABLE_NAME HAVING COUNT(*) > 5
ORDER BY 2 DESC;
TABLAS SIN PRMARY KEY
SELECT TABLE_NAME FROM
ALL_TABLES T WHERE OWNER =
'SIEBEL' AND NOT EXISTS (SELECT 1
FROM ALL_CONSTRAINTS C WHERE
T.OWNER = C.OWNER AND
CONSTRAINT_TYPE = 'P');
OBJETOS NO VLIDOS (PAQUETES,
PROCEDIMIENTOS, FUNCIONES,
TRIGGERS, VISTAS,)
SELECT OBJECT_NAME, OBJECT_TYPE
FROM all_objects WHERE OWNER =
'SIEBEL' AND STATUS <> 'VALID';
OBJETOS CREADOS EN LA LTIMA
HORA
SELECT OBJECT_NAME, OBJECT_TYPE,
LAST_DDL_TIME, CREATED,
TIMESTAMP, STATUS FROM all_objects
WHERE OWNER = 'SIEBEL' AND
CREATED > sysdate - 1/24;
OBJETOS MODIFICADOS EN LA
LTIMA HORA
SELECT OBJECT_NAME, OBJECT_TYPE,
LAST_DDL_TIME, CREATED,
TIMESTAMP, STATUS FROM all_objects
WHERE OWNER = 'SIEBEL' AND
TIMESTAMP > sysdate - 1;
INFORMACIN DE COLUMNAS DE
UNA TABLA
SELECT TABLE_NAME, COLUMN_NAME,
DATA_TYPE, DATA_LENGTH,
DATA_PRECISION, NULLABLE FROM
ALL_TAB_COLUMNS WHERE OWNER =
'SIEBEL' AND TABLE_NAME =
'MI_TABLA' ORDER BY TABLE_NAME,
COLUMN_ID;
Para saber cuanto espacio ocupa cada
tabla de la base de datos en disco.

col owner format a30


col tabla format a30
col mb format 999999.99
col tablespace format a30
set linesize 200
select owner, segment_name tabla,
sum(bytes)/1024/1024 mb,
tablespace_name tablespace from
dba_segments
DICCIONARIO DE DATOS
FICHEROS DE CONTROL

Ejemplo:
SELECT NAME FROM V$CONTROLFILE;
Online Ficheros de Logs de
Rehacer (Online Redo Logs)
Estos ficheros guardan todas las
transacciones que an no se han transferido
de la memoria al datafile, de esta manera si
hubiera un fallo de la base de datos, esta
recuperara automticamente hasta la ltima
transaccin realizada en la misma.
Se graban en ellos todas las operaciones que
se efectan en la Base de Datos que tiene
que ver con transacciones de tipo Insert,
Update, Delete.
Ficheros de rehacer archivados
(Archived Redo Log File)
Para aadir ficheros de log de rehacer, se ha
de utilizar la instruccin ALTER DATABASE
con la clusula ADD LOGFILE.

ALTER DATABASE

ADD LOGFILE ('/oracle/dbs/log1c.rdo',


'/oracle/dbs/log2c.rdo') SIZE 4M;
Requisitos, instalacin y primeros pasos

Instalacin
BSICA

AVANZADA
Enterprise Edition
Standard Edition: grupo pequeo de trabajo, PYMES
Personal Edition: entorno de desarrollo y despliegue
monousuario
Requisitos, instalacin y primeros pasos

Se establecen las contraseas las cuentas.


SYS
SYSTEM
SYSMAN

Al final de la instalacin:
nombre de la BD (por defecto ORCL)
SID: identificador del sistema
Nombre del archivo de parmetros del
servidor
URL: para acceder al sistema
Requisitos, instalacin y primeros pasos

Primeros pasos
Inicio de una instancia
Arrancar el servidor de la BD
Iniciar una instancia de BD
Asociar la BD a una instancia
Abrir la BD

Conexin a Oracle (versin 12c)


Herramienta SQL*plus
Administracin del espacio y
creacin manual de la base de
datos
Administracin del espacio y
creacin manual de la base de datos

Estimacin del tamao de una


base de datos
Una estimacin puede determinar si el diseo es
correcto o si necesita reajustes

Espacio total
Estructuras lgicas: tablas, bases de datos
Estructuras fsicas: archivos de datos, bloques de datos
Administracin del espacio y
creacin manual de la base de datos

Espacios de tabla y Archivos de


datos
TABLESPACE: es la estructura que almacena fsicamente los datos
de la tabla en uno o ms archivos de datos asociados.

Archivos de datos: el archivo para el almacenamiento fsico en


disco de un espacio de tabla de una base de datos
Creacin y configuracin de una
Base de Datos

Uso del asistente de configuracin de Oracle 12c


End of slide show, click to exit.

Realizacin

Yanet Evangelista