Actualizado el 21 de Marzo del 2018 (Publicado el 24 de Noviembre del 2017)
1.683 visualizaciones desde el 24 de Noviembre del 2017
142,6 KB
33 paginas
Creado hace 17a (13/11/2006)
Administración Básica de Oracle 10g. Prácticas usuarios, perfiles, privilegios y roles.
PRACTICAS TEMA 7.
USUARIOS, PERFILES, PRIVILEGIOS Y ROLES.
1. Buscar en la documentación en línea y en bd el contenido de las vistas:
• dba_profiles
• dba_roles
• dba_users
• dba_role_privs
• dba_tab_privs
• dba_sys_privs
SQL> DESC DBA_PROFILES
SQL> DESC DBA_ROLES
SQL> DESC DBA_USERS
SQL> DESC DBA_ROLE_PRIVS
SQL> desc DBA_TAB_PRIVS
SQL> DESC DBA_SYS_PRIVS
2. Conectarse como usuario SYSTEM a la base y crear un usuario llamado
“administrador” autentificado por la base de datos. Indicar como
"tablespace" por defecto USERS y como "tablespace" temporal TEMP; asignar
una cuota de 500K en el "tablespace" USERS.
SQL> CREATE USER ADMINISTRADOR IDENTIFIED BY ADMIN
2 DEFAULT TABLESPACE USERS
3 TEMPORARY TABLESPACE TEMP
4 QUOTA 500K ON USERS;
User created.
SQL> SELECT USERNAME FROM DBA_USERS WHERE USERNAME='ADMINISTRADOR';
USERNAME
------------------------------
ADMINISTRADOR
© Francisco Fernández Martínez y Juan Luis Serradilla Amarilla
1
Administración Básica de Oracle 10g. Prácticas usuarios, perfiles, privilegios y roles.
3. Abrir una sesión sqlplus e intentar conectarse como usuario
“administrador”, ¿qué sucede?, ¿por qué?.
/u01/app/oracle/admin/CURSO01/creacion (CURSO01)> sqlplus
SQL*Plus: Release 9.2.0.1.0 - Production on Mon Nov 22 12:50:48 2004
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Enter user-name: administrador
Enter password:
ERROR:
ORA-01045: user ADMINISTRADOR lacks CREATE SESSION privilege; logon denied
4. Averiguar qué privilegios de sistema, roles y privilegios sobre objetos tiene
concedidos el usuario “administrador”.
SQL> select * from dba_role_privs where grantee='ADMINISTRADOR';
no rows selected
SQL> select * from dba_tab_privs where grantee='ADMINISTRADOR';
no rows selected
SQL> select * from dba_sys_privs where grantee='ADMINISTRADOR';
no rows selected
5. Otorgar el privilegio “CREATE SESSION” al usuario “administrador” e
intentar de nuevo la conexión sqlplus.
SQL> grant create session to administrador;
Grant succeeded.
SQL> connect administrador
Enter password:
Connected.
© Francisco Fernández Martínez y Juan Luis Serradilla Amarilla
2
Administración Básica de Oracle 10g. Prácticas usuarios, perfiles, privilegios y roles.
6. Conectarse como usuario “administrador” y crear un usuario llamado
“prueba00” que tenga como "tablespace" por defecto USERS y como
"tablespace" temporal TEMP; asignar una cuota de 0K en el "tablespace"
USERS. ¿Es posible hacerlo?.
SQL> show user
USER is "ADMINISTRADOR"
SQL> r
1 create user prueba00 identified by prueba00
2 default tablespace users
3 temporary tablespace temp
4* quota 0k on users
create user prueba00 identified by prueba00
*
ERROR at line 1:
ORA-01031: insufficient privileges
7. Conectado como usuario SYSTEM, otorgar el privilegio “create user” al
usuario “administrador” y repetir el ejercicio anterior.
/u01/app/oracle/admin/CURSO01 (CURSO01)> sqlplus
SQL*Plus: Release 9.2.0.1.0 - Production on Mon Nov 22 12:55:31 2004
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Enter user-name: system
Enter password:
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning and Oracle Label Security options
JServer Release 9.2.0.1.0 - Production
SQL> grant create user to administrador;
Grant succeeded.
SQL> connect administrador
Enter password:
Connected.
© Francisco Fernández Martínez y Juan Luis Serradilla Amarilla
3
Administración Básica de Oracle 10g. Prácticas usuarios, perfiles, privilegios y roles.
SQL> create user prueba00 identified by prueba00
2 default tablespace users
3 temporary tablespace temp
4* quota 0k on users
User created.
8. Averiguar que usuarios de la base de datos tienen asignado el privilegio
“create user” de forma directa, ¿qué vista debe ser consultada?.
SQL> connect system
Introduzca su clave:
Connected.
SQL> desc dba_sys_privs
Nombre ¿Nulo? Tipo
----------------------------------------- -------- -----------------------
GRANTEE NOT NULL VARCHAR2(30)
PRIVILEGE NOT NULL VARCHAR2(40)
ADMIN_OPTION VARCHAR2(3)
SQL> select * from dba_sys_privs where privilege ='CREATE USER';
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA CREATE USER YES
ADMINISTRADOR CREATE USER NO
IMP_FULL_DATABASE CREATE USER NO
9. Hacer lo mismo para el privilegio “create session”.
SQL> select * from dba_sys_privs where privilege ='CREATE SESSION';
PRIVILEGE
GRANTEE
-----------------------------------------------------------------------------
DBA
CONNECT
ADMINISTRADOR
RECOVERY_CATALOG_OWNER
CREATE SESSION
CREATE SESSION
CREATE SESSION
CREATE SESSION
ADM
YES
NO
NO
NO
© Francisco Fernández Martínez y Juan Luis Serradilla Amarilla
4
Administración Básica de Oracle 10g. Prácticas usuarios, perfiles, privilegios y roles.
10.Crear dos "tablespace" llamados NOMINA y ACADEMO, que contendrán datos
relativos a las aplicaciones de nomina y datos académicos de los empleados
de una empresa, según las siguientes características:
ACADEMO
NOMINA
Tamaño inicial
Autoextensible
Extensión
Tamaño
máximo
Parámetros
almacenamiento
Initial
Next
Minextents
Maxextents
1M
SI
200K
1400K
16K
16K
1
3
1M
SI
100K
1500K
16K
16K
1
3
Localización
/u02/oradata/<bd> /u02/oradata/<bd>
Consulte la ayuda en línea si no recuerda la sintaxis exacta de la
sentencia.
SQL> create tablespace academo datafile '/u02/oradata/CURSO01/academo01.dbf'
size 1M
2 autoextend on next 200k maxsize 1400K
3 default storage (initial 16k next 16k
4 minextents 1 maxextents 3);
Tablespace created.
SQL> create tablespace nomina datafile '/u02/oradata/CURSO01/nomina01.dbf'
size 1M
2 autoextend on next 100K maxsize 1500K
3 default storage (initial 16k next 16k
4 minextents 1 maxextents 3);
Tablespace created.
© Francisco Fernández Martínez y Juan Luis Serradilla Amarilla
5
Administración Básica de Oracle 10g. Prácticas usuarios, perfiles, privilegios y roles.
11.Crear dos "tablespace" temporales, manejados de forma local, llamados
TEMP_NOMINA y TEMP_ACADEMO con las siguientes características:
TEMP_ACADEMO
TEMP_NOMINA
Tamaño inicial
Autoextensible
Extensión
Tamaño máximo
500K
SI
50K
600K
600K
SI
50K
700K
Localización
/u04/oradata/<bd> /u04/oradata/<bd>
SQL> create temporary tablespace temp_academo
2 tempfile '/u04/oradata/CURSO01/temp_academo01.dbf'
3 size 500k autoextend on next 50k maxsize 600k
4 extent management local uniform size 100k;
Tablespace created.
SQL> create temporary tablespace temp_nomina
2 tempfile '/u04/oradata/CURSO01/temp_nomina01.dbf'
3 size 600k autoextend on next 50k maxsize 700k
4 extent management local uniform size 100k;
Tablespace created.
12.Estando conectado como usuario “administrador” probar a crear un rol
llamado “administrador”, ¿qué ocurre?.
SQL> connect administrador
Enter password:
Connected.
SQL> create role administrador;
create role administrador
*
ERROR at line 1:
ORA-01031: insufficient privileges
© Francisco Fernández Martínez y Juan Luis Serradilla Amarilla
6
Administración Básica de Oracle 10g. Prácticas usuarios, perfiles, privilegios y roles.
13.Idem estando conectado como usuario SYSTEM, ¿qué sucede?, ¿por qué?.
SQL> connect system
Enter password:
Connected.
SQL> create role administrador;
create role administrador
*
ERROR at line 1:
ORA-01921: role name 'ADMINISTRADOR' conflicts with another user or role name
14.Comprobar en el diccionario de datos los usuarios o roles que poseen el
privilegio “CREATE ROLE”.
SQL> select * from dba_sys_privs where privilege ='CREATE ROLE';
GRANTEE
--------------------------------------------------------------------------
DBA
IMP_FULL_DATABASE
CREATE ROLE
CREATE ROLE
PRIVILEGE
ADM
YES
NO
15.Crear un rol llamado “ADMIN”, asignarle los privilegios “create session”,
“create user” y “CREATE ROLE”. Asignarlo al usuario administrador.
SQL> create role admin;
Role created.
SQL> grant create session to admin;
Grant succeeded.
SQL> c.session.user.
1* grant create user to admin
SQL> r
1* grant create user to admin
Grant succeeded.
SQL> c.user.role.
© Francisco Fernández Martínez y Juan Luis Serradilla Amarilla
7
Administración Básica de Oracle 10g. Prácticas usuarios, perfiles, privilegios y roles.
1* grant create role to admin
SQL> r
1* grant create role to admin
Grant succeeded.
SQL> grant admin to administrador;
Grant succeeded.
16.Consultar los privilegios de sistema que tiene asignados de forma directa el
usuario “administrador”, revocarlos y asignarle el rol “admin.”.
SQL> select * from dba_sys_privs where grantee ='ADMINISTRADOR'
GRANTEE
-------------------------------------------------------------------------------
ADMINISTRADOR
ADMINISTRADOR
CREATE SESSION
CREATE USER
PRIVILEGE
ADM
NO
NO
SQL> revoke create session from administrador;
Revoke succeeded.
SQL> c.session.user.
1* revoke create user from administrador
SQL> r
1* revoke create user from administrador
Revoke succeeded.
SQL> grant admin to admi
Comentarios de: Practicas Tema7 - usuarios, perfiles, privilegios y roles (0)
No hay comentarios