Ejercicios TableSpace Oracle

Ejercicios TableSpace Oracle page 1
Ejercicios TableSpace Oracle page 2
Ejercicios TableSpace Oracle page 3
download Ejercicios TableSpace Oracle

of 3

  • date post

    21-Aug-2014
  • Category

    Documents

  • view

    149
  • download

    4

Embed Size (px)

Transcript of Ejercicios TableSpace Oracle

hola a todos, aqui he transcrito de mis apuntes unos cuantos ejercicios para practicar un poco bajo el ORACLE XE 10g, ya sea en linux o en windows, las respuestas las tengo, pero las dar en otro POST saludos. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx TAREA 1 - cambiar una tabla de tablespace xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx TAREA 2 - crear un nuevo usuario (2) que tenga los permisos de INSERT, UPDATE sobre la tabla persona - crear un nuevo usuario (2) que tenga el permiso de ejecutar el procedimiento almacenado del usuario 1 - verificar en una vista del diccionario de datos, los indices creados por el usuario 1 ## la tabla persona ############################ CREATE rut nombre paterno materno CONSTRAINT PK_PER PRIMARY KEY(rut)); TABLE NUMBER VARCHAR(40) VARCHAR(40) VARCHAR(40) persona( NULL, NULL, NULL, NULL,

NOT NOT NOT NOT

## El Procedimiento ############################ CREATE PROCEDURE dos IS a DATE;

BEGIN a:= 23456789; END; / xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx TAREA 3 - Consultar la vista para ver los permisos o privilegios otorgados de un user a otro Quitar los permisos de UPDATE sobre un objeto, verificar. Asignar un cuota para un usuario nuevo sobre un tablespace. Probar con asignacion de cuota 0 (no en system). - Averiguar si puede dar el permiso sobre una sola columna, por ejemplo la direccion de una persona xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx TAREA 4

- Modificar el init.ora, por ejemplo el DB_NAME = new, subir la BD y verificar el parametro - modifique otro parametro en ejecucion (ALTER SESS) y verificar el nuevo valor xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx TAREA 5 crear un nuevo tablespace llamado DATOS de tamao 8M Asignar un usuario nuevo jperez en ese tablespace - Asignar una cuota de 2M al usuario nuevo y realizar un DML (INSERT) para copar esta cuota verifique el error ORA-xxxx entregado - Realizar un DML (INSERT) masivo para copar el tamao del tablespace, verifique el error ORA-xxxx entregado - Ahora usted debe ampliar el tablespace agregando un nuevo DATAFILE asi: suponiendo que existe un DATAFILE datos01.dbfTAREA1 ## aqu crear primero CREATE DATAFILE SIZE 50M EXTENT MANAGEMENT LOCAL; un tablespace TABLESPACE para este. data01 H:/ORACLEXE/ORADATA/XE/DATA001.DBF ON MAXSIZE 1G luego cambiarla a

AUTOEXTEND

## Ahora basndome en la taba persona, har un select a la vista USER_TABLES para verificar en que tablespace se encuentra originalmente SQL> SELECT table_name, tablespace_name, status FROM user_tables; ##ahora realizar el cambio SQL> ALTER table persona MOVE TABLESPACE data01; ## y finalmente volvemos a realizar el select a la vista para verificar que esta correcto SQL> SELECT table_name, tablespace_name, status FROM user_tables; ________________________________________________________________________________ TAREA2 ## Creacin de SQL> CREATE USER usuario1 SQL> CREATE USER usuario2 IDENTIFIED BY pass2; ## Aqu les doy privilegios de conexin SQL> GRANT connect SQL> GRANT create table TO usuario1; ## Me conecto SQL> SQL> USR1> rut nombre paterno materno CONSTRAINT USR1>CREATE a BEGIN a:= END; / al usuario SET 1 para y de los dos usuarios pass1;

IDENTIFIED

BY

creacin TO

de

tablas (solo usuario1,

al

usuario 1) usuario2;

crear la tabla y asignarle privilegios al usuario 2 sobre ella CONNECT usuario1/pass1; SQLPROMPT USR1> ; CREATE TABLE persona( NUMBER, VARCHAR(40) NOT NULL, VARCHAR(40) NOT NULL, VARCHAR(40) NOT NULL, pk_per PRIMARY KEY(rut)); PROCEDURE dos IS DATE; 05-jun-1999;

## Aqu le asigno los privilegios de INSERT y UPDATE sobre la tabla persona al USUARIO2 desde el USUARIO1. USR1> GRANT insert, update ON persona TO usuario2; ## aqu le asigno permiso de USR1>GRANT execute ON dos TO usuario2; ejecucin del procedimiento almacenado al USUARIO2

PARA VER LOS INDICES CREADOS POR EL USUARIO 1 ES COSA DE VER LA VISTA LLAMADA USER_INDEXES, REALIZANDO UN DESCRIBE PODRS SABER LOS CAMPOS QUE CONTIENE DICHA VISTA, ESTO SE HACE DE LA SIGUIENTE MANERA: SQL> DESC user_indexes; CON ESO PODRS VER TODOS LOS CAMPOS. BUENO HASTA LA TAREA DOS POR HOY, SALUDOS