Sie sind auf Seite 1von 11

GUIA DE ORACLE – CREACION DE USUARIOS Y ROLES

Catedra: Bases de datos


NIVELES DE ROLES A UTILIZAR: CONNECT, RESOURCE Y DBA

Se nos dice que un rol, es asignado por default a un usuario. Un rol, puede ser asegurado de
manera adicional, que, por default, no trae seguridad alguna.

Entonces, partiendo de la teoría, un rol puede ser creado con la siguiente seguridad:

* Ninguna (Default)

* Password

* External

Connect: usuario con rol connect tiene privilegios de conexión

Resource: usuario con rol resource posee privilegios de creación, aquellos que necesiten crear
segmentos necesitaran el rol RESOURCE.

DBA: Un usuario con el rol DBA tiene derecho para ver y manejar todos los datos del BD.

Practica:
Ingresamos al CMD y digitamos el comando sqlplus y luego ejecutamos el usuario system y la
password de la instalación de oracle

Si nos muestra el error es porque debemos iniciar los servicios de Oracle

Presionamos: CTRL+R

Y luego escribimos: services.msc


GUIA DE ORACLE – CREACION DE USUARIOS Y ROLES

Presionamos ENTER y buscamos los servicios de Oracle

Al encontrar los servicios presionamos en Iniciar para poder activar los servicios

Luego de activar los servicios regresamos a la consola y volvemos a ingresar el usuario system y la
contraseña

Para poder verificar el puerto que esta usando Oracle digitamos el siguiente comando:

select dbms_xdb.gethttpport() from dual;


GUIA DE ORACLE – CREACION DE USUARIOS Y ROLES

Si el Puerto causa algun conflicto con otro servidor lo podemos cambiar con el comando:

exec dbms_xdb.sethttpport(Aquí_escribimos_el_nuevo_puerto);

ejemplo:

exec dbms_xdb.sethttpport(8095);

y con el comando: select dbms_xdb.gethttpport() from dual;

verificamos nuestro nuevo puerto

Oracle posee un usuario por defecto llamado HR, el cual es un usuario para realizar pruebas
(usuario DEMO), el usuario lo podemos desbloquear con el siguiente comando:

alter user HR account unlock;

Al Nuevo Usuario será necesario asignarle una nueva contraseña con el siguiente comando:

alter user HR identified by aqui_digitamos_la_nueva_contraseña;

ejemplo:

alter user HR identified by 123;


GUIA DE ORACLE – CREACION DE USUARIOS Y ROLES

Para crear un Nuevo Usuario lo creamos desde system, ingresando el siguiente comando:

create user nombre_de_usuario identified by password_de_usuario;

ejemplo: create user conexion2 identified by conexion2;

Créate user nos crea el usuario e identified by nos asigna la contraseña

Abrimos una nueva consola y entramos con nuestro Nuevo Usuario

Nuestro nuevo usuario no posee el privilegio de iniciar sesión, será necesario asignarle el rol
CONNECT para poder iniciar sesión lo asignaremos desde system

Por medio del siguiente comando podremos asignarle el rol a nuestro nuevo usuario:

grant connect to nombre_de_usuario;

ejemplo:

grant connect to conexion2;

Esta sentencia sirve para dar permisos (o privilegios) a un usuario o a un rol.


GUIA DE ORACLE – CREACION DE USUARIOS Y ROLES

Podemos intentar entrar nuevamente con nuestro usuario de prueba: conexion2

Y podremos acceder ya que ya posee el rol de connect

Para poder ver el listado de usuarios digitamos el siguiente comando:

select username from ALL_USERS;

en system, HR y nuestro Usuario prueba conexion2 deberían poderse visualizar el listado de todos
los usuarios

En oracle no se manejan tablas sino objetos y para poder visualizarlos se utiliza el siguiente
commando:

select table_name from user_tables;


GUIA DE ORACLE – CREACION DE USUARIOS Y ROLES

En system podemos visualizarlos todos

En HR algunos

Y en nuestro usuario prueba conexion2 no tiene privilegios de ver los objetos

Si digitamos el siguiente comando desde el usuario conexion2:

create table prueba (id varchar2(5), nombre varchar2(10));


GUIA DE ORACLE – CREACION DE USUARIOS Y ROLES

para poder crear un objeto, observamos que no posee los privilegios suficientes

Regresamos a la consola de system y le asignamos el rol resource para poder brindarle los
privilegios a nuestro usuario prueba conexion2:

grant resource to nombre_del_usuario;

ejemplo:

grant resource to conexion2;

Retornamos a la consola de nuestro Usuario conexion2, y volvemos a digitar el comando de


creación de objetos:

create table prueba (id varchar2(5), nombre varchar2(10));

(en caso de error, puede cerrar la conexión y volver a habilitar para refrescar los cambios en los
privilegios, con el comando disconnect podemos cerrar la conexión y con el comando connect
podemos volver a iniciar la conexión, ingresamos nuestro usuario y password nuevamente)

Para poder crear un usuario con todos los privilegios DBA lo podemos crear desde system con el
siguiente comando, el comando tablespace users es para asignar areas de memoria:

create user nombre_de_usuario identified by password_de_usuario default tablespace users;

ejemplo:
GUIA DE ORACLE – CREACION DE USUARIOS Y ROLES

create user userdba identified by userdba default tablespace users;

Ingresamos desde la consola de nuestro Usuario conexion2

Y desde el usuario system le asignamos los privilegios para poder entrar sin dificultad con el
comando, asignándole todos los privilegios a la ves:

grant connect,resource,dba to nombre_de_usuario;

ejemplo:

grant connect,resource,dba to userdba;

Y luego iniciamos sesión desde otra consola con nuestro Usuario tipo DBA y ya posee todos los
privilegios de entrada y conexion

Para poder ver los objetos de cada usuario podemos digitar el siguiente comando:
GUIA DE ORACLE – CREACION DE USUARIOS Y ROLES

select table_name from user_tables;

desde system nos mostrara aprox 154 objetos

Desde nuestro Usuario de prueba conexion2 nos mostrara nuestro objeto prueba que creamos

Y para poder ver los datos de los objetos digitamos el comando:

describe nombre_de_objeto;

ejemplo:

describe prueba;
GUIA DE ORACLE – CREACION DE USUARIOS Y ROLES

Y para finalizar nos desconectamos del usuario prueba conexion2 con el comando abreviado:
discon y quit para salirnos de oracle

Para finalizar eliminaremos nuestro usuario prueba con el siguiente comando y agregamos la
sentencia cascade para eliminar en conjunto con sus objetos (desde consola de usuario system):

drop user nombre_de_usuario cascade;

ejemplo

drop user conexion2 cascade;

Y para finalizar la practica detenemos los servicios de Oracle para que no nos utilice recursos
innecesarios.
GUIA DE ORACLE – CREACION DE USUARIOS Y ROLES