Practica 3 Oracle DBA I Usuarios
Click here to load reader
-
Upload
fidel-espinal -
Category
Documents
-
view
400 -
download
1
Transcript of Practica 3 Oracle DBA I Usuarios
Academia de Software Libre www.codigolibre.org Oracle-Dba-I
Práctica 3 -> Oracle-Dba-1Objetivo:
Esta práctica usted está confirmara sus conocimientos adquirido sobre el tema usuario, perfil, privilegios y roles.
1. Busque en las siguientes vistas información sobre los usuarios:
Solucion: SQL:> SELECT * FROM dba_profiles;Solucion: SQL:> SELECT * FROM dba_roles;Solucion: SQL:> SELECT * FROM dba_users;Solucion: SQL:> SELECT * FROM dba_role_privs;Solucion: SQL:> SELECT * FROM dba_tab_privs;Solucion: SQL:> SELECT * FROM dba_sys_privs;Solucion: SQL:> SELECT * FROM all_users;
2. Conectarse con el usuario sys y desbloquear el usuario oe y asignarle el password luego conectarse con el y ver su catalogo de datos disponibles, cuando termine de esta operación volver a bloquear:
Solucion: SQL:> CONNECT SYS/kikla AS SYSDBA;Solucion: SQL:> ALTER USER oe ACCOUNT UNLOCK;Solucion: SQL:> ALTER USER oe identified by arapepe;Solucion: SQL:> CONNECT oe/arapepe;Solucion: SQL:> SELECT * FROM cat;Solucion: SQL:> ALTER USER oe ACCOUNT LOCK;
3. Conectarse con el usuario system y crear un usuario llamado administrador que su clave será “suse”, que su tablespace por defecto sea tbs_usuario y el tablespce tempotal tbs_tempusuario con una cuota de 512k en tbs_usuario:
Observacion: Si los tablespace no están creado… Creelo.
Solucion: SQL:> CREATE TABLESPACE tbs_usuario DATAFILE '/opt/app/oradata/usuario/tbs_tempusuario01.dbf' SIZE 10M REUSEAUTOEXTEND ON NEXT 500K MAXSIZE 100M;Solucion: SQL:> CREATE TEMPORARY TABLESPACE tbs_tempusuario TEMPFILE '/opt/app/oradata/usuario/tbs_tempusuario01.dbf' SIZE 5M AUTOEXTEND ON;;Solucion: SQL:> CREATE USER administrador IDENTIFIED BY suseDEFAULT TABLESPACE tbs_usuarioTEMPORARY TABLESPACE tbs_tempusuarioQUOTA 512K ON tbs_usuario;
Nota: Realice el primer ejecicio para comprobar la creación del usuario administra-dor.
Academia de Software Libre www.codigolibre.org Oracle-Dba-I
4. Realice una conexión con sqlplus utilizando el usuario administrador y explique el mensaje saliente:
(09:27:48)][oracle:~]$ sqlplus administrador/suse
5. Verificar que privilegios de sistema, roles sobre objetos tiene el usuario administrador:
Solucion: SQL:> SELECT * FROM dba_role_privs WHERE grantee='ADMINISTRADOR';
Solucion: SQL:> SELECT * FROM dba_tab_privs WHERE grantee='ADMINISTRADOR';
Solucion: SQL:> SELECT * from dba_sys_privs where grantee='ADMINISTRADOR';
6. Otorgar el privilegio “CREATE SESSION” al usuario “administrador” e intentar de nuevo la conexión sqlplus.
Solucion: SQL:> GRANT CREATE SESSION TO administrador;
09:27:48)][oracle:~]$ sqlplus administrador/suse
7. Conectarse con el usuario adminsitrador y crear un usuario llamado caja01 y tu tablespace será tbs_usuario por defecto y como temporal será tbs_tempusuario.
(09:30:03)][oracle:~]$ sqlplus administrador/suseSolucion: SQL:> show user;Solucion: SQL:> CREATE USER caja01 IDENTIFIED BY caja01 DEFAULT TABLESPACE tbs_usuario TEMPORARY TABLESPACE tbs_tempusuario;
8. Conectarse con el usuario system y otorgar el privilegio “CREATE USER” al usuario “administrador” e intentar de nuevo el ejercicio anterior.
Solucion: SQL:> CONN system/arapepe;Solucion: SQL:> GRANT CREATE USER TO administrador;Solucion: SQL:> CONN administrador/suse;
9. Verificar cuales usuario tienen asignado el privilegio de crear usuario, identidique las vistes que debe consultar.
Solucion: SQL:> CONN system/arapepe;Solucion: SQL:> DESC dba_sys_privsSolucion: SQL:> SELECT * FROM dba_sys_privs WHERE privilege ='CREATE USER';
Academia de Software Libre www.codigolibre.org Oracle-Dba-I
10.Hacer lo mismo para el privilegio “create session”.
Solucion: SQL:> SELECT * FROM dba_sys_privs WHERE privilege ='CREATE SESSION;
11. Verificar cuales usuario tienen asignado el privilegio de crear roles.
Solucion: SQL:> SELECT * FROM dba_sys_privs WHERE privilege ='CREATE ROLE';
12. Crear un rol llamado admin y asígnele los siguientes privilegios “create session”, “create user” y “create role” .
Solucion: SQL:> CREATE ROLE admin;Solucion: SQL:> GRANT CREATE SESSION, CREATE USER, CREATE ROLE TO admin;
Solucion: SQL:> GRANT ADMIN TO administrador;
13.Verificar los privilegios de sistema que tiene asignados de forma directa el usuario administrado, quítele esos privilegios y asignarle el rol admin.
Solucion: SQL:> REVOKE CREATE SESSION FROM administrador;Solucion: SQL:> REVOKE CREATE USER FROM administrador;Solucion: SQL:> GRANT ADMIN TO administrador;
14.Crear, conectado con system, un usuario llamado cobro01 y si clave será cobro01 no le asigne tablespace.
Solucion: SQL:> CREATE USER cobro01 IDENTIFIED BY cobro01;
15. Consultar en las vistas correspondientes los tablespace y quota en cada uno de ellos, explique que paso con cobro01.
Solucion: SQL:> SELECT substr(username,1,15) usuario, DEFAULT_TABLESPACE ,TEMPORARY_TABLESPACE FROM dba_users WHERE username IN ('SYS','SYSTEM','ADMINISTRADOR','CAJA01','COBRO01');
Solucion: SQL:> SELECT substr(username,1,15) usuario, tablespace_name, max_bytes FROM dba_ts_quotas WHERE username IN ('SYS','SYSTEM','ADMINISTRADOR','CAJA01','COBRO01');
16.Conectarse con el usuario caja01 y crear la siguiente tabla en el tablespace tbs_datos, si el tablespace no existe loko creelo, si no es posible favor explicar el porqué?.
Solucion: SQL:> CREATE TABLESPACE tbs_datos DATAFILE '/opt/app/oradata/usuario/tbs_datos01.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 500K MAXSIZE 500M;
Academia de Software Libre www.codigolibre.org Oracle-Dba-I
Solucion: SQL:> CREATE TABLE CODIGOS (CODIGO varchar2(3), DESCRIPCION varchar2(20)) TABLESPACE tbs_datos STORAGE (INITIAL 64K NEXT 64K MINEXTENTS 5 MAXEXTENTS 10);
17.Crear un rol llamado desarrollo y asignarle los permisos de "CREATE SEQUENCE", "CREATE SESSION", "CREATE SYNONYM", "CREATE TABLE" y
"CREATE VIEW" asignar al rol desarrollador los usuarios caja01 y cobro01.
Solucion: SQL:> CONN system/arapepe;Solucion: SQL:> CREATE ROLE desarollo;Solucion: SQL:> GRANT CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE, CREATE VIEW TO desarrollo;
Solucion: SQL:> GRANT desarrollo TO caja01, cobro01;
Nota: Repita el ejercicio 16.
18.Asignar cuota ilimitada al usuario caja01 sobre el tablespace tbs_datos.
Solucion: SQL:> ALTER USER caja01 QUOTA UNLIMITED ON tbs_datos;
19.Obtener información sobre los roles, privilegios de sistema, tablespace y cuotas para todos los usuarios.
Solucion: SQL:> SELECT * FROM dba_role_privs;Solucion: SQL:> SELECT * FROM dba_sys_privs;Solucion: SQL:> SELECT USERNAME , TABLESPACE_NAME , BYTES FROM dba_ts_quotas;
20.Verificar cuales usuarios y roles tienes asignados el privilegio ALTER USER.
Solucion: SQL:> SELECT * FROM dba_sys_privs WHERE privilege='ALTER USER';
21.Abrir dos sesión una con el usuario adminsitrador y otra con el usuario cobro01, luego intente borrar el usuario cobro01, explique el por qué no pudo borrar cobro01.
Solucion: SQL:> conn adminsitrador/arapepe;Solucion: SQL:> conn adminsitrador/arapepe;Solucion: SQL:> shutdown abortSolucion: SQL:> DROP USER cobro01;
22.Asignar el permiso DROP USER al rol admin.
Solucion: SQL:> GRANT DROP USER to admin;
Academia de Software Libre www.codigolibre.org Oracle-Dba-I
23.Crear un perfil llamado desarrollo con las siguientes especificaciones.Sessions_per_user 2Cpu_per_session unlimitedCpu_per_call 6000Connect_time 480Idle_time 2Failed_login_attempts 2Password_life_time 120
Solucion: SQL:> CREATE PROFILE desarrollo LIMIT sessions_per_user 2 cpu_per_session UNLIMITED cpu_per_call 6000 connect_time 480 idle_time 2 failed_login_attempts 2 password_life_time 120; 24.Asignar el perfil creado en el ejercicio anterio a los usuario cobro01
y caja01.
Solucion: SQL:> ALTER USER caja01 PROFILE desarrollo;Solucion: SQL:> ALTER USER cobro01 PROFILE desarrollo;
25.Intentar la conexión en dos Shell con el usuario caja01, utilice una contraseña incorrecta, comprobar si la cuenta ha sido bloqueada.
09:27:48)][oracle:~]$ sqlplus caja01/caja09:27:48)][oracle:~]$ sqlplus caja01/caja
Solucion: SQL:> select username, lock_date from dba_users where username like 'CAJA%';
26. Modificar los valores del perfil DEFAULT según indica los siguientes datos.
Sessions_per_user 5Cpu_per_session unlimitedCpu_per_call 6000Connect_time 480Idle_time 60Failed_login_attempts 3Password_life_time 180
Solucion: SQL:> alter profile default limit sessions_per_user 5 cpu_per_session unlimited cpu_per_call 6000 connect_time 480 idle_time 60 failed_login_attempts 3 password_life_time 180;