El documento describe las características y componentes principales de Oracle, una base de datos relacional. Explica que Oracle almacena datos en tablas relacionales y que las tablas, índices, usuarios y otros objetos son estructuras internas clave. También describe las estructuras de memoria como el SGA y PGA y los ficheros externos que utiliza Oracle. Brevemente explica pasos para crear una base de datos como crear una instancia y arrancarla.
2. INDICEINDICE
OBJETIVOOBJETIVO
INTRODUCCIONINTRODUCCION
CARACTERISTICAS DE ORACLECARACTERISTICAS DE ORACLE
CARACTERISTICAS DE ABDCARACTERISTICAS DE ABD
ESTRUCTURAS DE ORACLEESTRUCTURAS DE ORACLE
EJEMPLO DE HERRAMIENTAS DE ORACLEEJEMPLO DE HERRAMIENTAS DE ORACLE
PASOS PARA CREAR UNA BDPASOS PARA CREAR UNA BD
EJEMPLO DE UNA BDEJEMPLO DE UNA BD
3. OBJETIVOOBJETIVO
Conocer la funcionalidad deConocer la funcionalidad de
esta herramienta en elesta herramienta en el
manejo de información demanejo de información de
base de datos.base de datos.
4. INTRODUCCIONINTRODUCCION
¿Qué es Oracle?¿Qué es Oracle?
Es una Base de Datos los cuales estan almacenados yEs una Base de Datos los cuales estan almacenados y
accesibles según el formato de tablas relacionales. Unaaccesibles según el formato de tablas relacionales. Una
tabla relacional tiene un nombre y unas columnas, sutabla relacional tiene un nombre y unas columnas, su
definición. Los datos están almacenados en las filas. Lasdefinición. Los datos están almacenados en las filas. Las
tablas pueden estar relacionadas con otras.tablas pueden estar relacionadas con otras.
Una BD Oracle está almacenada físicamente enUna BD Oracle está almacenada físicamente en
ficheros, y la correspondencia entre los ficheros y lasficheros, y la correspondencia entre los ficheros y las
tablas es posible gracias a las estructuras internas de latablas es posible gracias a las estructuras internas de la
BD, que permiten que diferentes tipos de datos esténBD, que permiten que diferentes tipos de datos estén
almacenados físicamente separados. Está divisiónalmacenados físicamente separados. Está división
lógica se hace gracias a los espacios de tablas,lógica se hace gracias a los espacios de tablas,
tablespacestablespaces..
5. CARACTERISTICAS DECARACTERISTICAS DE
ORACLEORACLE
Es una herramienta de administración gráfica que es mucho másEs una herramienta de administración gráfica que es mucho más
intuitiva y cómoda de utilizar.intuitiva y cómoda de utilizar.
Ayuda a analizar datos y efectuar recomendaciones concernientesAyuda a analizar datos y efectuar recomendaciones concernientes
a mejorar el rendimiento y la eficiencia en el manejo de aquellosa mejorar el rendimiento y la eficiencia en el manejo de aquellos
datos que se encuentran almacenados.datos que se encuentran almacenados.
Apoya en el diseño y optimización de modelos de datos.Apoya en el diseño y optimización de modelos de datos.
Asistir a los desarrolladores con sus conocimientos de SQL y deAsistir a los desarrolladores con sus conocimientos de SQL y de
construcción de procedimientos almacenados yconstrucción de procedimientos almacenados y triggerstriggers, entre, entre
otros.otros.
Apoya en la definición de estándares de diseño y nomenclatura deApoya en la definición de estándares de diseño y nomenclatura de
objetos.objetos.
Documentar y mantener un registro periódico de las mantenciones,Documentar y mantener un registro periódico de las mantenciones,
actualizaciones de hardware y software, cambios en lasactualizaciones de hardware y software, cambios en las
aplicaciones y, en general, todos aquellos eventos relacionados conaplicaciones y, en general, todos aquellos eventos relacionados con
cambios en el entorno de utilización de una base de datos.cambios en el entorno de utilización de una base de datos.
6. CARACTERISTICAS DE ADBCARACTERISTICAS DE ADB
Instalación de nuevos componentes delInstalación de nuevos componentes del
softwaresoftware
Interacción con el administrador delInteracción con el administrador del
sistemasistema
Garantizar la seguridad del sistemaGarantizar la seguridad del sistema
MonitorizaciónMonitorización
RespaldosRespaldos
Prevención de riesgosPrevención de riesgos
7. ESTRUCTURAS DE ORACLEESTRUCTURAS DE ORACLE
Las estructuras de la BD Oracle pueden serLas estructuras de la BD Oracle pueden ser
divididas en tres clases:divididas en tres clases:
Internas a la BDInternas a la BD
Internas a las áreas de memoria (incluidasInternas a las áreas de memoria (incluidas
la memoria compartida y procesos)la memoria compartida y procesos)
Externas a la BD.Externas a la BD.
8. ESTRUCTURAS INTERNAS A LAESTRUCTURAS INTERNAS A LA
BDBDLas estructuras internas son:Las estructuras internas son:
Tablas:Tablas: Es la unidad lógica básica de almacenamiento. Contiene filas yEs la unidad lógica básica de almacenamiento. Contiene filas y
columnas (como una matriz) y se identifica por un nombre.columnas (como una matriz) y se identifica por un nombre.
Columnas:Columnas: Las columnas también tienen un nombre y deben especificarLas columnas también tienen un nombre y deben especificar
un tipo de datos. Una tabla se guarda dentro de unun tipo de datos. Una tabla se guarda dentro de un tablespacetablespace (o varios, en el caso(o varios, en el caso
de las tablas particionadas).de las tablas particionadas).
Usuarios:Usuarios: Es la indicación del nombre y el password de laEs la indicación del nombre y el password de la
cuenta (esquema) que se está creando.cuenta (esquema) que se está creando.
Esquemas:Esquemas: Es una colección de objetos lógicos, utilizados paraEs una colección de objetos lógicos, utilizados para
organizar de manera más comprensible la información y conocidos comoorganizar de manera más comprensible la información y conocidos como objetos delobjetos del
esquemaesquema. Una breve descripción de los objetos que lo componen es la siguiente. Una breve descripción de los objetos que lo componen es la siguiente
9. Índices:Índices: Un índice es una estructura creada para ayudar a recuperar datos de unaUn índice es una estructura creada para ayudar a recuperar datos de una
manera más rápida y eficiente. Un índice se crea sobre una o varias columnas demanera más rápida y eficiente. Un índice se crea sobre una o varias columnas de
una misma tabla. De esta manera, cuando se solicita recuperar datos de ellauna misma tabla. De esta manera, cuando se solicita recuperar datos de ella
mediante alguna condición de búsqueda (cláusulamediante alguna condición de búsqueda (cláusula wherewhere de la sentencia), ésta sede la sentencia), ésta se
puede acelerar si se dispone de algún índice sobre las columnas-objetivo.puede acelerar si se dispone de algún índice sobre las columnas-objetivo.
Clusters:Clusters: Un cluster es un grupo de tablas almacenadas en conjunto físicamenteUn cluster es un grupo de tablas almacenadas en conjunto físicamente
como una sola tabla que comparten una columna en común. Si a menudo secomo una sola tabla que comparten una columna en común. Si a menudo se
necesita recuperar datos de dos o más tablas basado en un valor de la columna quenecesita recuperar datos de dos o más tablas basado en un valor de la columna que
tienen en común, entonces es más eficiente organizarlas como un cluster, ya que latienen en común, entonces es más eficiente organizarlas como un cluster, ya que la
información podrá ser recuperada en una menor cantidad de operaciones de lecturainformación podrá ser recuperada en una menor cantidad de operaciones de lectura
realizadasrealizadas sobre el discosobre el disco
Vistas:Vistas: Una vista implementa una selección de varias columnas de una o diferentes tablas.Una vista implementa una selección de varias columnas de una o diferentes tablas.
Una vista no almacena datos; sólo los presenta en forma dinámica. Se utilizan para simplificar laUna vista no almacena datos; sólo los presenta en forma dinámica. Se utilizan para simplificar la
visión del usuario sobre un conjunto de tablas, haciendo transparente para él la forma devisión del usuario sobre un conjunto de tablas, haciendo transparente para él la forma de
obtención de los datosobtención de los datos
Secuencias:Secuencias: El generador de secuencias de Oracle se utiliza para generar númerosEl generador de secuencias de Oracle se utiliza para generar números
únicos y utilizarlos, por ejemplo, como claves de tablas. La principal ventaja es que libera alúnicos y utilizarlos, por ejemplo, como claves de tablas. La principal ventaja es que libera al
programador de obtener números secuenciales que no se repitan con los que pueda generarprogramador de obtener números secuenciales que no se repitan con los que pueda generar
otro usuario en un instante determinadootro usuario en un instante determinado
10. Procedimientos y Funciones:Procedimientos y Funciones: Una función es un grupo deUna función es un grupo de
sentencias SQL, escritas generalmente en PL/SQL que implementan una serie de rutinas quesentencias SQL, escritas generalmente en PL/SQL que implementan una serie de rutinas que
devuelven un valor. Son casi idénticas a los procedimientos y sólo se diferencian en esa últimadevuelven un valor. Son casi idénticas a los procedimientos y sólo se diferencian en esa última
condición.condición.
Disparadores, Triggers:Disparadores, Triggers: UnUn triggertrigger es un procedimiento que sees un procedimiento que se
ejecuta en forma inmediata cuando ocurre un evento especial. Estos eventos sóloejecuta en forma inmediata cuando ocurre un evento especial. Estos eventos sólo
pueden ser la inserción, actualización o eliminación de datos de una tabla.pueden ser la inserción, actualización o eliminación de datos de una tabla.
Sinónimos:Sinónimos: Los sinónimos son objetos del sistema que apuntan a otrosLos sinónimos son objetos del sistema que apuntan a otros
objetos. Implementan alias de tablas, vistas, secuencias o unidades de programas.objetos. Implementan alias de tablas, vistas, secuencias o unidades de programas.
Por lo general se utilizan para esconder ciertos detalles del objeto que representan alPor lo general se utilizan para esconder ciertos detalles del objeto que representan al
usuario final.usuario final.
Segmento deSegmento de Rollback:Rollback: son áreas lógicas de la base de datos que contienenson áreas lógicas de la base de datos que contienen
información de las transacciones que se encuentran en curso y que aún no han sido confirmadas o deshechas.información de las transacciones que se encuentran en curso y que aún no han sido confirmadas o deshechas.
11. Dentro de losDentro de los tablespacestablespaces yy datafilesdatafiles, el espacio utilizado para, el espacio utilizado para
almacenar datos es controlado por el uso de ciertas estructuras; éstasalmacenar datos es controlado por el uso de ciertas estructuras; éstas
son las siguientes:son las siguientes:
Segmentos:Segmentos: Es un grupo de extensiones utilizados para almacenar unEs un grupo de extensiones utilizados para almacenar un
tipo particular de datos. Existen 4 tipos de segmentostipo particular de datos. Existen 4 tipos de segmentos:: datos, índices,datos, índices,
rollback y temporales.rollback y temporales.
Extensiones:Extensiones: Es un grupo de bloques de datos. Se establecen en unEs un grupo de bloques de datos. Se establecen en un
tamaño fijo y crecen a medida que van almacenando más datos. Tambiéntamaño fijo y crecen a medida que van almacenando más datos. También
se pueden redimensionar para aprovechar mejor el espacio dese pueden redimensionar para aprovechar mejor el espacio de
almacenamiento.almacenamiento.
Bloques:Bloques: Un bloque es la unidad de almacenamiento más pequeña enUn bloque es la unidad de almacenamiento más pequeña en
una base de datos Oracle. Contiene una pequeña porción de informaciónuna base de datos Oracle. Contiene una pequeña porción de información
((headerheader) referente al bloque en sí y el resto a los datos que guarda.) referente al bloque en sí y el resto a los datos que guarda.
Generalmente, un bloque de datos ocupará aprox. 2 KB de espacio físicoGeneralmente, un bloque de datos ocupará aprox. 2 KB de espacio físico
en el disco (asignación típica).en el disco (asignación típica).
12. ESTRUCTURAS DE MEMORIAESTRUCTURAS DE MEMORIA
INTERNASINTERNAS
Oracle mantiene dos estructuras principalesOracle mantiene dos estructuras principales
de memoria: el Área Global dede memoria: el Área Global de
Programa(Programa(Program Global AreaProgram Global Area, PGA) y el, PGA) y el
Área Global del Sistema (System GlobalÁrea Global del Sistema (System Global
Area o también Shared Global Area, SGA).Area o también Shared Global Area, SGA).
El PGA es la zona de memoria de cada proceso Oracle.El PGA es la zona de memoria de cada proceso Oracle.
No está compartida y contiene datos e información deNo está compartida y contiene datos e información de
control de un único proceso.control de un único proceso.
El SGA es la zona de memoria en la que la BD OracleEl SGA es la zona de memoria en la que la BD Oracle
guarda información sobre su estado. Esta estructura deguarda información sobre su estado. Esta estructura de
memoria está disponible para todos los procesos, pormemoria está disponible para todos los procesos, por
eso se dice que está compartida.eso se dice que está compartida.
13. ESTRUCTURAS EXTERNAS A LAESTRUCTURAS EXTERNAS A LA
BDBD
Las estructuras externas estan contenidas porLas estructuras externas estan contenidas por
ficheros que utiliza el servidor de BD. Estosficheros que utiliza el servidor de BD. Estos
ficheros guardan información tanto de los datosficheros guardan información tanto de los datos
almacenados en la BD como la necesaria paraalmacenados en la BD como la necesaria para
gobernar la propia BD.gobernar la propia BD.
Los ficheros son:Los ficheros son:
Ficheros de la BDFicheros de la BD
Ficheros redo logFicheros redo log
Ficheros de controlFicheros de control
Ficheros de TrazaFicheros de Traza
14. EJEMPLO DE HERRAMIENTA DEEJEMPLO DE HERRAMIENTA DE
ORACLEORACLE
DISCOVERERDISCOVERER
DISIGNERDISIGNER
DEVELOPERDEVELOPER
15. PASOS PARA GENERAR UNAPASOS PARA GENERAR UNA
BDBD
Creación de una InstanciaCreación de una Instancia
Arranque de la InstanciaArranque de la Instancia
Creación de una base de datosCreación de una base de datos
17. EJERCICIO DEMOSTRATIVO
En las próximas páginas se demostrarán las principales funcionalidades que se
pueden llevar a cabo en una sesión típica de administración cuando comienza un
proyecto.
Se mostrará cómo se efectúa la creación de los usuarios, de los espacios de tablas,
cómo se asignan y se eliminan los privilegios mediante roles y otras funcionalidades,
utilizando la herramienta gráfica DBA Studio.
Creación de Usuarios
Para crear un usuario se debe seleccionar, en primer lugar, la opción
correspondiente en la aplicación, de la siguiente manera:
Figura No. 9 Menú flotante de creación de usuarios
18. Haciendo clic con el botón derecho una vez que estamos sobre la opción "Users" del
administrador de seguridad (figura anterior), aparece la interfaz de creación de usuarios,
que tiene las siguientes características y que se rellena con los datos que se muestran:
Figura No. 10 Ventana principal de creación de usuarios
19. Además, como se observa en la figura anterior, existen otras fichas que permiten
asociar al usuario algún rol, privilegios sobre objetos comunes o del sistema y cuotas de
espacio, entre otros.
Otras opciones que es necesario configurar la primera vez se refieren a brindar la
capacidad al usuario de poder conectarse a una base de datos e iniciar una sesión por
primera vez, dándosele también la oportunidad de crear objetos en su espacio o
esquema, asignando un volumen máximo a ese espacio, para cada usuario que se crea.
Figura No. 11 Roles concedidos al usuario
20. Rol Connect: Permite al usuario iniciar una sesión en la base de datos.
Rol Resource: Permite crear objetos, entre otros.
El símbolo a la izquierda del rol resource significa que esa es una línea que se está
agregando en la lista. En efecto, sólo se asigna por defecto el rol connect y nosotros
debemos agregar el segundo cada vez para permitir al usuario crear objetos en su
esquema.
Enseguida, para definir la cuota de espacio, tenemos que abrir la última pestaña de la
ventana de creación de usuarios y empezar a asignar, tablespace por tablespace, el
espacio definido para este usuario en particular. De esta forma podemos establecer las
cuotas de cada usuario en cada uno de los espacios definidos en el sistema.
Figura No. 12 Cuota del usuario por tablespace
21. Creación de Tablespaces
Para efectos prácticos vamos a suponer que los usuarios creados en este ejercicio
deben estar asignados a un espacio de tablas diferente a los ya existentes. Por lo tanto,
no nos sirve que tengan el tablespace users asignado por defecto.
Para crear un nuevo tablespace y asignarlo a los usuarios creados, se debe proceder de
la siguiente manera, si estamos usando DBA Studio:
Figura No. 13 Como crear un tablespace
22. La interfaz principal de creación de los tablespaces aparece cuando seleccionamos la
opción mostrada en la figura anterior y es la siguiente:
Figura No. 14 Detalle de la creación de un tablespace
23. En la figura anterior se observa la relación entre tablespace y datafile, éste último
corresponde al archivo físico de extensión DBF que se muestra en la línea de detalle.
Para el ejemplo, el tablespace creado se llama datos_prueba.
Ahora, para asignar el espacio de tablas recién creado a nuestros usuarios, basta con
editar sus características (botón derecho sobre el nombre del usuario) y asignar el
nuevo tablespace a cada uno de ellos.
Posteriormente, con el fin de poder otorgarle al usuario la posibilidad de crear tablas en
su esquema, no debemos olvidarnos de asignar una cuota de espacio a cada usuario
dentro del tablespace.
24. Enseguida, con el fin de conocer en la práctica cómo trabaja Oracle las extensiones de
las tablas y aprender a monitorearlas para evitar que crezcan demasiado y puedan
llegar a causar detenciones de la base de datos.
Un error muy común es que una tabla haya alcanzado el máximo posible de sus
extensiones (valor indicado al crearla) y que por lo tanto no pueda seguir creciendo en
tamaño, por lo que cada vez que se intente insertar datos o actualizarla incrementando
su tamaño, aparezca un error de Oracle que nos lo impida.
Ejemplo:
Al crear una tabla, los parámetros que identifican los tamaños y cantidad de extensiones
posibles para una tabla son los siguientes:
25. Las opciones que le permiten a Oracle efectuar el manejo del espacio de
almacenamiento se ingresan (considerando la figura anterior), en la pestaña "Storage":
Figura No. 17 Creación de una tabla (paso 2)
26. Finalmente, introduciendo ciertos valores que deberán establecerse en rigor luego de un
exhaustivo análisis del objeto que se está creando (porcentaje de volatilidad,
crecimiento esperado, restricciones de tamaño en los discos, etc.), un Dba podría
establecer que para esta tabla podrían aplicar ciertos valores, que para este ejemplo, se
muestran a continuación, junto con la sentencia SQL que podría haberse escrito en
lugar de utilizar la forma gráfica:
Figura No. 18 Sintaxis de creación de la tabla del ejemplo
27. CONCLUSIONESCONCLUSIONES
Con la idea de facilitarnos las tareas que debemos de desempeñar los humanos, hemos venidoCon la idea de facilitarnos las tareas que debemos de desempeñar los humanos, hemos venido
inventado diversas herramientas a lo largo de nuestrainventado diversas herramientas a lo largo de nuestra historiahistoria, que nos permiten tener una mejor, que nos permiten tener una mejor
calidad de vidacalidad de vida..
Los ordenadores son uno más de los inventos del hombre, aunque debemos decir que lasLos ordenadores son uno más de los inventos del hombre, aunque debemos decir que las
tecnologías para su fabricación y explotación han tenido un desarrollo sorprendente a partir de latecnologías para su fabricación y explotación han tenido un desarrollo sorprendente a partir de la
segunda mitad del siglo XX.segunda mitad del siglo XX.
Esta herramienta por sí sola no es capaz de efectuar ninguna tarea, es tan sólo un conjunto deEsta herramienta por sí sola no es capaz de efectuar ninguna tarea, es tan sólo un conjunto de
cables y circuitos que necesitan recibir instrucción por parte de los humanos para desempeñarcables y circuitos que necesitan recibir instrucción por parte de los humanos para desempeñar
alguna tarea. El problema entonces, se puede fijar en ¿cómo vamos a poder hacer que unalguna tarea. El problema entonces, se puede fijar en ¿cómo vamos a poder hacer que un
conjunto de circuitos desempeñen una determinada tarea y nos entreguen los resultados queconjunto de circuitos desempeñen una determinada tarea y nos entreguen los resultados que
nosotros esperamos?, es decir, ¿de qué manera se puede lograr la comunicación entre elnosotros esperamos?, es decir, ¿de qué manera se puede lograr la comunicación entre el
hombre y el ordenador?.hombre y el ordenador?.
Así pues, tratando de dar una solución al problema planteado, surgieron los lenguajes deAsí pues, tratando de dar una solución al problema planteado, surgieron los lenguajes de
programación, que son como un lenguaje cualquiera, pero simplificado y con ciertas normas,programación, que son como un lenguaje cualquiera, pero simplificado y con ciertas normas,
para poder trasmitir nuestros deseos al ordenador.para poder trasmitir nuestros deseos al ordenador.
El Sistema de Gestión de Bases de Datos (SGBD) Consiste en un conjunto de programas,El Sistema de Gestión de Bases de Datos (SGBD) Consiste en un conjunto de programas,
procedimientos y lenguajes que nos proporcionan las herramientas necesarias para trabajar conprocedimientos y lenguajes que nos proporcionan las herramientas necesarias para trabajar con
una base de datos. Incorporar una serie de funciones que nos permita definir los registros, susuna base de datos. Incorporar una serie de funciones que nos permita definir los registros, sus
campos, sus relaciones, insertar, suprimir, modificar y consultar los datos.campos, sus relaciones, insertar, suprimir, modificar y consultar los datos.