Gestión de Usuarios, Privilegios y Roles en Oracle: Sintaxis y Ejemplos Prácticos

Enviado por Comunidad Wikiteka y clasificado en Informática

Escrito el en español con un tamaño de 3,29 KB

Gestión de usuarios, privilegios y roles en Oracle

No es posible la conexión del usuario creado hasta que posea el privilegio de sistema CREATE SESSION.

Creación de usuarios

Sintaxis:

CREATE USER <usuario>
IDENTIFIED BY <contraseña> / EXTERNALLY
DEFAULT TABLESPACE <espacio>
TEMPORARY TABLESPACE <espacio>
QUOTA <xx>K / UNLIMITED ON <espacio>
PROFILE <perfil>
PASSWORD EXPIRE
ACCOUNT LOCK / UNLOCK;

Ejemplo:

Create user cebra
Identified by cebrapassword
Default tablespace system
Temporary tablespace temp
Quota unlimited on system;

Eliminación de usuarios

Debe esperarse a que concluya o forzar su terminación (ALTER SYSTEM KILL SESSION). Es necesario tener el privilegio de sistema DROP USER.

Sintaxis:

DROP USER <usuario>;
DROP USER <usuario> CASCADE;

Sentencias de administración

  • CREATE ROLLBACK SEGMENT
  • ALTER ROLLBACK SEGMENT
  • DROP ROLLBACK SEGMENT
  • ROLLBACK SEGMENTS
  • CREATE ROLE
  • ALTER ANY ROLE
  • DROP ANY ROLE
  • ROLES
  • CREATE PROFILE
  • ALTER PROFILE
  • DROP PROFILE
  • PROFILES
  • CREATE DATABASE LINK
  • CREATE PUBLIC DATABASE LINK
  • DROP PUBLIC DATABASE LINK
  • DATABASE LINKS

Gestión de usuarios y recursos

Tablas e índices

CREATE ANY TABLE / CREATE ANY INDEX
ALTER ANY TABLE / ALTER ANY INDEX
DELETE ANY TABLE
DROP ANY TABLE / DROP ANY INDEX
INSERT ANY TABLE / SELECT ANY TABLE
UPDATE ANY TABLE

Tablespaces

CREATE TABLESPACE
ALTER TABLESPACE
DROP TABLESPACE
UNLIMITED TABLESPACE

Usuarios

CREATE USER
ALTER USER
DROP USER

Otorgar privilegios

Sintaxis:

GRANT <privilegio> / ALL_PRIVILEGES TO <usuario> / <rol> / PUBLIC WITH ADMIN OPTION;

Quitar privilegios

Sintaxis:

REVOKE <privilegio> / ALL_PRIVILEGES FROM <usuario> / <rol> / PUBLIC;

Gestión de roles

CREATE ROLE <rol> IDENTIFIED BY <contraseña>;
ALTER ROLE <rol> NOT IDENTIFIED / IDENTIFIED BY <contraseña>;
GRANT <rol> TO <usuario> / <rol> / PUBLIC;

Ejemplos:

Grant create session to cebra;
Create table tabla (
Nombre varchar2(20),
Apellido varchar2(20)
);

Terminar sesiones

Identificar el Username, Sid y Serial#, y terminar la sesión por sid y serial:

Alter system kill session 'sid,serial';

Ejemplos de privilegios y consultas entre usuarios

Grant create session to (role) cebrita;
Insert into usuario2.nombretabla2;
Grant select on nombredelaconexion.tabla to rol;
Grant select on cebra.usuario to cebrita;

Ahora, desde la segunda conexión, se realiza la consulta:

select * from cebra.usuario;

Conexión desde SQL*Plus

sqlplus /nolog
Conn /as sysdba