26
Trabajo 1 Instituto Tecnológico de Lázaro Cárdenas Profesor: Ing. Marcelo Alonso Mondragón Materia: Administración de base de datos Integrantes del proyecto: Carlos Héctor Cruz López Marco Antonio Villanueva Guzmán Unidad 3.- Configuración y administración de espacio en disco

Conceptos Basicos Sobre Oracle DataBase 11g

Embed Size (px)

DESCRIPTION

En este documento se encontraran conceptos básicos que deberían saber acerca de Oracle DataBase 11g referente a su estructura lógica y física, comandos para revisar dichas estructuras, donde se ubican la bitácora de la base de datos y como es administrada la memoria en la instancia de la BD.

Citation preview

  • Administracin de Base de Datos Unidad III

    0

    Carlos Hctor

    [Escriba el nombre de la compaa]

    [Seleccione la fecha]

    Trabajo 1

    Instituto Tecnolgico de Lzaro Crdenas

    Profesor:

    Ing. Marcelo Alonso Mondragn

    Materia:

    Administracin de base de datos

    Integrantes del proyecto:

    Carlos Hctor Cruz Lpez

    Marco Antonio Villanueva Guzmn

    Unidad 3.- Configuracin y administracin de espacio en disco

  • Administracin de Base de Datos Unidad III

    1

    ndice

    Manual Oracle database 11g

    1 Estructura lgica y fsica de Oracle database ................................................... 2

    1.1 Estructura lgica ......................................................................................... 2

    1.2 Estructura fsica .......................................................................................... 3

    2 Diferentes estructuras lgicas de almacenamiento y su relacin con el SO ..... 4

    3 Comandos utilizados para revisar la estructura lgica y fsica de la BD ........... 9

    3.1 Comandos para estructura lgica ............................................................... 9

    3.2 Comandos para estructura fsica .............................................................. 11

    4 Agregar ms espacio a la base de datos ........................................................ 13

    5 Como funciona y donde se ubica la bitcora de la base de datos .................. 18

    6 Como es administrada la memoria en la instancia de la base de datos, para

    usuarios y procesos propios del DBMS ............................................................. 20

  • Administracin de Base de Datos Unidad III

    2

    Manual Oracle database 11g

    1.- Estructura lgica y fsica de Oracle database

    Una BD Oracle tiene una estructura fsica y una estructura lgica que se

    mantienen separadamente.

    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,...).

    1.1 Estructura lgica

    Una BD se divide en unidades de almacenamiento lgicas: tablespaces,

    segmentos, extensiones y bloques de datos. Una base de datos de Oracle

    contiene como mnimo un tablespace.

    Tablespaces.- La DB est dividida en una o ms unidades lgicas de

    almacenamiento llamadas tablespaces, que a su vez pueden estar constituidos

    por uno o ms archivos del S.O., llamados datafiles. Representan un nivel medio

    entre la DB y los datafiles. Por su parte, un datafile puede ser asociado con slo

    una tablespace y una base de datos.

    Segmentos.- Un conjunto de uno o ms extensiones que contienen todos los

    datos para una estructura especfica en un tablespace.

    El segmento de datos es una coleccin de extensiones que mantiene

    todos los datos para una tabla o cluster.

    El segmento de ndices mantiene todos los datos para un ndice.

    El segmento de rollback mantiene datos para rollback, consistencia de

    lecturas o recuperacin

    El segmento temporario es una coleccin de extensiones que mantiene

    datos pertenecientes a objetos temporales (consultas largas que necesitan

    guardar resultados intermedios).

  • Administracin de Base de Datos Unidad III

    3

    Extensin.- Se forma con uno o ms bloques. Cuando se aumenta tamao de un

    objeto en la base de datos, se usa una extensin para incrementar el espacio.

    Bloque de datos.- Un bloque de datos del Oracle Server es la menor unidad de

    almacenamiento usada por la base de datos.

    Schemas Objects (Objetos del esquema).- Es la estructura lgica que refiere

    directamente a los datos de la DB

    Figura 1. 1 Estructura lgica de la base de datos

    1.2 Estructura fsica

    La estructura fsica de la base de datos es el juego de archivos del sistema

    operativo en la base de datos. Una B.D. tiene uno o ms ficheros de datos. Estos

    ficheros son de tamao fijo y se establecen en el momento en que se crea la base

    de datos o en el momento en el que se crean tablespaces. La estructura fsica

    incluye los siguientes tipos de archivos:

    Datafiles (Archivos de datos).- Sirven para el almacenamiento fsico de la base

    de datos y contienen todos los datos de la base de datos, como las tablas e

    ndices.

    Redo Log files (Archivos de rehacer).- Mantienen registros de todos los cambios

    hechos a la base de datos, con fines de recuperacin. El principal propsito de

    estos archivos es servir de respaldo de los datos en la memoria RAM. Este

  • Administracin de Base de Datos Unidad III

    4

    conjunto de archivos debe estar conformado por dos grupos como mnimo y se

    recomienda que cada grupo est almacenado en discos separados.

    Control files (Archivos de control).- Almacenan la estructura fsica y el estado

    de la base de datos. En estos archivos se especifican cules datafiles conforman

    la base de datos para poder tener acceso a los datos o para poder recuperar la

    base de datos, ante una falla.

    Archived files (Archivos fuera de lnea).- Son archivos opcionales donde se

    guarda informacin vieja de los archivos de rehacer (Redo log files), muy

    convenientes para los respaldos de la base de datos.

    Figura 1. 2 Estructura fsica de la base de datos

    2.- Diferentes estructuras lgicas de almacenamiento y su relacin con

    el SO

    Tablas y Columnas

    Los datos son almacenados en la BD utilizando tablas. Cada tabla est

    compuesta por un nmero determinado de columnas.

    Las tablas propiedad del usuario SYS son llamadas tablas del diccionario

    de datos. Proveen el catlogo del sistema que permite que la BD se

    gestione a s misma.

    Las tablas se pueden relacionar entre ellas a travs de las columnas que

    las componen. La BD se puede utilizar para asegurar el cumplimiento de

  • Administracin de Base de Datos Unidad III

    5

    esas relaciones a travs de la integridad referencial, que se concreta en las

    restricciones de tablas.

    Restricciones de Tablas

    Una tabla puede tener asociadas restricciones que deben cumplir todas las

    filas. Entre las restricciones que se pueden fijar algunas reciben nombres

    especiales.: clave primaria, clave ajena.

    La clave primaria de una tabla est compuesta por las columnas que hacen

    a cada fila de la tabla una fila distinta.

    La clave ajena se utiliza para especificar las relaciones entre tablas. De

    modo que un conjunto de columnas declaradas como clave ajena de una

    tabla deben tener valores tomados de la clave primaria de otra tabla.

    Usuarios

    Una cuenta de usuario no es una estructura fsica de la BD, pero est

    relacionada con los objetos de la BD: los usuarios poseen los objetos de la

    BD. Existen dos usuarios especiales: SYS y SYSTEM. El

    usuarios SYSposee las tablas del diccionario de datos; que almacenan

    informacin sobre el resto de las estructuras de la BD. El

    usuario SYSTEM posee las vistas que permiten acceder a las tablas del

    diccionario, para el uso del resto de los usuarios de la BD.

    Todo objeto creado en la BD se crea por un usuario, en un espacio de

    tablas y en un fichero de datos determinado. Toda cuenta de la BD puede

    estar unida a una cuenta del S.O., lo que permite a los usuarios acceder a

    la cuenta de la BD sin dar la clave de acceso.

    Cada usuario puede acceder a los objetos que posea o a aquellos sobre los

    que tenga derecho de acceso.

    Esquemas

    El conjunto de objetos de un usuario es conocido como esquema.

    ndices

  • Administracin de Base de Datos Unidad III

    6

    Un ndice es una estructura de la BD utilizada para agilizar el acceso a una

    fila de una tabla. Cada fila tiene un identificador de fila, ROWID, que

    determina el fichero, bloque y fila dentro del bloque donde est almacenada

    la fila.

    Cada entrada del ndice consiste en un valor clave y una ROWID. Cada una

    de estas entradas se almacena en un rbol B+.

    Los ndices se crean automticamente cuando se define una

    restriccin UNIQUE o PRIMARY KEY.

    Clusters

    Las tablas que son accedidas juntas frecuentemente pueden ser

    almacenadas juntas. Para ello se crea un cluster. De este modo se

    minimiza el nmero de E/S.

    Las columnas que relacionan las tablas de un cluster se llaman clave

    del cluster.

    Vistas

    Conceptualmente, una vista puede considerarse como una mscara que se

    extiende sobre una o ms tablas, de modo que cada columna de la vista se

    corresponde con una o ms columnas de las tablas subyacentes. Cuando

    se consulta una vista, esta traspasa la consulta a las tablas sobre las que

    se asienta. Las vistas no se pueden indexar.

    Las vistas no generan almacenamiento de datos, y sus definiciones se

    almacenan en el diccionario de datos.

    Secuencias

    Las definiciones de secuencias se almacenan en el diccionario de datos.

    Son mecanismos para obtener listas de nmeros secuenciales.

    Procedimientos y funciones

  • Administracin de Base de Datos Unidad III

    7

    Un procedimiento es un bloque de cdigo PL/SQL, que se almacena en el

    diccionario de datos y que es llamado por las aplicaciones. Se pueden

    utilizar para implementar seguridad, no dando acceso directamente a

    determinadas tablas sino es a travs de procedimientos que acceden a

    esas tablas. Cuando se ejecuta un procedimiento se ejecuta con los

    privilegios del propietario del procedimiento. La diferencia entre un

    procedimiento y una funcin es que sta ltima puede devolver valores.

    Paquetes, Packages

    Se utilizan para agrupar procedimientos y funciones. Los elementos dentro

    de los paquetes pueden ser pblicos o privados. Los pblicos pueden ser

    llamados por los usuarios, los privados estn ocultos a los usuarios y son

    llamados por otros procedimientos.

    Disparadores, Triggers

    Son procedimientos que son ejecutados cuando se procede un determinado

    evento en la BD. Se pueden utilizar para mejorar y reforzar la integridad y la

    seguridad de la BD.

    Sinnimos

    Para identificar completamente un objeto dentro de una BD se necesita

    especificar el nombre de la mquina, el nombre del servidor, el nombre del

    propietario y el nombre del objeto. Para hacer transparente todo esto al

    usuario se pueden utilizar los sinnimos. stos apuntarn a los objetos y si

    el objeto cambia de lugar o propietario, slo habr que modificar el

    sinnimo.

    Existen sinnimos pblicos y privados. Los pblicos son conocidos por

    todos los usuarios de una BD. Los privados son locales a un usuario.

    Privilegios y Roles

  • Administracin de Base de Datos Unidad III

    8

    Para que un objeto pueda ser accedido por un usuario debe de tener

    otorgado ese privilegio. Ejemplos de privilegios son:

    INSERT, SELECT, UPDATE, EXECUTE, etc.

    Los roles son grupos de privilegios que pueden ser utilizados para facilitar

    la gestin de los privilegios. Los privilegios se pueden otorgar a un rol, y los

    roles pueden ser otorgados a mltiples usuarios.

    Segmentos, Extensiones y Bloques

    Los segmentos son los equivalentes fsicos de los objetos que almacenan

    datos. El uso efectivo de los segmentos requiere que el DBA conozca los

    objetos que utiliza una aplicacin, cmo los datos son introducidos en esos

    objetos y el modo en que sern recuperados.

    Como los segmentos son entidades fsicas, deben estar asignados a

    espacios de tablas en la BD y estarn localizados en uno de los ficheros de

    datos del espacio de tablas. Un segmento est constituido por secciones

    llamadas extensiones, que son conjuntos contiguos de bloques Oracle. Una

    vez que una extensin existente en un segmento no puede almacenar ms

    datos, el segmento obtendr del espacio de tabla otra extensin. Este

    proceso de extensin continuar hasta que no quede ms espacio

    disponible en los ficheros del espacio de tablas, o hasta que se alcance un

    nmero mximo de extensiones por segmento.

    Segmento de Rollback

    Para mantener la consistencia en lectura y permitir deshacer las

    transacciones, Oracle debe tener un mecanismo para reconstruir la imagen

    previa a una transaccin incompleta. Oracle utiliza los segmentos de

    rollback para esto.

    Los segmentos de rollback pueden crecer tanto como sea necesario para

    soportar las transacciones.

  • Administracin de Base de Datos Unidad III

    9

    3.- Comandos utilizados para revisar la estructura lgica y fsica de la

    base de datos

    3.1 Comandos para estructura lgica

    Para revisar la estructura lgica de la base de datos en Oracle se puede realizar

    mediante algunos comandos que pueden ser ejecutados en SQL Plus o SQL

    Developer. Los comandos son los siguientes:

    Consultar las tablespaces existentes:

    Select * from V$TABLESPACE;

    Figura 1. 3 Consulta tablespaces

    Consultar todos los segmentos de la base de datos (estoy incluye tablas,

    ndices, y segmentos rollback entre otros):

    select distinct SEGMENT_TYPE from DBA_SEGMENTS;

  • Administracin de Base de Datos Unidad III

    10

    Figura 1. 4 Consulta segmentos

    Consultar las extensiones que forman los segmentos:

    select distinct * from DBA_EXTENTS;

    Figura 1. 5 Consulta extensiones

    Consultar los bloques libres:

    select distinct * from DBA_EXTENTS;

  • Administracin de Base de Datos Unidad III

    11

    Figura 1. 6 Consulta bloques libres

    3.2 Comandos para estructura fsica

    Para revisar la estructura fsica de la base de datos en Oracle se ejecutan los

    siguientes comandos:

    Todos los ficheros de datos (datafiles) y su ubicacin:

    Select * from V$DATAFILE;

    Figura 1. 7 Consulta ficheros de datos

  • Administracin de Base de Datos Unidad III

    12

    Ficheros temporales:

    Select * from V$TEMPFILE;

    Figura 1. 8 Consulta ficheros temporales

    Ubicacin y nmero de ficheros de control:

    Select value

    from v$system_parameter

    where name = control_files;

    Figura 1. 9 Consulta ficheros de control

    Muestra la ubicacin de los log files:

    Select * from v$logfile;

  • Administracin de Base de Datos Unidad III

    13

    Figura 1. 10 Consulta Redo log files

    4.- Agregar ms espacio a la base de datos

    Si se desea agregar ms espacio a una base de datos en Oracle, se puede hacer

    incrementando el tamao de un archivo de datos (data files) de un Tablespace en

    particular. Incrementar el tamao de un archivo de datos se puede realizar de

    forma grfica o ejecutando algunos comandos. A continuacin se mostrara como

    hacerlo en forma grfica:

    El primer paso es dar click en Inicio > Oracle OraDb11g_home1>Database

    Control ABD.

    Figura 1. 11 Inicio

  • Administracin de Base de Datos Unidad III

    14

    Posteriormente nos abrir el navegador y aparecer un apartado donde

    introduciremos el usuario y la contrasea.

    Figura 1. 12 Login

    Una vez dentro de la pgina principal hacer clic en la pestaa Servers, en la

    siguiente pgina podemos ver en la parte izquierda el link Tablespaces,

    hacer clic sobre l.

    Figura 1. 13 Pgina principal

  • Administracin de Base de Datos Unidad III

    15

    En la pgina Tablespaces podemos ver todos los tablespaces que tiene

    nuestra base de datos, SYSAUX, SYSTEM, etc.

    Vamos a ampliar el tablespace USERS que tiene en estos momentos 5 MB, le voy

    a dar 5 MB ms para que tenga 10 MB en total. Realmente lo que vamos

    a ampliar es el datafile asociado al Tablespace USERS. Haremos clic sobre el link

    del nombre del tablespace que queremos ampliar, en este caso el USERS.

    Seleccionamos USER y le damos en editar.

    Figura 1. 14 Seccin Tablespace

    La pgina View Tablespace: Users nos muestra el detalle de todos los atributos

    del tablespace, en la seccin Datafiles veremos el detalle de o los datafiles que

    componen nuestro tablespace, volvemos a seleccionar editar para modificar los

    valores.

  • Administracin de Base de Datos Unidad III

    16

    Figura 1. 15 View Tablespace

    En la seccin de almacenamiento dice incremento y pondremos los KB, MB, GB,

    TB y le damos en continuar.

    Figura 1. 16 Editar datafile

  • Administracin de Base de Datos Unidad III

    17

    Haremos click en la opcin aplicar para completar la accin en la parte de abajo.

    Figura 1. 17 Informacin datafiles

    Veremos que los cambios se han aplicado correctamente.

    Figura 1. 18 Cambios aplicados

  • Administracin de Base de Datos Unidad III

    18

    Una forma ms sencilla de incrementar el tamao de un datafile en Oracle es en

    forma de comandos. Para hacer esto ejecutaremos el siguiente comando ya sea

    en SQL plus o SQL Developer. En este caso lo haremos en SQL Developer.

    alter database datafile /app/Administrador/oradata/ABD/USERS01.dbf rezize

    10m;

    Figura 1. 19 Incrementar datafile

    Como se muestra en la figura 1.19 el datafile llamado USERS01.dbf ha sido

    modificado correctamente. Se ha aumentado su tamao de 5 M a 10 M.

    5.- Como funciona y donde se ubica la bitcora de la base de datos

    Redo Log Files (Ficheros de Recuperacin de datos).

    Al alcanzar un tamao de 50 MB se crea otro archivo de redo lo el cual lleva una

    secuencia 1, 2,3n.

    Qu hacen los redo log files?

    Los Ficheros de redo log registran cambios a la base de datos como resultado de

    transacciones o acciones internas del servidor Oracle.

    Para qu sirven los redo log file?

  • Administracin de Base de Datos Unidad III

    19

    Protegen la base de datos de la prdida de integridad en casos de fallos causados

    por suministro elctrico, errores en discos duros.

    Cmo funcionan los redo log files?

    Trabajan de manera cclica. Si un archivo redo log online se llena LGWR pasar al

    siguiente grupo de log en el cual se produce una operacin de punto de control

    (check point), la informacin es almacenada en el archivo de control (control file).

    Figura 1. 20 Redo log file

    Su ubicacin de los Redo Log File es la siguiente:

    C:\oracle\Administrador\oradata\ABD

    Con el comando

    select * from v$logfile; (muestra la ubicacin de los log)

    select * from v$log; (indica cuantos log existen)

    En esta imagen se muestran los archivos redo log files marcados con azul.

  • Administracin de Base de Datos Unidad III

    20

    Figura 1. 21 Ubicacin de los Redo log files

    Recuerde que los Redo Log File son archivos utilizados para salvaguardar las

    operaciones ejecutadas en una base de datos.

    6.- Como es administrada la memoria en la instancia de la base de

    datos, para usuarios y procesos propios del DBMS

    Instancia de una Base de Datos en Oracle

    Cada instancia Oracle est asociada a una base de datos. Cuando se inicia una

    base de datos en un servidor (independientemente del tipo de ordenador), se le

    asigna un rea de memoria (SGA) y lanza uno o ms procesos. A la combinacin

    del SGA y de los procesos es lo que se llama instancia. La memoria y los

    procesos de una instancia gestionan los datos de la base de datos asociada de

    forma eficiente y sirven a uno o varios usuarios.

    Figura 1. 22 Estructura de una instancia en Oracle

  • Administracin de Base de Datos Unidad III

    21

    Cuando se inicia una instancia Oracle monta la base de datos, es decir, asocia

    dicha instancia a su base de datos correspondiente. En un mismo ordenador

    pueden ejecutarse varias instancias simultneamente, accediendo cada una a su

    propia base de datos fsica.

    nicamente el administrador de la base de datos puede iniciar una instancia y

    abrir una base de datos. Si una base de datos est abierta, entonces el

    administrador puede cerrarla y, cuando esto ocurre, los usuarios no pueden

    acceder a la informacin que contiene.

    Estructura de memoria de Oracle

    Cuando se habla de la estructura de memoria, se tienen dos tipos:

    SGA (rea Global del Sistema)

    PGA (Program global area)

    SGA: System Global Area o Shared Global Area.

    Zona principal de la memoria de Oracle. Est dividida en varias subtareas

    desempeando cada una de estas una tarea totalmente distinta: la Shared Pool, la

    Database Buffer Cache (parmetro DB_BLOCK_BUFFERS) y el Redo Log Buffer.

    Shared pool:

    Library Cache: se encuentra a su vez dividida en varios apartados: zona

    compartida de sql, zona privada de sql, procedimientos y paquetes pl/sql y,

    por ltimo, la zona de control y bloqueos propios de la library cache.

    Shared sql area o rea de sql compartido: se guardan los rboles

    sintcticos de las sentencias analizadas as como los planes de ejecucin

    elegidos para cada una.

    Private sql area o zona privada de sql: por cada sesin diferente que hay

    en la base de datos se crea una zona de sql privado. Se mantiene

    informacin de las sentencias que se estn tratando en ese momento.

    Procedimientos y Paquetes PL/SQL: existe un rea diferenciada para el

    tratamiento de los procedimientos, funciones y paquetes pl/sql. Se tratan en

    esta zona igual que si fueran sentencias sql en la zona de sql compartido.

    Dictionary cache: mantiene datos de sus propias tablas y vistas ya que

    accede constantemente a ellas al ejecutar cualquier sentencia.

    DataBase Buffer Cache (rea de memoria Rpida): almacena los bloques de

    datos ledos resultado de las rdenes SQL ejecutadas por los usuarios

    conectados.

  • Administracin de Base de Datos Unidad III

    22

    RedoLogs (rea de registro rehacer): se registran los cambios hechos a la base

    de datos.

    PGA (Program global area)

    Destinada a guardar informacin de los procesos de usuario y procesos de

    background que corren en una instancia de la base de datos y que a travs de

    distintos procesos intercambian la informacin con la SGA.

    Sort Areas (parmetro SORT_AREA_SIZE.): Son las zonas de memoria que

    Oracle reserva para realizar ordenaciones y que resultan mucho ms rpidas si se

    realizan en la memoria. Por supuesto, no todas las ordenaciones caben en

    memoria y en esos casos debe utilizar tambin el disco y, si hemos configurado

    bien el sistema, se realizarn en los tablespaces que hemos definido como

    temporales.

    Figura 1. 23 Estructura de memoria en Oracle

    Oracle cuenta con herramientas para verificar detalles de la memoria SGA y PGA

    as como tambin permite hacerle modificaciones. Para hacer esto primero

    accederemos a la pgina principal de Oracle. Hacemos click en el Database

    Control que se encuentra en Inicio > Oracle OraDb11g_home1>Database

    Control ABD e introduciremos el usuario y el password correspondientes.

  • Administracin de Base de Datos Unidad III

    23

    Figura 1. 24 Pagina de logeo

    Una vez dentro de la pgina principal seleccionaremos el link Servidor y

    posteriormente el de Asesores de memoria.

    Figura 1. 25 Pgina principal

    En esta imagen se puede observar un grfico que muestra el historial de los

    componentes de memoria.

  • Administracin de Base de Datos Unidad III

    24

    Figura 1. 26 Historial de asignaciones

    Si bajamos un poco podemos observar el historial de componentes de la memoria

    SGA as como tambin una pequea grafica de que porcentaje de memoria utiliza

    cada componente del SGA. Ahora le daremos click en el link PGA indicado con

    una flecha roja.

    Figura 1. 27 Componentes SGA

    En este apartado podemos observar la PGA actual asignada as como tambin la PGA mxima

    entre otra informacin til. Daremos click en el botn Detalles de Uso de Memoria PGA.

  • Administracin de Base de Datos Unidad III

    25

    Figura 1. 28 Seccin memoria PGA

    En este recuadro podemos observar los detalles de uso de memoria PGA.

    Figura 1. 29 Detalle de uso de memoria PGA