Sunteți pe pagina 1din 10

UNSCH-

Escuela de Ing. De Sistemas

I. OBJETIVOS
Administracin de usuarios en Oracle 11g
Conocer los Tipos de privilegios

II. MARCO TERICO


Administracin de usuarios en Oracle
1. CREACIN DE USUARIOS
Una de las ms bsicas tareas de un administrador de base de
datos es identificar los usuarios. Cada usuario que conecta en la
base de datos debe de tener una cuenta.
Para crear un usuario utilizamos la sentencia CREATE USER.
Cuando se crea una cuenta como mnimo tienes que asignar un
nico nombre (username) y una contrasea para poder
autenticarse.
Para cambiar alguno de los atributos que se le ha aadido al
usuario creado se utiliza la sentencia ALTER USER.
Para crear un usuario especificando las opciones adecuadas sin
considerar los valores por defecto, se debera respetar la
siguiente sintaxis:
CREATE USER nombre_usuario
IDENTIFIED BY password
[DEFAULT TABLESPACE nombre_tablespace]
[TEMPORARY TABLESPACE nombre_tablespace]
[QUOTA [nmero, K o M o UNLIMITED] ON nombre_tablespace1]
[, QUOTA [nmero, K o M o UNLIMITED] ON nombre_tablespace2]
[PROFILE nombre_perfil]
[PASSWORD EXPIRE]
[ACCOUNT LOCK o ACCOUNT UNLOCK]

Modelamiento de Base de datos

Ing. Elvira Fernndez

UNSCH-

Escuela de Ing. De Sistemas

Donde los parmetros corresponden a lo siguiente:


Username: Nombre del usuario que se est creando.
Password: Clave de inicio que se le otorga al usuario.
Luego l podr reemplazarla por la que desee.
Default Tablespace: Es el tablespace por defecto al que
se conectar el usuario cada vez que ingrese a la base de
datos y donde guardar todos sus objetos. Si no se
especifica, entonces se conectar al tablespace system.
Temporary Tablespace: Es el tablespace temporal que
utilizar el usuario en todas sus conexiones.
Quota: Cuota de disco (en Kilobytes o Megabytes) que le
es otorgada al usuario en cada uno de los tablespaces a
los que puede acceder. Si se indica "UNLIMITED"
entonces el usuario podr utilizar todo el espacio que
quiera dentro del tablespace designado.
Profile: Es el nombre del perfil que ha sido asignado a
este usuario.
Password expire: Establece que el password del usuario
expirar en forma automtica y, por lo tanto, deber
cambiarlo al iniciar su prxima sesin.
Account lock (o unlock): Permite establecer si la
cuenta debe permanecer bloqueada o no inmediatamente
despus de crearla.
2. AUTENTICACIN ORACLE
Cuando uno se conecta con una instancia de una base de datos
la cuenta de usuario debe de estar autenticada.
AUTENTICACIN MEDIANTE PASSWORD
Cuando un usuario se conecta con una base de datos verifica
que este usuario y la contrasea introducida almacenada en la
base de datos, sea correcta. Las contraseas se guardan
encriptados en la base de datos (en el data dictionary).
3. MODIFICACIN DE USUARIOS
La forma de modificar usuarios a travs de comandos es
utilizando la opcin Alter User, cuya sintaxis completa es muy
similar a la de creacin de usuarios. Todos los parmetros que

Modelamiento de Base de datos

Ing. Elvira Fernndez

UNSCH-

Escuela de Ing. De Sistemas

fueron establecidos en el instante de la creacin pueden ahora


Modificarse con esta instruccin:
ALTER USER nombre_usuario
IDENTIFIED BY password
[DEFAULT TABLESPACE nombre_tablespace]
[TEMPORARY TABLESPACE nombre_tablespace]
[QUOTA
[nmero,
K
o
M
o
UNLIMITED]
nombre_tablespace1]
[,
QUOTA
[nmero,
K
o
M
o
UNLIMITED]
nombre_tablespace2]
[PROFILE nombre_perfil]
[PASSWORD EXPIRE]
[ACCOUNT LOCK o ACCOUNT UNLOCK]

ON
ON

Es tan poderosa que da la sensacin de estar creando al


usuario de nuevo, pero no es as porque todos los objetos que
estuviera creados bajo su esquema siguen permaneciendo all.
4. ELIMINACIN DE USUARIOS
Para eliminar un usuario se ejecuta la siguiente instruccin:
DROP USER nombre_usuario [CASCADE]
Y la opcin Cascade se hace obligatoria cuando el usuario
posee objetos en su esquema (tablas, vistas, etc.) y debemos
borrarlos junto con l. Sin usar esta opcin no podramos
eliminar un usuario con objetos.
5. OTORGANDO PRIVILEGIOS (GRANTING)
A un usuario podemos otorgarle una serie de privilegios. Para
otorgar privilegios utilizamos la sentencia GRANT, para quitar
un privilegio o permiso a un usuario utilizamos la sentencia
REVOKE.
Un privilegio permite a un usuario acceder a ciertos objetos o
realizar ciertas acciones:
- Privilegios del Sistema (System privileges ) a permisos
sobre niveles de la base de datos como pueden ser conexin

Modelamiento de Base de datos

Ing. Elvira Fernndez

UNSCH-

Escuela de Ing. De Sistemas

a la base de datos, ejemplo crear un Tablespace, creacin de


usuarios, limitar cuentas.
Estos permisos son otorgados por el administrador o por
alguien que haya recibido el permiso para administrar ese tipo
de privilegio. Existen como 100 tipos distintos de privilegios de
este tipo.
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). Estos privilegios de sistema pueden ser vistos
consultando la vista: SYSTEM_PRIVILEGE_MAP
Ejemplo:
CONNECT, CREATE SESSION, CREATE TABLE, CREATE USER,
CREATE VIEW, CREATE SYNONYM, CREATE SEQUENCE, CREATE
DATABASE LINK, CREATE CLUSTER, ALTER SESSION, RESOURCE,
CREATE PROCEDURE, CREATE SEQUENCE, CREATE TRIGGER,
CREATE TYPE, CREATE CLUSTER, CREATE INDEXTYPE, CREATE
OPERATOR SCHEDULER, CREATE ANY JOB, CREATE JOB, etc.
Algunos Privilegios del Sistema ms utilizados
|| CONNECT || Todos los permisos necesarios para iniciar
una sesin en Oracle
|| RESOURCE || Todos los permisos necesarios para tener
recursos para la creacin de objetos
|| DBA || Todos los permisos para un administrador de base
de datos (DBA)
|| EXP_FULL_DATABASE || Permisos para poder exportar
toda la base de datos.
|| IMP_FULL_DATABASE || Permisos para poder importar
toda la base de datos.
Podemos decir que un usuario normal, debe tener al menos
los permisos de CONNECT (para conectarse) y de
RESOURCE (para poder crear objetos).
DBA: Tiene la mayora de los privilegios, no es recomendable
asignarlo a usuarios que no son administradores.
- Privilegios sobre Objetos
Este tipo de permiso le permite al usuario realizar ciertas
acciones en objetos de la BD, como una Tabla, Vista, un
Modelamiento de Base de datos

Ing. Elvira Fernndez

UNSCH-

Escuela de Ing. De Sistemas


Procedure o Funcin, etc. Si a un usuario no se le dan
estos permisos slo puede acceder a sus propios objetos
(vase USER_OBJECTS). Este tipo de permisos los da el
owner o dueo del objeto, el administrador o alguien que
haya recibido este permiso explcitamente (con Grant
Option).

Por ejemplo, para otorgar permisos a una tabla Ventas


para un usuario particular:

SQL>
GRANT
SELECT,INSERT,UPDATE,
ON
analista.venta TO jperez;

Adicionalmente, podemos restringir los DML a una


columna de la tabla mencionada. Si quisieramos que este
usuario pueda dar permisos sobre la tabla Factura a otros
usuarios, utilizamos la clusula WITH GRANT OPTION.
Ejemplo:

SQL> GRANT SELECT,INSERT,UPDATE,DELETE ON


venta TO mgarcia WITH GRANT OPTION;
-Privilegios sobre Roles (Role privileges ) a muchos permisos
son otorgados mediante roles agrupando un conjunto de
privilegios.
6. Asignar cuotas a Usuarios
Por defecto ningun usuario tiene cuota en los Tablespaces y se tienen
tres opciones para poder proveer a un usuario de una quota:

Sin limite, que permite al usuario usar todo el espacio disponible


de un Tablespace.

Por medio de un valor, que puede ser en kilobytes o megabytes


que el usuario puede usar. Este valor puede ser mayor o nenor
que el tamao del Tablespace asignado a l.

Por medio del privilegio UNLIMITED TABLESPACE, se tiene


prioridad sobre cualquier cuota dada en un Tablespace por lo
que tienen disponibilidad de todo el espacio.

Modelamiento de Base de datos

Ing. Elvira Fernndez

UNSCH-

Escuela de Ing. De Sistemas

III. DESARROLLO:

1. CREACIN DE USUARIOS
EJEMPLO 01: conectarse con la herramienta SQL PLUS, y crear un
usuario llamado juancito y agregarle una contrasea juancho
SQL > CREATE USER juancito IDENTIFIED BY juancho;
En este caso juancho es la contrasea de juancito que ser
guardada encriptada en la base de datos.

Mostrar el usuario.
SQL>SHOW USER;
EJERCICIO 01: Crear un usuario(nombre del alumno)
cuya contrasea es su primer apellido.

EJERCICIO 02: conectarse al sql plus, con el nuevo


usuario creado, que sucede, explique?

2. ASIGNACIONES A LOS USUARIOS


ASIGNACIN DE UN USUARIO A UN TABLESPACE (
DEFAULT TABLESPACE )
EJEMPLO 02: Mediante esta sentencia creamos un nuevo usuario user01 y
luego asignamos a este usuario a un tablespace, este ser su tablespace por
defecto cuando creamos un usuario.
SQL > CREATE USER USER01 IDENTIFIED BY 123456
DEFAULT TABLESPACE

Modelamiento de Base de datos

TS_SISTEMAS;

Ing. Elvira Fernndez

UNSCH-

Escuela de Ing. De Sistemas

Ojo: para asignar user01 al tablespaces TS_SISTEMAS, ste ya debi haber


sido creado anteriormente.
EJERCICIO 02: Crear un tablespace llamado TS_SISTEMAS,
asignar un archivo de datos llamado miData con un tamao
de 70m, guardarlo en la carpeta MiLabBD .
Sintaxis corta tablespace
CREATE TABLESPACE Nombre
DataFile ruta y archivo de datos
Size tamao archivo de datos ;

3. MODIFICAR USUARIO
Mediante esta sentencia, en caso de tener creado ya el usuario
le asignamos un tablespace.
SQL
>
ALTER
TS_SISTEMAS;

USER

juancito

DEFAULT

TABLESPACE

EJERCICIO 03:
Crear un tablespace ts_desarrollo, asignarle un archivo
de datos dataDesarrollo con un tamao inicial de 10m,
hasta tamao mximo de 100m y que se incremente de
50k en 50k hasta alcanzar su mximo tamao.
Sintaxis corta tablespace
CREATE TABLESPACE Nombre
DataFile ruta y archivo de datos
Size tamao archivo de datos
AUTOEXTEND ON NEXT incremento_tamao MAXSIZE tamao final;

Crear el tablespace ts_temporal que tiene asignado un archivo


temporal llamado datoTemp de 20m.
Sintaxis corta tablespace temporal
CREATE TEMPORARY TABLESPACE Nombre
tempfile ruta y archivo temporal
Size tamao archivo temporal ;

Modelamiento de Base de datos

Ing. Elvira Fernndez

UNSCH-

Escuela de Ing. De Sistemas

Luego Modifique el usuario (nombre alumno) para asignarle el


tablespace ts_desarrollo y un tablespace temporal llamado
ts_temporal.

4. OTROGAR PRIVILEGIOS
Otorgar privilegios necesarios para el usuario con el fin que pueda efectuar la
conexin.
SQL>GRANT nombre_privilegio TO nombre_usuario;
EJEMPLO 03: Otorgar privilegios al usuario juancito con el fin que pueda
efectuar la conexin.
SQL>GRANT CONNECT TO juancito;
EJERCICIO 04: probar la conexin, conectarse al sql plus, e
ingresar con el usuario juancito y contrasea juancho, que
sucede, explique?

EJERCICIO 05: Modificar la contrasea del usuario juancito


por 123456 .

5. REALIZAR LA CONEXIN
Conctese con una cuenta que tenga los privilegios suficientes para
crear tablespace y nuevos usuarios.
SQL>CONNECT nombre_usuario/contrasea@cadena_conexion;
EJEMPLO 04: Establecer conexin con el usuario system
SQL>CONNECT system/123456@orcl;
Otras formas:
Modelamiento de Base de datos

Ing. Elvira Fernndez

UNSCH-

Escuela de Ing. De Sistemas

SQL>CONNECT system/123456;
SQL>CONNECT system;
EJERCICIO 06: otorgar al usuario (nombre alumno) el
permiso de crear otros usuarios.

EJERCICIO 07:
Que sucede,
el usuario cuenta con los privilegios
suficientes para hacerlo?

EJERCICIO
08:
conectarse
como
usuario(nombre
alumno) y crear otro usuario llamado userPrueba Y
CONTRASEA 123456.

EJERCICIO 09: Asignar el privilegio de dba al usuario


juancito y conectarse juancito para eliminar al usuario
userPrueba.

EJERCICIO 10: quitar el privilegio de dba al usuario


juancito.
REVOKE DBA FROM nombre_usuario;

Ejemplo: varios permisos a la vez:


GRANT

CONNECT,

RESOURCE

TO

user01,

JUANCITO;

EJERCICIO 11: quitar el privilegio de dba al usuario


juancito.

Modelamiento de Base de datos

Ing. Elvira Fernndez

UNSCH-

Escuela de Ing. De Sistemas

EJERCICIO 12: probar la conexin y conectarse con el


usuario juancito e intente eliminar al usuario(nombre
alumno), que sucede, explique?

EJEMPLO 05: Modificar al usuario juancito para bloquear su cuenta.


Luego intente conectarse, que sucede?
SQL > ALTER USER juancito ACCOUNT LOCK ;

EJERCICIO 13: Establecer conexin con el usuario scott,


que sucede?

EJERCICIO 14: realice los pasos necesarios para poder


establecer la conexin con el usuario Scott.

6. ASIGNAR CUOTAS A USUARIOS


SINTAXIS
QUOTA

{ENTERO

{K

M}

UNLIMITED

ON

ESPACIO_TABLA]

QUOTA= Asigna un espacio en megabites o kilobites en el tablespace asignado. Si


no se especifica esta clusula, el usuario no tiene cuota asignada y no podr crear
objetos en el tablespace. Para tener espacio y acceso ilimitado a un tablespace es:

GRANT UNLIMITED TABLESPACE NOMBRE_TABLESPACE;

EJEMPLO 06: Modificar al usuario juancito para asignarle una cuota de


espacio ilimitado al tablespace ts_sistemas
Alter user juancito quota unlimited on ts_sistemas

Modelamiento de Base de datos

10

Ing. Elvira Fernndez

S-ar putea să vă placă și