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