1. ORACLE
DATABASE: Es un sistema de gestión de base de datos objeto-relacional
(uORDBMS por
el acrónimo en inglés de Object-Relational Data Base Management System),
desarrollado por Oracle Corporation.
Se considera a Oracle Database como uno de los sistemas
de bases de datos más completos, destacando:
Su dominio en el mercado de servidores empresariales ha
sido casi total hasta hace poco; recientemente sufre la competencia del Microsoft SQL Server de Microsoft y
de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySQL o Firebird.
Las últimas versiones de Oracle han sido certificadas para poder trabajar
bajo GNU/Linux.
2. Procesos en segundo
plano (Oracle): Las relaciones entre las estructuras físicas y de memoria
de la base de datos se mantienen y aplican mediante procesos en segundo plano.
Estos procesos son propios de la base de datos y su número varía en función de
la configuración de la base de datos. La base de datos gestiona estos procesos
y necesitan muy poco trabajo administrativo.
En Oracle los procesos pueden ser de estos tipos:
- Proceso de
usuario: Lanzado por el usuario para pedir interacción con la base de
datos.
- Proceso de
servidor: Hacen de enlace entre los procesos de usuarios y el servidor
Oracle. Se utilizan como manejadores de los procesos de usuario. Los comandos
de usuario se envían a estos procesos que se encargan de solicitar peticiones a
la base de datos mediante el interfaz de programas de Oracle (OPI, Oracle
Program Interface).
- Procesos en
segundo plano (background): Cada instancia de Oracle arranca una serie de
procesos background.
3. Procesos
Background (en segundo plano), describalos y explíquelos
DBWR: Databasewriter
LGWR: Log Writer
CKPT: Checkpoint
SMON: Monitor
de sistema
PMON: Monitor
de procesos
ARCH: Proceso
archivador
RECO: Proceso
de recuperación
- DBWR: Este
proceso es el que se encarga de escribir a disco. Es el único con permiso de
escritura en disco, o sea en la base de datos. Cuando nosotros escribimos,
hacemos un commit en la base de datos, realmente no está escribiendo en disco, sino
que está marcando una serie de bloques de datos como que son susceptibles de
ser escritos en disco, es decir, marca los datos como "confirmados",
pero no escribe, si no que espera a que otra transacción los requiera para
llevarlos a disco y así ahorrar un "viaje" o una operación.
Por eso mismo cuando la base de datos cae o la paramos
con la opción "abort", queda inconsistente, ya que puede tener datos
en bufferes "confirmados" que realmente no están escritos en disco.
Por eso cuando volvemos a arrancar, necesita realizar una recuperación.
- LGWR: Este
proceso es que se encarga de escribir el contenido del búfer del registro de
rehacer en los ficheros de registro de rehacer en línea. Se realizan las
escrituras por lotes. El buffer del registro de rehacer (redo log), contiene
siempre el estado más reciente de la base de datos, ya que es posible que el
proceso DBWR espere antes de escribir los bloques modificados desde los búferes
de bloques de datos a los archivos de datos. Los archivos de registro de
rehacer son ficheros secuenciales lo que indica que cuando acaba de escribir en
uno, empieza por otro y así sucesivamente.
- CKPT: Este
proceso es el encargado de realizar un "punto de comprobación".
Cuando se sucede un punto de comprobación, CKPT hace que DBWR escriba todos los
bloques que se hayan modificado desde el último punto de comprobación, y actualice
los archivos de control y las cabeceras de los archivos de datos para registrar
el punto de comprobación. Los puntos de comprobación de producen de forma
automática cuando se llena un archivo de registro de rehacer en línea.
Se puede configurar el checkpoint en el fichero de
inicialización de parámetros con el parámetro: LOG_CHEKPOINT_INTERVAL.
- SMON: Este
proceso realiza la recuperación de la instancia, según sea preciso usando los
registros de rehacer en línea... (antes hablamos de que si oracle se para
necesitaría hacer una recuperación si se para anormalmente, pues lo realiza
así). Limpia la base de datos de transacciones inservibles. También cumple la
función de agrupar extensiones libres contiguas en la base de datos. Smon solo
agrupa el espacio libre en espacios de tablas cuyo valor de almacenamiento predeterminado
sea distinto de 0.
- PMON: Realiza
limpiezas de procesos fallidos de usuarios. Libera recursos que estuviera
usando el usuario. Sirve por ejemplo cuando hay bloqueos. Libera bloqueos y
pone a disposición para otros usuarios.
- ARCH: Proceso
que escribe en los registros de rehacer en línea de forma cíclica, es decir,
después de llenar el primero, va al segundo, cuando lo llena, va al tercero y
así sucesivamente. Una vez terminado el último fichero de rehacer en línea,
LGWR empieza a sobrescribir los contenidos del primero. Cuando la base de datos
se ejecuta en modo ARCHIVELOG, ARCH realiza una copia del cada uno de ficheros
de rechace en línea antes de ser sobrescrito.
- RECO: Este
proceso es el encargado de realizar las recuperaciones de fallos en las bases
de datos distribuidas. Este proceso trata de acceder a las bases de datos
implicadas en transacciones distribuidas dudas e intenta resolver las
transacciones.
Procesos en Oracle
opcionales en segundo plano
La base de datos Oracle viene con una serie de procesos
adicionales que son opcionales. Por ejemplo, Oracle cuenta con un programa que
le permite programar los tiempos que algunos programas de bases de datos se
ejecutará. Este programa se conoce como el proceso planificador de tareas. El
planificador de tareas es un programa opcional que debe ser habilitado para que
funcione. Cuando el programador de tareas está activada, un proceso (programa)
se pondrá en marcha para controlar el trabajo del programador. Esto se conoce
como el proceso de cola de trabajos. Estos son los procesos opcionales más
comunes:
* Cola de proceso
(CJQ) - Se utiliza para el trabajo del programador. El planificador de
trabajo incluye un programa principal (el coordinador) y los programas de
esclavos que el coordinador se ejecuta. El job_queue_processes parámetro
controla el número de puestos de trabajo en paralelo de trabajo del
planificador se pueden ejecutar al mismo tiempo.
* Proceso de
Archiver (ARCN) - Se utiliza para archivar los registros de rehacer en
línea (que veremos más adelante en este capítulo) en el disco. En los casos en
que sea necesario, Oracle Database 10g se iniciará el proceso ARCN
automáticamente. Si los procesos adicionales ARCN se necesitan, entonces la
base de datos Oracle comenzará hasta 9 procesos adicionales.
* Cola de Process
Monitor (QMNn) - Se utiliza para gestionar flujos de Oracle
AdvancedQueueing.
* Mmon, MMNL, MMAN -
Se utiliza para realizar varias tareas de administración de base de datos.
4. Enuncie y
describa las Ediciones de Oracle
Existen cinco ediciones distintas de base de datos Oracle
con opciones específicas, para cada una de ellas.
Oracle Database
Standard Edition One: Ofrece facilidad de uso, potencia y rendimiento para
grupos de trabajo, a nivel de departamentos y aplicaciones Web. Desde los
entornos de un solo servidor para pequeñas empresas a los entornos de
sucursales altamente distribuidos.
Oracle Database
Standard Edition: Ofrece las funcionalidades de la edición Standard Edition
One, con el apoyo de máquinas más grandes y la agrupación de los servicios con
Oracle Real Application Clusters (Oracle RAC). La funcionalidad no se incluía
ni como opción en versiones estándar anteriores.
Oracle Database
Enterprise Edition: Ofrece el rendimiento, la disponibilidad, la escalabilidad
y la seguridad necesaria para las aplicaciones de misión crítica, tales como el
procesamiento de grandes volúmenes de transacciones en línea (OLTP), almacenes
de datos en consultas intensivas y exigentes aplicaciones de Internet.
Oracle Database
Express Edition (Oracle Database XE): Es una edición básica de la base de
datos de Oracle. Es rápida de descargar, fácil de instalar y administrar, y es
libre de desarrollar, implementar y distribuir. Es fácil de actualizar a las
otras ediciones de Oracle sin migraciones costosas y complejas. Oracle Database
XE se puede instalar en cualquier máquina tamaño con cualquier número de CPUs,
almacena hasta 11 GB de datos de usuario, con un máximo de 1 GB de memoria, y
con una sola CPU en la máquina host. Existe un foro en línea, para dar soporte.
Oracle Database
Personal: Soporta los entornos de desarrollo de un solo usuario y el
despliegue que requieren la plena compatibilidad con Oracle Database Standard
Edition One, Oracle Database Standard Edition y Oracle Database Enterprise
Edition.
Le diferencia la excepción de la no opción de Oracle Real
Application Clusters.
Personal Edition sólo está disponible en los sistemas
operativos Windows y Linux. Tampoco incluye los módulos de administración no
están incluidos.
5. Cuál es la
edicion de uso libre o que podemos usar?
El producto es Oracle 10g Express
Edition (Oracle Database XE) y, obviamente, tiene sus limitaciones.
Sólo puede utilizar 1 procesador del servidor
donde esté instalada, un máximo de 1 Gb de RAM, y tiene limitado el
almacenamiento a 4 Gb de datos de usuario. Cuando se superen estas
limitaciones, Oracle ofrece un sencillo proceso de actualización a
otras versiones más completas, y en las que sí que hay que pagar licencias.
7. Describa las
herramientas de oracle para el programador analista
Oracle ofrece un grupo completo e integrado de
herramientas para la inteligencia de negocios y el desarrollo de aplicaciones,
el cual respalda cualquier entorno de desarrollo, cualquier plataforma de
tecnología y cualquier sistema operativo.
Los arquitectos y desarrolladores que tienen pensamientos adelantados utilizan estas herramientas para abordar la complejidad de sus entornos de IT y aplicaciones con la Arquitectura Orientada a Servicios (SOA), que facilita el desarrollo de aplicaciones empresariales como servicios modulares de negocio que pueden integrarse y reutilizarse fácilmente, creando una infraestructura de IT realmente flexible y adaptable.
Los arquitectos y desarrolladores que tienen pensamientos adelantados utilizan estas herramientas para abordar la complejidad de sus entornos de IT y aplicaciones con la Arquitectura Orientada a Servicios (SOA), que facilita el desarrollo de aplicaciones empresariales como servicios modulares de negocio que pueden integrarse y reutilizarse fácilmente, creando una infraestructura de IT realmente flexible y adaptable.
8. Defina los
siguientes herramientas y su función:
-SQL:
El lenguaje de consulta estructurada o SQL (por sus siglas
en inglés structured query language) es
un lenguaje declarativo de acceso
a bases de datos relacionales que permite
especificar diversos tipos de operaciones en ellas. Una de sus características
es el manejo del álgebra y el cálculo relacional que permiten
efectuar consultas con el fin
de recuperar de forma sencilla información de
interés de bases de datos, así como hacer cambios en ella.
-SQL*Plus: Es
un programa de línea de comandos de Oracle que
puede ejecutar comandos SQL y PL/SQL de forma interactiva o mediante un script.
SQL*Plus opera como una herramienta relativamente simple
con una interfaz de líneas de comando básica. Los programadores y los
administradores de bases de datos (DBA's) lo usan de forma muy común como
interfaz fundamental en la mayoría de las instalaciones de software de Oracle.
-PL/SQL (Procedural
Language/Structured Query Language): Es un lenguaje de programación incrustado
en Oracle.
PL/SQL soportara todas las consultas, ya que la
manipulación de datos que se usa es la misma que en SQL, incluyendo nuevas
características:
-
Estructuras modulares.
-
Estructuras de control de flujo y toma de
decisiones.
-
Control de excepciones.
-
El lenguaje PL/SQL está incorporado en:
-
Servidor de la base de datos.
-
En un entorno de base de datos los programadores
pueden construir bloques PL/SQL para utilizarlos como procedimientos o
funciones, o bien pueden escribir estos bloques como parte de scripts SQL*Plus.
-
Los programas o paquetes de PL/SQL se pueden
almacenar en la base de datos como otro objeto, y todos los usuarios que estén
autorizados tienen acceso a estos paquetes. Los programas se ejecutan en el
servidor para ahorrar recursos a los clientes.
- SQL FORMS: Es
la herramienta de Oracle que permite, de un modo sencillo y
eficiente, diseñar pantallas para el ingreso, modificaciones, bajas y consultas
de registros.
El usuario podrá, una vez definida la forma, trabajar con ella sin necesidad de
generar códigos, dado que Oracle trae incorporado un conjunto de procedimientos y funciones asociados
a las teclas de funciones, como por ejemplo la tecla [F7], que se usa para iniciar
una consulta.
La herramienta fundamental de SQL es la sentencia SELECT, que permite seleccionar
registros desde las tablas de la Base de Datos, devolviendo aquellos que
cumplan las condiciones establecidas y pudiendo presentar el resultado en el
orden deseado.
- SQL (Structured
Query Languague = Lenguaje de Consulta estructurado): La
orden FROM identifica la lista de tablas a consultar. Si alguna de
las tablas a consultar no es propiedad del
usuario, debe especificarse el nombre del propietario antes que el nombre de la
tabla en la forma nombre_propietario.nombre_tabla.
La orden WHERE decide
los registros a seleccionar según las condiciones establecidas, limitando el
número de registros que se muestran.
La orden ORDER
BY indica el orden en que aparece el resultado de la consulta.
- ORACLE REPORT:
es una poderosa herramienta que tiene por objetivo el diseño y la generación de
informes. Permite la creación de reportes en archivos jsp (Java Server pages),
rdf, xml, rtf entre otros, pero siendo los más usados los anteriormente
citados. De igual manera permite enviar el resultado de los informes a archivos
de texto, pdf, html, xml, rtf, de texto delimitados, entre otros, lo cual
permite su lectura y publicación en diversos formatos.
9. - TABLESPACE: Un
tablespace es una unidad lógica de almacenamiento dentro de una base de datos
Oracle.
- VIEW: Una
vista es una alternativa para mostrar datos de varias tablas; es como una tabla
virtual que almacena una consulta. Los datos accesibles a través de la vista no
están almacenados en la base de datos, en la base de datos se guarda la
definición de la vista y no el resultado de ella.
- COMMIT:
Guarda los cambios de la transacción en curso.
Libera los recursos bloqueados por cualquier
actualización hecha con la transacción actual (LOCK TABLE).
- GRANT: Esta
sentencia sirve para dar permisos (o privilegios) a un usuario o a un rol.
Un permiso, en oracle, es un derecho a ejecutar un
sentencia (system privileges) o a acceder a un objeto de otro usuario (object
privileges).
El conjunto de permisos es fijo, esto quiere decir que no
se pueden crear nuevos tipos de permisos.
Si un permiso se asigna a rol especial PUBLIC significa
que puede ser ejecutado por todos los usuarios.
- REVOKE: Esta
sentencia sirve para quitar permisos (o privilegios) a un usuario o a un rol.
- TABLE: las
tablas son la unidad básica de almacenamiento de datos en Oracle. Los datos son
almacenados en filas y columna se define a través de: Nombre, conjunto de
columnas (nombre y tipo).
- INDEX: Los
índices se usan para mejorar el rendimiento de las operaciones sobre una tabla.
En general mejoran el rendimiento las SELECT y empeoran
(minimamente) el rendimiento de los INSERTy los DELETE.
Una vez creados no es necesario nada más, oracle los usa
cuando es posible (ver EXPLAIN PLAN).
En oracle existen tres tipos de indices:
1) Table Index
2) Bitmap Join Index
3) Cluster Index
- FUNCTION:
Oracle ofrece varios tipos de funciones para realizar distintas operaciones.
Hemos empleado varias de ellas.
Se pueden emplear las funciones del sistema en cualquier
lugar en el que se permita una expresión en una sentencia "select".
Las funciones, como los procedimientos almacenados son
bloques de código que permiten agrupar y organizar sentencias SQL que se
ejecutan al invocar la función.
Las funciones tienen una estructura similar a la de los
procedimientos. Como los procedimientos, las funciones tienen una cabecera, una
sección de declaración de variables y el bloque "begin...end" que
encierra las acciones. Una función, además contiene la cláusula
"return".
Una función acepta parámetros, se invoca con su nombre y
retorna un valor.
- PROCEDURE:
Un procedimiento es un subprograma que realiza una acción específica.
Debe declarar y definir un procedimiento ante la invoca.
Usted puede declarar y definir al mismo tiempo, o puede declararlo primero y
luego definir más adelante en el mismo bloque o subprograma.
- PACKAGE: Es
una colección encapsulada de procedimientos relacionados, funciones y otros
objetos de programa almacenados juntos en la base de datos. La especificación
del paquete declara estos objetos. El cuerpo del paquete, se especifica
posteriormente, define estos objetos.
- TRIGGER: Es
un bloque PL/SQL asociado a una tabla, que se ejecuta como consecuencia de una
determinada instrucción SQL (una operación DML: INSERT, UPDATE o DELETE)
sobre dicha tabla.
- INSTANCE:
Una instancia de Base de datos es el conjunto formado por los procesos y las
estructuras de memoria que se encuentran en un servidor.
- ROLLBACK:
Deshace los cambios de la transacción en curso.
Libera los recursos bloqueados por cualquier
actualización hecha con la transacción actual (LOCK TABLE).