Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Manual de Oracle 9I (página 2)




Enviado por JESSICA VARGAS



Partes: 1, 2

Esta arquitectura
consiste básicamente en un cliente que realiza peticiones
a otro programa
(el servidor) que le da respuesta. Aunque esta idea se puede
aplicar a programas
que se ejecutan sobre una sola
computadora es más ventajosa en un sistema
operativo multiusuario distribuido a través de
una
red de
computadoras.

En esta arquitectura la capacidad de
proceso está repartida entre los clientes
y los servidores,
aunque son más importantes las ventajas de tipo
organizativo debidas a la
centralización de la
gestión de la información y la
separación de responsabilidades, lo que facilita y
clarifica el diseño
del sistema.

Entre las principales características de la
arquitectura cliente/servidor se pueden destacar las
siguientes:

El servidor presenta a todos sus clientes una interfaz
única y bien definida.

El cliente no necesita conocer la
lógica del servidor, sólo su interfaz
externa.

El cliente no depende de la ubicación físicadel
servidor, ni del tipo de físico en el que se encuentra, ni de su sistema
operativo.

Los cambios en el servidor implican pocos o
ningún
cambio en el cliente.

Ventajas

•    Centralización de
los recursos:
mediante el servidor que es el centro de la red, se puede
administrar los recursos comunes para todos los
usuarios.

•    Mejoramiento de la

seguridad: puesto que la cantidad de puntos de entrada
permite el acceso a los datos.

•    Administrar el nivel del
servidor: requieren menos
administración debido a que los clientes no son muy
importante en este modelo.

•    Red escalable: esta
arquitectura, permite quitar o agregar clientes sin afectar el
funcionamiento de la red sin mayores modificaciones.

•    Centralización del
control:
los accesos, recursos y la integridad de los datos son
controlados por el servidor de forma que un programa cliente
defectuoso o no autorizado no pueda dañar el
sistema.

•    Escalabilidad: aumenta la
capacidad de clientes y servidores por separado pudiendo ser los
elementos aumentado o mejorado en cualquier circunstancia,
además, de añadir nuevos nodos a la red
clientes-servidores.

•    Mantenimiento
fácil: distribuidas las funciones
y responsabilidades en diferentes equipos independientes, se
puede reemplazar, reparar, actualizar, o trasladar un servidor,
mientras sus clientes no son afectados por el cambio.

•    Las tecnologías son
lo bastante desarrolladas, diseñadas en el entorno de C/S
para asegurar las transacciones, amigabilidad de la interfaz y la
facilidad de
empleo.

Desventajas

•    Alto
Costo: debido a lo complicado de la técnica del
servidor.

•    Punto débil: el
servidor es el único eslabón débil en la red
de cliente/servidor, puesto que toda la red está
construida en torno
a él.

•    La congestión del
tráfico ha sido siempre un problema en el
paradigma de C/S. Cuando una gran cantidad de clientes
envían peticiones simultaneas al mismo servidor, puede ser
que cause muchos
problemas para éste

•    El paradigma de C/S cuando
un servidor está caído, las peticiones de los
clientes no pueden ser satisfechas.

•    El hardware y
software
en un servidor son determinantes. Un hardware en un ordenador
puede no poder
servir a cierta cantidad de clientes. Se requiere de software y
hardware específico, más en el servidor para dar
garantía del trabajo.

•    El cliente no usa los
recursos dentro del servidor. Por ejemplo, si la
aplicación es una Web,
no se puede escribir en el
disco duro del cliente o imprimir directamente sobre las
impresoras
sin sacar antes la ventana previa de impresión de los

navegadores.

ORACLE 9I

Oracle es una corporación que surgió a
final de los años 70 y principio de los años 80.
George Koch y su equipo de técnicos, fue el primero en
trabajar en el terreno de
Oracle en 1982.

Oracle es una de las mejores bases
de datos que están en el mercado,
tienen características que garantizan la seguridad e
integridad de los datos, que las transacciones se efectuaran de
manera correcta, sin causar inconsistencias, el procesamiento de
grandes volúmenes de información será
segura.

Es un sistema de gestión de
base de datos relacional Se considera a Oracle como uno de
los sistemas
de bases de datos más completos es considerado como una
herramienta cliente/servidor para la gestión de base de
datos, destacándose por:

Soporte de transacciones

Estabilidad

Escalabilidad

Soporte multiplataforma.

Su principal herramienta es:

La BD como tal, la cual esta compuesta de

Un repositorio de datos

Un DBMS (data base management system).

En el repositorio de datos se encuentran todos los
objetos.

El DBMS se encarga de manipular los objetos (tablas,
vistas, triggers, procedimientos,
paquetes, usuarios, entre otras) que ese encuentra en el
repositorio.

Evolución De Oracle

Monografias.com

INSTALACIÓN DE ORACLE 9I

Instalación De Oracle 9i En Windows

Introduciremos el
CD 1 de la instalación, los tres CDs que componen el
programa de instalación se pueden descargar gratuitamente
(siempre que no sea con fines lucrativos) desde la propia web de
oracle: www.oracle.com

Monografias.com

• Tras seleccionar la ruta de los ficheros de
Oracle pulsaremos en Siguiente .

• A continuación seleccionaremos el tipo de
instalación que deseemos:

Monografias.com

En nuestro caso, puesto que crearemos la base de datos
en el servidor donde estamos realizando la instalación
seleccionaremos Oracle9i Database 9.2.0.1.0 . Si ya disponemos de
un servidor de Oracle con las correspondientes bases de datos a
las que queramos acceder será suficiente con seleccionar
la opción Oracle9i Client 9.2.0.1.0 , en este caso la
instalación es bastante más simple, pues
sólo es necesario especificar la
IP o el nombre de red del servidor de Oracle así como
el nombre (sid) de la base de datos a la que queramos
acceder.

• Seleccionaremos el tipo de instalación que
queramos realizar:

Monografias.com

En nuestro caso, seleccionaremos Enterprise Edition, si
queremos realizar una instalación más avanzada
(especificando manualmente las opciones a instalar)
seleccionaremos Personalizado, en este caso aparecería una
ventana como esta:

Monografias.com

• Seleccionaremos la siguiente opción
dependiendo del uso que le queramos dar a nuestra base de datos,
normalmente es para Uso General. Si no queremos crear una base de
datos en el proceso de instalación (se puede crear en otro
momento) seleccionaremos Sólo software:

Monografias.com

• Seleccionaremos el puerto para Oracle MTS
Service, normalmente se suele seleccionar el puerto por defecto
2030. Este parámetro es muy importante pues, si decidimos
cambiar el puerto por defecto, cuando queramos que un cliente se
conecte al servidor deberemos especificar el puerto que hayamos
seleccionado en este punto de la instalación:

Monografias.com

• Especificaremos el nombre de la base de datos
(con un máximo de 8 caracteres):

Monografias.com

Nota: el SID es el identificador interno que
utilizará Oracle para referenciar a nuestra base de datos,
se puede elegir uno diferente al del nombre de la Base de Datos,
aunque se suele utilizar el mismo.

• En este punto de la instalación
seleccionaremos la ubicación de los archivos de la base de
datos que la instalación creará. Oracle recomienda
que la ubicación de los archivos de la base de datos
esté en un disco físico distinto al de los archivos
de la instalación (software de Oracle).

También recomienda que los archivos de Redo Log
estén multiplexados (varias copias, esto se configura en
la consola de
administración de Oracle) y en diferentes discos
físicos. Lógicamente es lo recomendable por Oracle
y sólo se configura así cuando se trata de una Base
de Datos que tendrá múltiples accesos concurrentes
(al mismo
tiempo) y con un volumen
de datos importante, pues el desembolso económico en
hardware para la correcta instalación de Oracle puede ser
importante. En nuestro caso, instalaremos los archivos de la base
de datos en un segundo disco duro instalado exclusivamente para
Oracle. A pesar de todo no hay ningún problema por
instalar la base de datos en el mismo disco duro que el software
de Oracle. Si nuestra organización
dispone, por ejemplo, de unos 20 usuarios conectados a Oracle no
habría una pérdida del rendimiento por instalarla
en el mismo disco duro. Por supuesto esto es orientativo pues
dependerá también del volumen de datos que necesite
cada usuario así como de otros factores (rpm del disco
duro, características del servidor de Oracle (procesadores,
memoria
RAM, …),
velocidad de la red local, tipo de conexión que
realice el software de nuestra empresa
que acceda a Oracle (el acceso nativo sin necesidad de utilizar
controladores ODBC incrementa considerablemente el rendimiento
frente a accesos mediante controladores ODBC que no dejan de ser
una pasarela entre el software y Oracle):

Monografias.com

• Seleccionaremos el
juego de caracteres que vayamos a utilizar, si dejamos el

juego
de caracteres por defecto Oracle utilizará el
juego de caracteres que tengamos configurado en nuestro sistema
operativo, es la opción recomendada. Este parámetro
sólo sería importante en el caso en que queramos
exportar nuestra base de datos a otro servidor de Oracle, en este
caso será importante que el juego de caracteres del
servidor que recibirá los datos coincida con el que los
exportó. Si no coinciden podrían aparecer
erróneamente caracteres como "á,¬" alojados en
nuestra base de datos:

Monografias.com

• Como último paso de la
preinstalación nos aparecerá una ventana con el
software que se va a instalar, tras comprobar que es correcto
pulsaremos en Instalar:

Monografias.com

• Introduciremos los CDs de instalación
conforme los vaya pidiendo el programa:

Monografias.com

• Tras la instalación de Oracle y la
creación de la base de datos aparecerá una ventana
indicando que el proceso de instalación ha
finalizado:

Monografias.com

ARQUITECTURA DE UN SERVIDOR ORACLE 9i

ESQUEMA GENERAL

Monografias.com

Por cada instancia de Oracle se tiene una sola base de
datos.

En un servidor se puede crear varias instancias pero es
recomendable solo una porque cada instancia consume muchos
recursos.

Arquitectura de Oracle 9i

La arquitectura de Oracle tiene tres componentes
básicos:

Las
estructuras de memoria. Para almacenar los datos y el

código ejecutable.

Los Procesos. Son los que corren el sistema de BD y las
tareas de cada usuario conectado a la BD.

Los Archivos. Son los que sirven para el almacenamiento
físico en el disco de la información de la
BD.

Monografias.com

INSTANCIA DE ORACLE

Monografias.com

Para permitir el acceso a los datos, Oracle utiliza un
conjunto de
procesos que son compartidos por todos los usuarios.
Además, existen estructuras de memoria
que son utilizadas para almacenar los datos más
recientemente solicitados a la BD.

Una instancia de BD es el conjunto de estructuras de
memoria y de procesos que acceden a los ficheros de
datos.

Los parámetros que determinan el tamaño y
composición de una instancia están almacenados en
un fichero llamado init.ora. Este fichero es leído durante
el arranque de la BD y puede ser modificado por el DBA. Cualquier
modificación de este fichero no tiene efecto hasta la
siguiente vez que se arranque la BD.

La instancia de Oracle esta compuesta por el proceso de
fondo y un área de memoria compartida SGA

Consiste en una
estructura de memoria SGA (System Global Area) y un conjunto
de procesos usados por el servidor de Oracle para gestionar una
BD.

ESTRUCTURA DE
MEMORIA

Hay dos clases de memoria, una de ella compartida por
todos los usuarios conectados y otra dedicada al trabajo de cada
una de ellas.

SGA (System Global Area)

PGA (Process Global Area)

SGA (System Global Area)

Sirve para facilitar la transferencia de
información entre usuarios y también almacena la
información estructural de la BD más frecuentemente
requerida.

El SGA es utilizado para el intercambio de datos entre
el servidor y las aplicaciones cliente.

Una instancia Oracle puede abrir una sola base de datos
a la vez.

Monografias.com

Library Cache

Almacena las sentencias
SQL mas recientes en memoria.

Database Dictionary Cache

Buffer para el diccionario
de datos. Tablas, columnas, tipos, índices.

Database Buffer Cache

Buffer de la base de datos, contiene bloques de datos
que han sido cargados desde los Datafiles.

Redo Log Buffer Cache

Bloques de datos que han sido actualizados.

PGA (Process Global Area)

El Process Global Area es un área de memoria
utilizada por un proceso Oracle. Esta zona de memoria no se puede
compartir.

Es un área no compartida en la cual se puede
escribir y contiene:

Área e almacenamiento

Información de la sesión

Estado del cursor

Espacio de la pila

PROCESOS

Los procesos son programas que se ejecutan para permitir
el acceso a los datos, estos procesos se cargan en memoria y son
transparentes para los usuarios y son los siguientes:

PMON (Process Monitor)

Monitorea los procesos de los usuarios en caso de que la
conexión falle.

SMON (System Monitor)

Proceso encargado de recuperar la instancia y abrir la
base de datos en caso de que ocurra alguna falla.

CKPT (CheckPoint Process)

Sintoniza las tareas de grabación en
BD.

DBWR (Database Write)

Escribe los bloques de datos de la
memoria a la base de datos.

Es uno de los dos únicos procesos que tienen
permitido escribir en los archivos de datos que componen la base
de datos Oracle.

Monografias.com

LGWR (Log Writer)

Graba los bloques del Redo Log del Fuffer a los archivos
Redo Log File.

Escribe las transacciones que se encuentran en los Redo
Log a Disco cuando ocurre un commit.

Monografias.com

BASE DE DATOS

La base de datos Oracle es un conjunto de datos tratados
como una sola y misma entidad y está constituida de tres
tipos de archivos, a saber:

Los ficheros de control (Control File)

Los ficheros de datos (Data File)

Los ficheros log (Log File)

Monografias.com

Control File

Contiene información para mantener y controlar la
integridad de la base de datos. Estos archivos especifican cuales
Datafiles conforman la BD para poder tener acceso a los datos o
para poder recuperar la BD antes de una falla

Data File

Sirve para el almacenamiento físico de las
tablas, índices y procedimientos, Estos son los archivos
donde se almacenan los datos de las aplicaciones es decir
contienen los datos de los usuarios de la base de
datos.

Redo Log File

Almacena los cambios hechos en la base de datos con
propósito de recuperarlos en caso de falla.

CONEXIONES DE UNA BASE
DE DATOS

Monografias.com

1. CONEXIÓN NATIVA

Es una conexión entre el cliente y el servidor
sin utilizar otra aplicación y pertenecen a una misma
plataforma (familia).

Requerimientos para realizar una conexión nativa
o TNS

Add Database Alias

Database Alias. Nombre a la instancia del servidor o
nombre a la base de datos de nuestro servidor.

Protocolo a usar (TCP/IP).

TCP/IP

Hostname: IP del servidor

Database Instance: Oracle

Verificación de los datos

Exit Neteasy Configuration

2. CONEXIÓN ODBC

Es una conexión entre el cliente y el servidor
utilizando una aplicación para la conexión, es
decir una conexión entre diferentes plataformas
(familias).

Requisitos

Instalar el driver ODBC de Oracle.

Crear la conexión nativa.

Crear la conexión ODBC.

ESQUEMA GENERAL DE LA CONEXIÓN A UNA BD DE
ORACLE

Monografias.com

Proceso Usuario

Es un programa, aplicación o herramienta que usa
el usuario para iniciar un proceso de usuario y establecer una
conexión.

Proceso servidor

Una vez establecida la conexión, un proceso
servidor es iniciado, el cual maneja la peticiones del proceso
usuario.

Un proceso servidor puede ser dedicado, es decir es
decir solo atiende las peticiones de un solo proceso usuario, o
puede ser compartido, con lo cual puede atender múltiples
procesos usuarios.

Sesión

Es una conexión específica de un usuario a
un servidor Oracle.

Se inicia cuando el usuario es validado por el servidor
Oracle.

Finaliza cuando el usuario termina la sesión en
forma normal o aborta la sesión.

HERRAMIENTA SQL Plus

Es una herramienta que permite al usuario comunicarse
con el servidor para procesar comandos
SQL o PL/SQL tiene la flexibilidad de realizar inicio y parada de
la base de datos.

DDL (Data Definition Language )

Lenguaje de definición de datos, este
lenguaje es proporcionado por el sistema de gestión de
base de datos que permite a los usuarios de la misma llevar a
cabo las tareas de definición de las estructuras que
almacenarán los datos así como de los
procedimientos o funciones que permitan consultarlos.

El lenguaje de programación
SQL, el más difundido entre los gestores de bases de
datos, admite las siguientes sentencias de definición:
CREATE, DROP y ALTER, cada una de las cuales se puede aplicar a
las tablas, vistas, procedimientos almacenados y triggers de la
base de datos.

Otras que se incluyen dentro del DDL, pero que su
existencia depende de la implementación del
estándar SQL que lleve a cabo el gestor de base de datos
son GRANT y REVOKE, los cuales sirven para otorgar permisos o
quitarlos, ya sea a usuarios específicos o a un rol creado
dentro de la base de datos.

DML (Data Manipulation Language)

Lenguaje de Manipulación de Datos, es un lenguaje
proporcionado por el sistema de gestión de base de datos
que permite a los usuarios de la misma llevar a cabo las tareas
de consulta o manipulación de los datos, organizados por
el modelo de datos adecuado.

El lenguaje de manipulación de datos más
popular hoy día es SQL, usado para recuperar y manipular
datos en una base de datos relacional. Otros ejemplos de DML son
los usados por bases de datos IMS/DL1, CODASYL u
otras.

CONEXIÓN
UTILIZANDO PL/SQL

Para la conexión debemos ingresar el usuario, la
contraseña y la cadena de conexión y podemos
utilizar los siguientes usuarios.

Monografias.com

Monografias.com

La pantalla de bienvenida a SQL Plus indicara lo
siguiente y estaremos listos para trabajar.

Monografias.com

Ejemplo

Conexión como el usuario Scott

Monografias.com

AREAS LÓGICAS Y
ARCHIVOS FISICOS

TABLESPACE

Un Tablespace es una unidad lógica que denota el
espacio de almacenamiento de datos dentro de una base de datos y
que están constituidos por uno o más
Datafiles

Un Tablespace no es un fichero físico en el
disco, simplemente es el nombre que tiene un conjunto de
propiedades de almacenamiento que se aplican a los objetos
(tablas, secuencias, etc.) que se van a crear en la base de datos
bajo el Tablespace indicado (tablas, secuencias,
etc.).

Un objeto en base de datos debe estar almacenado
obligatoriamente dentro de un Tablespace.

Propiedades:

Localización de los ficheros de datos.

Especificación de máximas cuotas de

consumo de disco.

Control de la disponibilidad de los datos (en
línea o fuera de línea).

Backup de datos.

Cuando un objeto se crea dentro de un cierto Tablespace,
este objeto adquiere todas las propiedades antes descritas del
Tablespace utilizado.

Características:

Debe estar asociado a un Datafiles.

Un Tablespace esta asociado a uno o varios Datafiles y
puede tener uno o varios usuarios.

Sintaxis para seleccionar los Tablespace del
sistema.

SELECT * FROM DBA_TABLESPACES;

Monografias.com

Creación de un tablespace

Monografias.com

DATAFILE

Un Datafiles es la representación física
de un Tablespace. Son los "ficheros de datos" donde se almacena
la información físicamente, puede tener cualquier
nombre y extensión (siempre dentro de las limitaciones del
sistema operativo), y puede estar localizado en cualquier
directorio del disco duro, aunque su localización
típica suele ser $ORACLE_HOME/Database.

Un Datafiles tiene un tamaño predefinido en su
creación (por ejemplo 100Mb) y este puede ser alterado en
cualquier momento. Cuando creemos un Datafiles, este
ocupará tanto espacio en disco como hayamos indicado en su
creación, aunque internamente esté vacío.
Oracle hace esto para reservar espacio continuo en disco y evitar
así la fragmentación. Conforme se vayan creando
objetos en ese Tablespace, se irá ocupando el espacio que
creó inicialmente.

Características:

Archivo físico donde se almacenan los
datos.

Es el espacio de memoria concedido al usuario para que
interactué con el SGA.

Un Datafiles esta asociado a un solo
Tablespace.

Se pueden extender automáticamente cuando la BD
necesita espacio.

Sintaxis para seleccionar los DataFile del
sistema.

SQL> SELECT * FROM DBA_DATA_FILE;

Monografias.com

OBJETOS DE LA BASE DE
DATOS PARA DAR SEGURIDAD

USUARIOS

Una cuenta de usuario no es una estructura física
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 usuario SYS posee las tablas del
diccionario de datos; que almacenan información 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.

Características:

Es el medio de conexión entre el usuario y la
base de datos.

Los usuarios son los diferentes usuarios de la Base de
Datos. Cada uno es propietario de sus objetos.

Un usuario puede ser activo es decir que puede
interactuar con la BD o puede ser un usuario inactivo.

Consideraciones para crear un usuario:

El nombre de usuario no debe superar 30
caracteres, no debe tener caracteres especiales y debe
iniciar con una letra.

El usuario puede autentificarse de varias formas por
medio de:

Password

Usuario heredado

Autentificación global. Que puede ser por
password o heredado.

Un Tablespace temporal, donde el usuario crea sus
objetos temporales y hace los sort u ordenamientos.

Un perfil o profile de usuario, que son las
restricciones que puede tener su cuenta (opcional).

Por ejemplo, conectado como el usuario SYSTEM, creamos
un usuario con su clave y vamos a modificar mediante el password
que cuenta con tres estados.

1. ALTA

Sintaxis para crear un usuario

SQL>CREATE USER ( nombre_usuario)

IDENTIFIED BY (contraseña)

DEFAULT TABLESPACE (nombre_tablespace);

Default TAblespace (tablespace asignado al
usuario).

Temporary TAblespace (tablespace temporal asignado al
usuario).

Password expire (permite cambiar la clave).

Account Lock o UnlocK(si no se pone la
instrucción el sistema por defecto lo activa).

Ejemplo:

SQL> CREATE USER inventario

IDENTIFIED BY jessica

DEFAULT TABLESPACE septimo;

2. ACTUALIZAR

Sintaxis para actualizar un usuario

SQL> ALTER USER (nombre_usuario)

IDENTIFIED BY (nueva_contraseña)

ACCOUNT LOCK;

Ejemplo:

SQL> ALTER USER inventario

IDENTIFIED BY jessica1

ACCOUNT LOCK;

3. BAJA

En este
estado es cuando el usuario ya no hace las funciones para la
que fue creado.

Sintaxis para eliminar un usuario

SQL> DROP USER (nombre_usuario);

Ejemplo:

SQL> ALTER USER inventario

PRIVILEGIOS

Los privilegios pueden ser de dos tipos:

1. Privilegios del sistema, como por ejemplo para
crear tablas.

2. Privilegios sobre objetos, como por ejemplo
permiso de select sobre una tabla concreta.

PRIVILEGIOS DEL SISTEMA

Permite al usuario hacer ciertas tareas sobre
la BD, como por ejemplo crear un Tablespace. Estos permisos
son otorgados por el administrador
o por alguien que haya recibido el permiso para administrar ese
tipo de privilegio.

En general los permisos de sistema, permiten ejecutar
comandos del tipo DDL (Data definition Language), como CREATE,
ALTER y DROP o del tipo DML (Data Manipulation
Language.

Privilegio

Descripción

CREATE ANY INDEX

Crear cualquier índice.

CREATE [PUBLIC] SYNONYM

Crear sinónimos
[públicos].

CREATE [ANY] TABLE

Crear tablas. El usuario debe tener cuota en el
espacio de tablas, o ha de tener asignado el privilegio
UNLIMITED TABLESPACE.

CREATE [ANY] VIEW

Crear vistas.

ALTER ANY INDEX

Alterar cualquier índice.

ALTER ANY TABLE

Alterar cualquier tabla

DROP ANY INDEX

Borrar cualquier índice.

DROP ANY SYNONYM

Borrar cualquier sinónimo.

DROP PUBLIC SYNONYM

Borrar sinónimos
públicos.

DROP ANY VIEW

Borrar cualquier vista.

DROP ANY TABLE

Borrar cualquier tabla.

SELECT ANY TABLE

Efectuar selecciones de cualquier tabla o
vista.

INSERT ANY TABLE

Insertar en cualquier tabla o vista.

DELETE ANY TABLE

Borrar filas de cualquier tabla o vista, y
también truncar.

ALTER SESSION

Alterar los parámetros de la
sesión.

CREATE SESSION

Conectarse a la BD.

CREATE PROFILE

Crear perfiles de usuario.

CREATE ROLE

Crear roles.

CREATE ROLLBACK SEGMENT

Creación de segmentos de
rollback.

CREATE TABLESPACE

Crear espacios de tablas.

CREATE USER

Crear usuarios.

ALTER PROFILE

Alterar perfiles existentes.

ALTER ANY ROLE

Alterar cualquier rol.

ALTER ROLLBACK SEGMENT

Alterar segmentos de rollback.

ALTER TABLESPACE

Alterar espacios de tablas.

ALTER USER

Alterar usuarios.

DROP PROFILE

Borrar un perfil existente.

DROP ANY ROLE

Borrar cualquier rol.

DROP ROLLBACK SEGMENT

Borrar un segmento de rollback
existente.

DROP TABLESPACE

Borrar un espacio de tablas.

DROP USER

Borrar un usuario. Añadir CASCADE si el
usuario posee objetos.

ALTER DATABASE

Permite una sentencia ALTER DATABASE.

GRANT ANY PRIVILEGE

Otorgar cualquiera de estos
privilegios.

GRANT ANY ROLE

Otorgar cualquier rol a un usuario.

UNLIMITED TABLESPACE

Puede usar una cantidad de almacenamiento
ilimitada.

DROP PROFILE

Borrar un perfil existente.

Para otorgar varios permisos a la vez, se hace de
la siguiente manera:

Sintaxis para otorgar permisos.

SQL> GRANT CREATE USER, ALTER USER, DROP USER TO
(nombre_usurio);

Ejemplo:

SQL> GRANT CONNECT, RESOURCE TO
inventario;

Sintaxis para utilizar el privilegio Grant.

GRANT [privilegios_de_sistema | roles] TO [usuarios |
roles |PUBLIC]

{WITH ADMIN OPTION};

WITH ADMIN OPTION permite que el privilegio/rol que se
ha concedido, pueda ser concedido a otros usuarios por el usuario
al que se le está asignando.

Instrucción REVOKE:

REVOKE [privilegios_de_sistema | roles] FROM [usuarios |
roles

|PUBLIC];

Ejemplo:

SQL> REVOKE CONNECT, RESOURCE FROM
inventario;

PRIVILEGIOS SOBRE LOS OBJETOS

Este tipo de privilegios le permite al usuario hacer
cierta
acción en un objeto de la base de datos, como puede
ser una tabla, vista, función
etc. Si a un usuario no se le dan estos privilegios solo
podrías acceder a sus propios objetos. Y estos tipos de
privilegios los da el dueño del objeto, el administrador o
alguien que haya recibido este permiso explícitamente. Los
privilegios sobre objetos consienten que un objeto (creado por un
usuario) estos privilegios puede ser de SELECT, de UPDATE, de
DELETE, de INSERT.

Privilegio

Descripción

SELECT

Puede consultar a un objeto.

INSERT

Puede insertar filas en una tabla o vista. Puede
especificarse las columnas donde se permite insertar dentro
de la tabla o vista.

UPDATE

Puede actualizar filas en una tabla o vista. Puede
especificarse las columnas donde se permite actualizar
dentro de la tabla o vista.

DELETE

Puede borrar filas dentro de la tabla o
vista.

ALTER

Puede alterar la tabla.

INDEX

Puede crear índices de una
tabla.

REFERENCES

Puede crear claves ajenas que referencie a esta
tabla.

EXECUTE

Puede ejecutar un procedimiento,
paquete o función.

READ

Permite leer archivos asociados con objetos BFILE
en el directorio del sistema

La sintaxis del privilegio Grant es:

GRANT [ALL {PRIVILEGES} | SELECT | INSERT | UPDATE |
DELETE]

ON objeto TO [usuario | rol | PUBLIC]

{WITH ADMIN OPTION};

SQL> GRANT SELECT, INSERT, UPDATE, ON
(esquema_objeto) TO (usuario);

Adicionalmente, podemos restringir los DML a una columna
de la tabla mencionada. Si quisiéramos que este
usuario pueda dar permisos sobre la tabla  a otros
usuarios, utilizamos la cláusula WITH GRANT OPTION.
Ejemplo:

SQL> GRANT SELECT, INSERT, UPDATE, DELETE
ON (esquema_objeto) TO (usuario) WITH GRANT
OPTION;

De igual manera para eliminar privilegios sobre objetos
se tiene la instrucción

REVOKE:

Si sintaxis es:

REVOKE [ALL {PRIVILEGES} | SELECT | INSERT | UPDATE |
DELETE]

ON objeto FROM [usuario | rol | PUBLIC]

{WITH ADMIN OPTION};

SQL>REVOKE SELECT, INSERT, UPDATE, DELETE
ON (esquema_objeto) TO (usuario) WITH GRANT
OPTION;

ROLES

Los roles son conjuntos
de privilegios. Un rol puede tener garantizados una serie de
privilegios tanto del sistema como sobre objetos, y a la vez
puede tener garantizado otros roles.

Por default cuando creamos un usuario desde el
Enterprise Manager se le asigna el permiso de Connect, lo
que permite al usuario conectarse a la BD y crear sus
propios objetos en su propio esquema. De otra manera, debemos
asignarlos en forma manual.

Sintaxis para crear un Rol y asignarlo a un
usuario:

SQL> CREATE ROLE appl_dba;

Opcionalmente, se puede asignar una clave al
Rol:

SQL> SET ROLE appl_dba IDENTIFIED BY
app_pwd;

Para asignar este Rol a un usuario:

SQL> GRANT appl_dba TO jperez;

Otro uso común de los roles es asignarles
privilegios a nivel de Objetos, por ejemplo en una Tabla de
Facturas en donde sólo queremos que se puedan hacer Querys
e Inserts:

SQL> CREATE ROLE consulta;

SQL> GRANT SELECT, INSERT on analista.factura TO
consulta;

PERFILES

Los perfiles permiten definir limitaciones de recursos.
Por ejemplo podemos definir un perfil que limite el número
de sesiones abiertas concurrentemente por un usuario cualquiera,
y posteriormente aplicar este perfil a uno o más usuarios
concretos.

ESQUEMA BASICO DE SEGURIDAD

Monografias.com

EJERCICIOS PRACTICOS

SHOW USER.- saber con que usuario se esta
trabajando

SQL> SHOW USER

el usuario es "SYSTEM"

Creación de usuario

SQL> CREATE USER US3

2 IDENTIFIED BY PUS3

3 PASSWORD EXPIRE

4 ACCOUNT LOCK;

Usuario creado.

Conceder privilegios

SQL> GRANT CREATE SESSION TO US3;

Concesión terminada con
éxito.

Realizar una conexión con el usuario
System.

SQL> CONNECT SYSTEM/MASTER @SEPTIMO;

Conectado.

Modificar el usuario

SQL> ALTER USER US3

2 ACCOUNT UNLOCK;

Usuario modificado.

Modificar la clave

SQL> ALTER USER US3

2 IDENTIFIED BY JESSICA;

Usuario modificado

Realizar una conexión con el usuario
creado.

SQL> CONNECT US3/JESSICA @SEPTIMO;

Conectado.

Ver los privilegios que tiene el sistema respecto a toda
la base.

SQL> SELECT * FROM SCOTT.EMP;

SELECT * FROM SCOTT.EMP

*

ERROR en línea 1:

ORA-00942: la tabla o vista no existe

SQL> CREATE TABLE A (COD NUMBER);

CREATE TABLE A (COD NUMBER)

*

ERROR en línea 1:

ORA-01031: privilegios insuficientes

Nota: El usuario US3 no tiene el privilegio de
seleccionar y crear tablas para darle estos privilegios se debe
conectar con el administrador para que este le de estos
privilegios, en este caso el administrador es System.

Conexión con el administrador

SQL> CONNECT SYSTEM/MASTER @SEPTIMO

Conectado.

Concediendo privilegios al US3

SQL> GRANT CREATE TABLE, SELECT ANY TABLE TO
US3;

Concesión terminada con éxito

Conexión con el usuario US3

SQL> CONNECT US3/JESSICA @SEPTIMO

Conectado.

SQL> SELECT * FROM SCOTT.EMP;

Monografias.com

Privilegio para poder crear una tabla por parte del
administrador.

SQL> GRANT CONNECT, RESOURCE TO US3;

Concesión terminada con éxito.

SQL> CONNECT US3/JESSICA @SEPTIMO

Conectado.

Creación de una tabla

SQL> CREATE TABLE EJERUS3

2 (COD NUMBER (5),

3 NOM VARCHAR (20)

4);

Tabla creada.

Insertar datos en la tabla

SQL> INSERT INTO EJERUS3 VALUES
(1,'JESSICA');

1 fila creada.

Nota: Commit permite visualizar los registros
al hacer un Select de la tabla

SQL> COMMIT;

Validación terminada.

SQL> SELECT * FROM EJERUS3;

COD NOM

——— ——————–

1 JESSICA

SQL> INSERT INTO EJERUS3 VALUES
(2,'PATRICIO');

1 fila creada.

SQL> SELECT * FROM EJERUS3;

COD NOM

——— ——————–

1 JESSICA

2 PATRICIO

SQL> SELECT * FROM US2.EJERUS2;

COD NOM

——— ——————–

1 DIEGO

Privilegios que no tiene el US3 sobre otros
usuarios

SQL> SELECT * FROM US4.EJERUS4;

SELECT * FROM US4.EJERUS4

*

ERROR en línea 1:

ORA-00942: la tabla o vista no existe

SQL> INSERT INTO US2.EJERUS2 VALUES
(3,'JESSICA');

INSERT INTO US2.EJERUS2 VALUES (3,'JESSICA')

*

ERROR en línea 1:

ORA-01031: privilegios insuficientes

Privilegios que le concedieron otros usuarios al
US3

SQL> SELECT * FROM US5.EJERUS5;

COD NOM

——— ——————–

1 daniel

SQL> SELECT * FROM US6.EJERUS6;

COD NOM

——— ——————–

1 DIEGOS

SQL> INSERT INTO US2.EJERUS2 VALUES
(3,'JESSICA');

1 fila creada.

SQL> COMMIT;

Validación terminada.

SQL> INSERT INTO US2.EJERUS2 VALUES
(7,'PATRICIO');

1 fila creada.

SQL> COMMIT;

Validación terminada.

Privilegios que concede el US3 a otros
usuarios

SQL> GRANT INSERT ON EJERUS3 TO
US1,US2,US4,US5,US6;

Concesión terminada con éxito.

SQL> INSERT INTO US6.EJERUS6 VALUES
(11,'LUKAS');

1 fila creada.

SQL> COMMIT;

Validación terminada.

No tiene el privilegio de borrar la información
de otros usuarios

SQL> DELETE FROM US2.EJERUS2;

DELETE FROM US2.EJERUS2

*

ERROR en línea 1:

ORA-01031: privilegios insuficientes

Selección de los tablespace

 

SQL> SELECT TABLESPACE_NAME FROM
DBA_TABLESPACES;

TABLESPACE_NAME

——————————

SYSTEM

UNDOTBS1

TEMP

CWMLITE

DRSYS

EXAMPLE

INDX

ODM

TOOLS

USERS

XDB

SEPTIMO2

SEPTIMO3

SEPTIMO5

SEPTIMO7

SEPTIMO1

SEPTIMO9

OTRO3

OTRO5

OTRO

OTRO7

TABLESPACE_NAME

——————————

OTRO2

SEPTIMO

ORTO

24 filas seleccionadas.

Ejercicio 2

Creación de usuarios tablas conceder
privilegios.

SQL> CREATE USER INVENTARIOUS3

2 IDENTIFIED BY PATRICIO

3 DEFAULT TABLESPACE SEPTIMO2

4 ACCOUNT UNLOCK;

Usuario creado.

SQL> GRANT CONNECT,RESOURCE TO
INVENTARIOUS3;

Concesión terminada con éxito.

SQL> GRANT CONNECT,RESOURCE TO
INVENTARIOUS3

2 WITH ADMIN OPTION;

Concesión terminada con éxito.

SQL> SHOW USER

el usuario es "SYSTEM"

SQL> CONNECT INVENTARIOUS3/PATRICIO
@SEPTIMO

Conectado.

Creación de tablas

Proveedores

Productos

Clientes

Categorías

Compras

Ventas

Detalle compras

Detalle ventas

Proveedores

Monografias.com

Clientes

Monografias.com

Categorías

Monografias.com

Productos

Monografias.com

Compras

Monografias.com

Ventas

Monografias.com

Detalle compras

Monografias.com

Detalle ventas

Monografias.com

Seleccionar todas las tablas

Monografias.com

SECUENCIAS

A menudo es preciso generar números en forma
ordenada para implementar, por ejemplo, una clave primaria en una
tabla o garantizar que esos números no se repiten y van
siempre en un orden predefinido por el desarrollador (no
necesariamente secuenciales).

Oracle implementa los objetos denominadas secuencias,
que permiten hacer lo anterior de manera transparente para el
usuario.

Cuando se define una secuencia se deben indicar, como
mínimo, el
valor de partida (valor mínimo) y el
incremento.

Es un objeto que permite generar
valores únicos. Se emplean para obtener las claves
primarias de las tablas.

Objeto que genera números en forma
continua.

La sintaxis de creación de una
secuencia:

CREATE SEQUENCE nombre_secuencia

DISPARADORES

Son procedimientos que son ejecutados cuando se produce
un determinado evento en la BD. Se pueden utilizar para mejorar y
reforzar la integridad y la seguridad de la BD.

Son segmentos de código PL/SQL que se ejecutan
cuando se producen operaciones
de DML. Se definen a nivel de tabla y se clasifican según
tres parámetros:

Before/After, si se ejecuta antes o después de la
sentencia.

Insert/Update/Delete, según se ejecute una de
estas sentencias.

Each row/Statement dependiendo si se ejecuta para cada
fila afectada en la sentencia, o bien una sola vez por sentencia
con
independencia de las filas de la tabla afectadas.

EJERCICIOS

Creación de una secuencia y un disparador para
cada tabla e insertar datos en la tabla.

Clientes

Monografias.com

Monografias.com

Monografias.com

Categorías

Monografias.com

Monografias.com

Productos

Monografias.com

Monografias.com

Proveedores

Monografias.com

Monografias.com

Compras

Monografias.com

Monografias.com

Detalle Compras

Monografias.com

Ventas

Monografias.com

DECLARACIONES Y
TIPOS
DE DATOS DE PL/SQL

DECLARACIONES

PL/SQL. Es un lenguaje procedimental que amplía
la funcionalidad de SQL añadiendo estructuras habituales
en otros lenguajes de programación como:

Variables y tipos (predefinidos y definidos por el
usuario)

Estructuras de control (bucles y condiciones
IF-THEN-ELSE)

Procedimientos y funciones.

Tipos de objetos y métodos

Creación de programas PL/SQL.

Podemos crear programas con cualquier editor y
ejecutarlos desde el prompt de SQL con STAR o @. Los ficheros
creados serán de texto
y tendrán la extensión SQL.

Para que un fichero se ejecute correctamente debe tener
en su última línea el símbolo /.

Características de PL/SQL

La unidad básica en PL/SQL es el bloque. Todos
los programas de PL/SQL están compuestos por bloques que
pueden estar anidados.

Estructura de un Bloque:

DECLARE

/*Aquí se declaran las
variables, tipos cursores y subprogramas locales*/

BEGIN

/* Aquí se incluyen las órdenes SQL y
PL/SQL, es obligatoria y debe contener, al menos una orden
ejecutable */

END;

EXCEPTION

/* Sección para el manejo de excepciones
(errores)*/

END;

Creación de bloques

Bloques anónimos: Se construyen de forma
dinámica y se suelen ejecutar una sola vez.

Bloques nominados: Igual que los anónimos pero
con una etiqueta que les da nombre.

Subprogramas: Procedimientos, paquetes y funciones,
almacenados en la BD y que se ejecutan en múltiples
ocasiones. Los subprogramas se ejecutarán mediante una
llamada.

Disparadores ("Triggers"): Bloques nominados que se
almacenan en la BD y se ejecutan ante algún
suceso.

Para dar nombre a un bloque se le pone una etiqueta
antes del DECLARE . <<etiqueta>>

Para transformar un bloque en un procedimiento
almacenado reemplazamos la palabra clave

DECLARE por CREATE OR REPLACE PROCEDURE
nombre_procedimiento AS

Bases de datos.

DECLARE

v_ContBucle BINARY_INTEGER := 1;

BEGIN

LOOP

INSERT INTO temp_table (num_col)

VALUES (v_ContBucle);

v_ContBucle := v_ContBucler + 1;

EXIT WHEN v_ContBucle > 50;

END LOOP;

END;

TIPOS DE DATOS DE ORACLE

Monografias.com

NUMBER:(escala,pesición)

CHAR:(tamaño)

VARCHAR2:(tamaño)

DATE: fecha

BINARY_INTEGER: Se usa para almacenar valores que
sólo van a ser utilizados en cálculos y no se van a
almacenar en la BD.

BOOLEAN: Pueden contener
los valores TRUE,FALSE o NULL.

ROWID: Almacena las direcciones físicas de los
registros de una tabla y son utilizados para búsquedas de
alto rendimiento.

Para mostrar un valor cadena podemos
utilizar:

DBMS_OUTPUT.PUT_LINE (cadena)

En caso de que el valor a mostrar no sea una cadena
puedes utilizar la función TO_CHAR() para
transformarlo.

El paquete DBMS_OUTPUT simplemente implementa una cola,
si queremos que los datos aparezcan por pantalla tenemos que
activar la opción SERVEROUTPUT mediante la orden de
SQL*Plus.

Ejemplos de declaraciones de bloques

Suma de dos números

Monografias.com

Bucle simple LOOP

Monografias.com

Bucle del while

Monografias.com

Bucle del for

Monografias.com

Bucle del if- then-else

Monografias.com

Ejercicio 1

Creación de una nueva tabla e insertar datos y
calcular cuanto es su sueldo.

Monografias.com

Monografias.com

Monografias.com

Ejercicio 2

Al ejercicio anterior se le va a modificar la tabla
agregándole nuevos campos e insertando nuevos registros y
además se debe calcular cual es el total que va a recibir
con lo descuentos y el bono que tiene.

Monografias.com

Monografias.com

Monografias.com

Monografias.com

Monografias.com

Otra forma para realizar el mismo ejercicio sin utilizar
el bloque de declaraciones de las variables.

Monografias.com

GLOSARIO DE
TERMINOS

La siguiente es una lista de los términos
más utilizados cuando se trabaja con bases de datos
Oracle. Las definiciones ayudarán a comprender con mayor
claridad algunos conceptos que se mencionan a lo largo de los
diferentes capítulos de este manual.

Administrador de Base de Datos

El administrador o DBA es el principal responsable de la
operación, configuración y rendimiento de una base
de datos. Su principal tarea consiste en resguardar la integridad
de los datos almacenados en la base, proveyendo para esto
mecanismos de respaldo, efectuando monitorizaciones
periódicas al sistema, implementando medidas de seguridad,
etc.

Bloque

Un bloque es la unidad más pequeña de
almacenamiento en una base de datos Oracle. El tamaño
mínimo es de 2 KB y el máximo no debiera superar
los 16 KB.

? Buffer

Este término se refiere a una cantidad de memoria
utilizada para almacenar información. Un buffer
comúnmente almacena datos que están a punto de ser
usados o se acaban de utilizar recientemente. En la
mayoría de los casos son copias exactas de datos que se
encuentran almacenados en el disco y se mantienen en memoria con
el fin de lograr un acceso más rápido y ayudar de
esa manera a mejorar el rendimiento de un sistema.

En Oracle, los buffers del SGA almacenan los bloques de
datos usados más recientemente. El conjunto de buffers que
guardan estos bloques reciben el nombre de Database buffer cache;
y aquellos que se utilizan para guardar temporalmente las
entradas del tipo redo log hasta que se escriben en el disco, se
conocen como redo log buffers.

? Caché

Es un área de almacenamiento implementada en la
memoria RAM
del
computador que permite accesos más rápidos a la
información ya que es mucho más veloz que la
memoria. En Oracle, los buffers de bloques y el área
shared pool son consideradas áreas caché. Estas
guardan los datos que se utilizan con mayor frecuencia y los
mantienen disponibles por si son requeridos en los procesos de
consulta hasta que nuevos datos más frecuentemente usados
los reemplazan.

? Checkpoint

Un checkpoint es una operación que fuerza
a que todos los cambios registrados en bloques de datos en
memoria, sean escritos en el disco.

? Clean buffer

Un buffer de este tipo es aquel que no ha sido
modificado y que por lo tanto el proceso DBWR no utilizará
para confirmar los cambios en el disco (porque no ha sufrido
cambios).

DBMS

El database management system o DBMS corresponde al
software y
grupo de herramientas
que permiten manejar la base de datos. Un RDBMS es un DBMS
relacional, es decir, cuya
naturaleza es la formación de relaciones al interior
del mismo.

DDL (comandos DDL)

Los comandos DDL (data definition language) son
utilizados en la creación y modificación de objetos
del esquema. Proveen la habilidad de crear, alterar e incluso
eliminar objetos de un esquema, otorgar y revocar privilegios y
roles a los usuarios, establecer opciones de auditoria e incluso
agregar comentarios al diccionario de datos del sistema. Estos
comandos están estrechamente relacionados con las labores
de administración de la base de datos.

Diccionario de Datos

El diccionario de datos es un grupo de tablas de Oracle
que se utilizan para almacenar información sobre el resto
de las tablas, índices, clusters
y otros objetos de la base de datos.

DML (comandos DML)

Los comandos DML (data manipulation language) son menos
poderosos que los comandos DDL en cuanto a administración
se refiere, de hecho, implementan modificaciones sobre la
información que se guarda en los objetos de una base de
datos. Estas sentencias son del tipo DELETE, INSERT, SELECT y
UPDATE, principalmente.

Esquema

Un esquema es una colección de objetos asociados
dentro de una base de datos.

Función

Una función es un grupo de sentencias 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 última
condición. Implementando funciones en el servidor de base
de datos se reduce el tráfico de
comunicaciones en la red, ya que sólo se envían
a la función los parámetros de entrada y
ésta sólo devuelve el valor al final de todo el
proceso, el que es ejecutado en la misma máquina donde
reside la base de datos mejorando así el rendimiento
general del sistema.

Procedimiento

Un Procedimiento almacenado es un grupo de sentencias
SQL o PL/SQL que implementan un programa que se ejecuta en el
servidor de base de datos, pero que a diferencia de las
funciones, no devuelve un valor. Al igual que las funciones su
implementación permite reducir el tráfico en la
red, potenciando el rendimiento del sistema.

System Global Area (SGA)

El SGA es un área compartida de memoria que
utiliza Oracle para guardar información de control en una
instancia. Se asigna un espacio a esta área en cuando la
instancia se levanta (startup) y se elimina cuando ésta se
baja (shutdown). Cada instancia de Oracle maneja su propia SGA y
guarda información de los buffers y la shared
pool.

Transacción

Una transacción es una unidad lógica de
trabajo que consiste de una o más sentencias SQL, que
pueden finalizar con un commit o un rollback. Las métricas
de rendimiento utilizan comúnmente las unidades
"transacciones por segundo" o "transacciones por
minuto".

Trigger

Un trigger es un mecanismo que permite escribir
procedimientos que son ejecutados en forma automática (sin
una orden explícita del usuario o programador) cuando
ocurre un evento de INSERT, UPDATE o DELTE sobre una tabla o
vista. Generalmente se utilizan los triggers para forzar las
restricciones de integridad entre las tablas o automatizar alguna
otra función específica

 

 

 

Autor:

Jessica Vargas

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter