-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy paths-01-usuarios.sql
57 lines (49 loc) · 1.56 KB
/
s-01-usuarios.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
--@Autor(es): Aburto López Roberto, Hernández Ruiz de Esparza Guillermo
--@Fecha creación: 14/11/2024
--@Descripción: Creación de usuarios
PROMPT ========================================================
PROMPT Creación de usuarios
PROMPT s-01-usuarios.sql
PROMPT ========================================================
SET SERVEROUTPUT OFF
-- Limpiar usuarios y roles
PROMPT Limpiando usuarios y roles usados en el proyecto
DECLARE
CURSOR cur_usuarios IS
SELECT username FROM dba_users WHERE
username LIKE 'AH%';
CURSOR cur_roles IS
SELECT role FROM dba_roles WHERE
role like 'AH%';
BEGIN
FOR r IN cur_usuarios LOOP
EXECUTE IMMEDIATE 'DROP USER '||r.username||' CASCADE';
END LOOP;
FOR r IN cur_roles LOOP
EXECUTE IMMEDIATE 'DROP ROLE '||r.role;
END LOOP;
END;
/
-- Crear roles
PROMPT creando roles
CREATE ROLE ah_admin_rol;
GRANT CREATE SESSION,
CREATE TABLE,
CREATE SEQUENCE,
CREATE VIEW,
CREATE TRIGGER,
CREATE PROCEDURE,
CREATE PUBLIC SYNONYM
TO ah_admin_rol;
CREATE ROLE ah_invitado_rol;
GRANT CREATE SESSION,
CREATE SYNONYM
TO ah_invitado_rol;
-- Crear usuarios
PROMPT creando usuarios
CREATE USER ah_proy_admin IDENTIFIED BY contrasena QUOTA UNLIMITED ON USERS;
GRANT ah_admin_rol TO ah_proy_admin;
CREATE USER ah_proy_invitado IDENTIFIED BY contrasena QUOTA UNLIMITED ON USERS;
GRANT ah_invitado_rol TO ah_proy_invitado;
CREATE user ah_proy_cliente IDENTIFIED BY contrasena QUOTA UNLIMITED ON USERS;
GRANT ah_invitado_rol TO ah_proy_cliente;