www.codigolibre.org
Oracle-Dba-I
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 operacin volver a bloquear: Solucion: Solucion: Solucion: Solucion: Solucion: Solucion: SQL:> SQL:> SQL:> SQL:> SQL:> SQL:>
CONNECT SYS/kikla AS SYSDBA; ALTER USER oe ACCOUNT UNLOCK; ALTER USER oe identified by arapepe; CONNECT oe/arapepe; SELECT * FROM cat; 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 estn creado Creelo. Solucion: SQL:> CREATE TABLESPACE tbs_usuario DATAFILE
'/opt/app/oradata/usuario/tbs_tempusuario01.dbf' SIZE 10M REUSE AUTOEXTEND 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 suse DEFAULT TABLESPACE tbs_usuario TEMPORARY TABLESPACE tbs_tempusuario QUOTA 512K ON tbs_usuario;
Nota: Realice el primer ejecicio para comprobar la creacin del usuario administrador.
www.codigolibre.org
Oracle-Dba-I
4. Realice una conexin 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 conexin 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/suse Solucion: SQL:> show user; Solucion: SQL:> CREATE USER caja01 IDENTIFIED BY caja01
TABLESPACE tbs_usuario
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_privs Solucion: SQL:> SELECT * FROM dba_sys_privs WHERE privilege ='CREATE
USER';
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 asgnele 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, qutele 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');
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;
www.codigolibre.org
Oracle-Dba-I
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 informacin 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 sesin 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: Solucion: Solucion: Solucion: SQL:> SQL:> SQL:> SQL:>
conn adminsitrador/arapepe; conn adminsitrador/arapepe; shutdown abort DROP USER cobro01;
22.Asignar el permiso DROP USER al rol admin. Solucion: SQL:> GRANT DROP USER to admin;
www.codigolibre.org
Oracle-Dba-I
23.Crear un perfil llamado desarrollo con las siguientes especificaciones. 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 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 conexin en dos Shell con el usuario caja01, utilice una contrasea incorrecta, comprobar si la cuenta ha sido bloqueada.
09:27:48)][oracle:~]$ sqlplus caja01/caja 09:27:48)][oracle:~]$ sqlplus caja01/caja
26. Modificar los valores del perfil DEFAULT segn indica los siguientes datos. 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 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;