You are on page 1of 7

***Crear usuario LOG con password LOG, tablespace por defecto llamado TBLLOG con

tamao 10MB con crecimiento automtico (crearlo antes de creacin de usuario), tables
pace temporal TEMP.
- Entregar al usuario creado los roles de sistema CONNECT, RESOURCE, CREATE PROC
EDURE.
- Usuario que representar el esquema LOG (Logstica).
- Ejecutar script ESQUEMA_LOG.sql
SQL> create tablespace TBLLOG
2 datafile C:\u01\app\oracle\oradata\orcl\TBLLOG.DBF suze 10M
3 autoextend ON;
Tablespace creado.
SQL> create user LOG identified by LOG
2 default tablespace TBLLOG
3 temporary tablespace temp;
Usuario creado.
SQL> grant connect, resource, create procedure to LOG;
Concesion terminada correctamente.
C:\>sqlplus LOG/LOG
SQL*plus: Releace 11.2.0.1.0 Production on Lun .
Sql> @esquema_log.sql
Sql> select * from tab;
****Crear los siguientes usuarios y privilegios asociados
- Usuarios sern utilizados para prueba de roles y privilegios.
- JGALAZ con password JGALAZ, tablespace por defecto USERS, tablespace temporal
TEMP.
- Asignar los roles de sistema CONNECT, RESOURCE, CREATE SYNONYM.
- ALARA con password ALARA, tablespace por defecto USERS, tablespace temporal TE
MP.
- Asignar los roles de sistema CONNECT, RESOURCE, CREATE SYNONYM.
Sql> con system/manager2015
Sql> crate user IRIOS identified by IRIOS;
2 default tablespace USERS
3 temporary tablespace TEMP;
Sql> create user IJARA identified by IJARA
2 default tablespace USERS
3 temporary tablespace TEMP;
Sql> grant CONNECT, RESOURCE, CREATE SYNONYM TO IRIOS, IJARA;
****crear el rol de base de datos ADMINISTRADOR_LOG asignando los siguientes pri
vilegios sobre los objetos de base de datos del esquema LOG:
Sql> CREATE ROLE ADMINISTRADOR_LOG;
Privilegios de SELECT, INSERT, UPDATE, DELETE sobre tablas:
- CLIENTE
- COTIZACION
- DETALLE_COTIZACION
- PRODUCTO
- UNIDAD_MEDIDA
- MEDIO_ENVIO
- COMUNA
- CIUDAD
SQL> CONN LOG/LOG;
SQL> GRANT SELECT, INSERT, UPDATE, DELETE ON DETALLE_COTIZACION TO ADMINISTRADOR
_LOG;

SQL>
SQL>
SQL>
SQL>
SQL>
SQL>

GRANT
GRANT
GRANT
GRANT
GRANT
GRANT

SELECT,
SELECT,
SELECT,
SELECT,
SELECT,
SELECT,

INSERT,
INSERT,
INSERT,
INSERT,
INSERT,
INSERT,

UPDATE,
UPDATE,
UPDATE,
UPDATE,
UPDATE,
UPDATE,

DELETE
DELETE
DELETE
DELETE
DELETE
DELETE

ON
ON
ON
ON
ON
ON

COTIZACION TO ADMINISTRADOR_LOG;
PRODUCTO TO ADMINISTRADOR_LOG;
UNIDAD_MEDIDA TO ADMINISTRADOR_LOG;
CLIENTE TO ADMINISTRADOR_LOG;
COMUNA TO ADMINISTRADOR_LOG;
CIUDAD TO ADMINISTRADOR_LOG;

****Privilegios de EXECUTE sobre:


- Procedimiento Almacenado ProcLogistica.
SQL> GRANT EXECUTE

ON ProcLogistica

TO ADMINISTRADOR_LOG;

Asigne el rol ADMINISTRADOR_LOG a usuario JGALAZ.


SQL> grant administrador_log to irios;
****Crear el rol de base de datos GESTION_PRODUCTOS asignando los siguientes pri
vilegios sobre los objetos de base de datos del esquema LOG:
SQL> show user;
Sql> create role GESTION_PRODUCTOS;
Privilegios de SELECT, INSERT, UPDATE sobre tablas:
- PRODUCTO
- UNIDAD_MEDIDA
SQL> CONN LOG/LOG;
SQL> GRANT SELECT, INSERT, UPDATE ON PRODUCTO TO GESTION_PRODUCTOS;
SQL> GRANT SELECT, INSERT, UPDATE ON UNIDAD_MEDIDA TO GESTION_PRODUCTOS;
Privilegios de EXECUTE sobre:
*****Procedimiento Almacenado ProcLogistica.
SQL> GRANT EXECUTE ON ProcLogistica TO GESTION_PRODUCTOS;
Asigne el rol GESTION_PRODUCTOS a usuario ALARA.
SQL> grant gestin_productos to ijara;
****Realizar prueba de Roles y Privilegios asignados a los usuarios JGALAZ y ALA
RA:
- Conectarse como usuario JGALAZ y realizar las operaciones DML autorizadas sobr
e las tablas asociadas al rol ADMINISTRADOR-LOG. Adems ejecutar procedimiento alm
acenado, considerando la creacin de sinnimos para poder acceder a los objetos de b
ase de datos.
COMPROBANDO SELECT
Sql>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>

CONN IRIOS/IRIOS;
CREATE SYNONYM DETALLE_COTIZACION;
CREATE SYNONYM COTIZACION FOR LOG.COTIZACION;
CREATE SYNONYM PRODUCTO FOR LOG.PRODUCTO;
CREATE SYNONYM UNIDAD_MEDIDA FOR LOG.UNIDAD_MEDIDA;
CREATE SYNONYM CLIENTE FOR LOG.CLIENTE;
CREATE SYNONYM COMUNA FOR LOG.COMUNA;
CREATE SYNONYM CIUDAD FOR LOG.CIUDAD;
CREATE SYNONYM ProcLogistica FOR LOG. ProcLogistica;
CONN IRIOS/IRIOS;
SELECT * FROM DETALLE_COTIZACION;
SELECT * FROM COTIZACION;
SELECT * FROM PRODUCTO;

SQL> SELECT * FROM UNIDAD_MEDIDA;


SQL> SELECT * FROM CLIENTE;
SQL> SELECT * FROM COMUNA;
SQL> SELECT * FROM CIUDAD;
COMPROBANDO EXECUTE NOTA: SET SERVEROUTPUT ON, PERMITE MOSTRAR MENSAJE DEL
SQL> SET SERVEROUTPUT ON;
SQL> BEGIN
2 proclogistica;
3 end;
4 /
COMPROBANDO INSERT
Sql> show user
Sql> INSERT INTO COMUNA VALUES (10, FLORIDA , 8);
SQL> COMMIT;
COMPROBANDO UPDATE
SQL> UPDATE COMUNA SET DESCRIPCION = PUENTE ALTO WHERE CODCOMUNA=10;
SQL> COMMIT;
COMPROBANDO DELETE
SQL> DELETE COMUNA WHERE CODCOMUNA=10;
SQL> COMMIT;
*****Conectarse como usuario ALARA y realizar operaciones DML autorizadas sobre
las tablas asociadas al rol GESTION-PRODUCTOS. Adems ejecutar procedimiento almac
enado, considerando la creacin de sinnimos para poder acceder a los objetos de bas
e de datos.
SQL> CONN IJARA/IJARA;
SQL> CREATE SYNONYM PRODUCTO FOR LOG.PRODUCTO;
SQL> CREATE SYNONYM PRODUCTO FOR LOG.PRODUCTO;
SQL> CREATE SYNONYM UNIDAD_MEDIDA FOR LOG.MEDIDA;
SQL> CREATE SYNONYM ProcLogistica FOR LOG. ProcLogistica;
USUARIO SOLO TIENE 3 OBJECTOS EN SU ESQUEMA
SQL> SELECT OBJECT_NAME FROM USER_OBJECTS;
OBJECT_NAME
COMPROBANDO SELECT
SQL> SELECT * FROM PRODUCTO;
SQL> SELECT * FROM UNIDAD_MEDIDA;
COMPROBANDO INSERT
SQL> INSERT INTO PRODUCTO (CODPRODCUTO, DESCRIPCION) VALUES
2 (33, PRODUCTO NUEVO );
SQL> COMMIT;
COMPROBANDO UPDATE
SQL> UPDATE PRODUCTO SET DESCRIPCION= TOSHIBA NOTEBOOK
2 WHERE CODPRODUCTO= 33;
COMPROBANDO DELETE
SQL> DELETE PRODUCTO WHERE CODPRODUCTO =33;
COMPROBANDO EXECUTE
SQL> SET SERVEROUTPUT ON;
SQL> BEGIN
2 PROCGISTICA;
3 END;
4 /
******Realizar la modificacin del rol GESTION-PRODUCTOS, de acuerdo al siguiente
detalle
Asignar nuevo privilegio DELETE sobre tablas:

- PRODUCTO
- UNIDAD_MEDIDA
SQL> show user
User es LOG
Sql> grant DELETE ON PRODUCTO TO GESTION_PRODUCTOS;
SQL> grant DELETE ON UNIDAD_MEDIDA TO GESTION_PRODUCTOS;
Comprobar nuevo privilegio DELETE conectado como usuario ALARA, quien tiene el r
ol GESTION_PRODUCTOS.
SQL> SHOW USER;
USER ES LOG
SQL> con IJARA/IJARA;
SQL> delete producto where codproducto=33;
Sql> commit;
******Eliminacin del Privilegio de INSERT sobre la siguiente tabla para el rol GE
STION_PRODUCTO y comprobar eliminacin de privilegio, conectado como usuario ALARA
:
- UNIDAD_MEDIDA
Sql> con LOG/LOG;
SQL> revoke INSERT ON UNIDAD_MEDIDA FROM GESTION_PRODUCTOS;
SQL> CONN IJARA/IJARA;
SQL> INSERT INTO UNIDAD_MEDIDA VALUES ( KL , KILOS );
INSERT INTO UNIDAD_MEDIDA VALUES ( KL , KILOS )
*****Eliminacin del Privilegio de EXECUTE sobre:- Procedimiento Almacenado ProcLo
gistica.
SQL> CONN LOG/LOG;
SQL> REVOKE EXECUTE ON PROCLOGISTICA FROM GESTION_PRODUCTOS;
SQL> CONN IJARA/IJARA;
SQL> SET SERVEROUTPUT ON;
SQL> begin
2 proclogistica;
3 end;
4 /
******Activar Auditoria de Base de Datos Estndar, considerando lo siguiente:
- Activar auditoria estndar con opcin de db_extended.
Sql> show parameter audit;
Sql > alter system set audit_trail = DB_EXTENDED scope= spfile;
Sql> shutdown immdiate;
Sql> startup;
Sql> SHOW PARAMETER AUDIT;
****Audite la tabla PRODUCTO del esquema LOG (INSERT Y UPDATE)
SQL> show user
User es system
Sql> audit insert, update on LOG.PRODUCTO BY ACCESS;
*****Como usuario AJARA genere actividad sobre la tabla PRODUCTO (SELECT, INSERT
)
SQL> CONN AJARA/AJARA;
SQL> INSERT INTO PRODUCTO (CODPRODUCTO, DESCRIPCION) VALUES
2 (33, PRODUCTO NUEVO );
SQL> COMMIT;
SQL> SELECT * FROM PRODUCTO WHERE CODPRODUCTO=33;

*****Verifique la auditoria aplicada, consultando la tabla DBA_AUDIT_TRAIL.


Sql> select sql_text from dba_audit_trail where obj_name= PRODUCTO ;
Ahora se auditar UPDATE
SQL> con IJARA/IJARA
SQL> UPDATE PRODUCTO SET DESCRIPCION = TOSHIBA
2 where codproducto=33;
Sql> commit;
Sql> con system/manager2015;
Sql> select sql_text from dba_audit_trail where obj_name= PRODUCTO ;
*****Active auditoria para DELETE EXITOSOS sobre la tabla PRODUCTO
Sql> con system/manager2015;
SQL> audit DELETE on LOG.PRODUCTO WHENEVER SUCCESSFUL;
Como usuario ALARA genere actividad de DELETE sobre tabla PRODUCTO (elimine el p
roducto con el cdigo 33).
Sql> CONN IJARA/IJARA;
SQL> DELETE PRODUCTO WHERE CODPRODUCTO=33;
SQL> COMMIT;
Verifique la auditoria aplicada, consultando la tabla DBA_AUDIT_TRAIL.
SQL> con system/manager2015;
Sql> select sql_tex, username, terminal from dba_audit_trail where obj_name= PRODU
CTO ;
Active auditoria de conexiones de usuarios
SQL> show user;
User es SYSTEM
Sql> AUDIR CONNECT;
Genere actividad de CONEXIONES, conectndose como LOG, JGALAZ, ALARA.
SQL> conn LOG/LOG;
SQL> CONN IRIOS/IRIOS;
SQL> CONN IJARA/IJARA;
****Verifique la auditoria aplicada, consultando la tabla DBA_AUDIT_TRAIL.
*****Activar Auditoria de Base de Datos FGA, considerando lo siguiente:
- Creacin de Policy:
Object_schema = LOG
Object_name = PRODUCTO
Policy_name = ck_audit_producto
Audit_condition = producto=25
Audit_column = procedencia
Enable = TRUE
Statement_type = UPDATE
Audit_trail = DBMS_FGA.DB_EXTENDED
Audit_column-opts = dbms_fga.all_columns
SQL> con /as sysdba;
Sql>grant execute on dbms_fga to LOG;
Sql> con LOG/LOG;
EN CASO QUE POLICY EXISTA, SE BORRA
SQL> BEGIN;
2 dbms_fga.drop_policy(
3 object_schema => LOG ,
4 object_name => PRODUCTO ,
5 policy_name => ck_audit_producto );

6 END;
7 /
Sql> ED
****Verifique la creacin de policy consultando la tabla DBA_AUDIT_POLICIES.
- Como usuario ALARA genere actividad sobre la tabla PRODUCTO (UPDATE).
Cambiando procedencia
SQL> select * from dba_audit_policies;
*****Como usuario ALARA genere actividad sobre la tabla PRODUCTO (UPDATE).
Cambiando procedencia desde N (Nacional) a I (Importado).
Sql> con IJARA/IJARA;
SQL> update producto set procedencia=
Sql> commit;

I where codproducto = 25;

*****Verifique la auditoria aplicada, consultando la tabla ALL_AUDIT_POLICIES.


Sql> SELECT DB_USER.OBJECT_SHEMA, OBJECT_NAME.POLICY_NAME.
2 STATEMENT_TYPE.TIMESTAMP FROM dba_fga_audit_trail;
*****Crear un perfil de base de datos (PROFILE) llamado DOSCONEXIONES, que permi
ta la siguiente administracin de recursos.
- El usuario solo tendr un mximo de 2 sesiones concurrentes a la base de datos.
- El usuario solo tendr un mximo de 3 intentos fallidos para conectarse a la base
de datos.
- El usuario tendr como mximo 1 minuto para que su sesin pueda permanecer sin que s
ea utilizada de manera activa
Sql> create profile DOSCONEXIONES LIMIT
2 sessions_per_user 2
3 failed_login_attempts 3
4 idle_time 1;
*****Compruebe los recursos del profile DOSCONEXIONES, consultando la tabla DBA_
PROFILES
Sql> desc dba_profiles
Sql> select resource_name, limit
2 from dba_profiles
3 where profile = DOSCONEXIONES and resource_name in (
4 SESSIONS_PER_USER , IDLE_TIME , FAILED_LOGIN_ATTEMPTS );
**** Asigne el nuevo profile DOSCONEXIONES al usuario ALARA.
Sql> alter user IJARA profiles DOSCONEXIONES;
Compruebe la asignacin de Profile al usuario ALARA
SQL> select PROFILE from dba_users
2 where username = IJARA ;
******Verifique el almacenamiento de los objetos del esquema LOG
- Consulte el diccionario de datos para verificar las tablas contenidas en table
space TBLLOG.
SQL> desc dba_tables
Sql> select table_name from dba_tables
2 whare tablespace_name = TBLLOG ;
****Consulte el diccionario de datos para verificar los tipo de almacenamiento a

sociado a los objetos de base de datos del esquema LOG, es decir, los tipos de S
EGMENTS.
SQL> desc dba_segments
Sql> select substr(segment_name,1,10), segment_type
2 from dba_segments
3 where owner= LOG ;
*****Crear un nuevo tablespace de UNDO UNDOABD1 de 10MB y convirtalo en tablespace
de UNDO con crecimiento automtico (AUTOEXTEND).
Sql> show user
USER ES SYSTEM
SQL> create UNDO tablespace UNDOABD1
2 datafile C:\U01\app\oracle\oradata\orcl\UNDOABD1.DBF size 10M
3 autoextend creado.
SQL> alter system set UNDO_TABLESPACE =UNDOABD1;
SQL> SHOW PARAMETER UNDO_TABLESPACE
SQL> select substr(tablespace_name,1,10),substr(file_name,1,50),
2 autoextensible
3 from dba_data_files;
******Cambie la retencin del tablespace UNDABD1 a GUARANTEE y verifique su aplica
cin
Sql> alter tablespace UNDOABD1 RETENTION GUARANTEE;
SQL> SELECT TABLESPACE_NAME, CONTENTS, RETENTION
2 FROM DBA_TABLESPACE;
*****Restituya como Tablespace de UNDO dejando como activo UNDOTBS1 y elimine el
tablespace de UNDO creado anteriormente (UNDOABD1).
SQL> ALTER SYSTEM SET UNDO_TABLESPACE = UNDOTBS1;
SQL> SHOW PARAMETER UNDO_TABLESPACE
*****Crear una segunda base de datos llamada DUOC y realizar la creacin de un DAT
ABASE LINK haca la base de datos ORCL. Considere lo siguiente:
******Las password de SYSTEM y SYS deben ser Duocadmin2015.