Ejemplo DDL DCL

Descargar como txt, pdf o txt
Descargar como txt, pdf o txt
Está en la página 1de 3

/*

Tabla de privilegios exigidos

Privilegios de sistema, no somos administradores sino programadores solo


exigiremos:

connect, resource, dba.

Privilegios de objetos:

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.

*/

-- 1� Usuarios

-- Crear usuarios dandole una password


create user ejemplo identified by 123456;

-- modificar un usuario cambiando la password y desbloqueando


alter table ejemplo identified by 654321 account unlock;

-- eliminar un usuario
drop user ejemplo cascade;

/*
en el caso de querer indicar donde guarda los datos podemos establecer el espacio
de tablas
y cuanto le permitimos usar con default tablespace y quota quedar�a as�:

create user ejemplo identified by 123456 default tablespace users quota 10m on
users;
*/

-- 2� Privilegios de Sistema y de Objetos

/*En Oracle existen dos tipos de privilegios de usuario.

De sistema:
Que 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. 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).
Oracle tiene mas de 170 privilegios de sistema.

De objetos:
Este tipo de permiso le permite al usuario realizar ciertas acciones en objetos de
la BD, como una Tabla, Vista,
un Procedure o Funci�n, etc. Si a un usuario no se le dan estos permisos s�lo puede
acceder a sus propios objetos
Este tipo de permisos los da el owner o due�o del objeto, el administrador o
alguien que haya recibido este permiso
expl�citamente (con Grant Option).

WITH GRANT OPTION se utiliza cuando se conceden privilegios para actuar sobre
determinados objetos,
especificados en la misma sentencia, como poder seleccionar datos de algunas tablas
de otros usuarios, por ejemplo.
WITH ADMIN OPTION se utiliza cuando se conceden privilegios de sistema, que
permiten realizar determinadas acciones
relativas a un tipo de objeto, como poder crear secuencias, por ejemplo.
*/

-- Dando Privilegios GRANT

-- Queremos que el usuario se pueda conectar y utilizar recursos, le damos los


permisos connect y resource
grant connect, resource to ejemplo;

-- En el caso de desear que el usuario sea administrador de sistema podemos darle


todos los privilegios de administrador
grant dba to ejemplo;

-- queremos darle privilegios sobre un objeto, por ejemplo mirar en una tabla
grant select on unatabla to ejemplo;

-- queremos o darle varios privilegios sobre un objeto, por ejemplo insertar y


eliminar en una tabla
grant insert, delete on unatabla to ejemplo;

-- queremos o darle todos los privilegios sobre un objeto, por ejemplo en una
tabla
grant all privileges on unatabla to ejemplo;

-- queremos darle privilegios sobre un objeto con posibilidad de pasarselos a otro


usuario.
grant select on unatabla to ejemplo with grant options;

-- queremos darle privilegios de sistema con posibilidad de pasarselos a otro


usuario.
grant dba to ejemplo with admin options;

--Eliminado privilegios REVOKE


revoke connect, resource from ejemplo;

revoke dba from ejemplo;

revoke select on unatabla from ejemplo;

revoke insert, delete on unatabla from ejemplo;

revoke all privileges on unatabla from ejemplo;

-- 3� ROL (conjunto de privilegios)

--creamos un rol, a�adimos permisos, y lo condemos a un usuario, y lo podemos


quitar con revoke.

-- crear
create role para_usuarios;
-- a�adir
grant connect, resource to para_usuarios;
grant all privileges on unatabla to para_usuarios;
grant select on Otratabla to para_usuarios;
-- conceder
grant para_usuarios to usuario1;
--retirar
revoke para_usuarios from usuario1;

-- el rol se elimina con drop role


drop role para_usuarios;

También podría gustarte