Vous êtes sur la page 1sur 5

Compte Rendue

TP2
1. Vérifier le type de vos tablespaces et la maniére de gestion des extents :

SQL> select TABLESPACE_NAME,STATUS from dba_tablespaces


TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
EXAMPLE ONLINE
USERDATA ONLINE
TAB01 ONLINE

2. Créer un tablespace Tab01 ,géré localement avec des extents de taille


uniforme de 50KO et une taille de 200ko extensible jusqu’à 500ko :

SQL> CREATE TABLESPACE Tab01


DATAFILE 'D:\app\fatih\oradata\orcl\Tab01.DBF' size 200ko
AUTOEXTEND ON NEXT 100K MAXSIZE 500k
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 50K

3. Créer un tablespace Tab02 répartis sur deux fichiers fich1.dbf de taille 4M et


un fichier fich2.dbf avec des paramétres de stockage par défault :

SQL> CREATE TABLESPACE Tab02


DATAFILE 'D:\app\fatih\oradata\orcl\fich1.DBF' size
4M,'D:\app\fatih\oradata\orcl\fich2.DBF' size 200ko
AUTOEXTEND ON NEXT 100K MAXSIZE 500k

4. Allouez 100ko d’espace disque supplémentaire au tablespace Tab01 :

SQL> ALTER DATABASE DATAFILE ' D:\app\fatih\oradata\orcl\ Tab01.dbf' resize 2560k;

5. Déplacer le tablespace Tab01 vers un sous-répertoire Tp :


SQL> alter tablespace Tab01 OFFLINE;
SQL> host copy D:\app\fatih\oradata\orcl\Tab01.DBF D:\app\fatih\oradata\TP\Tab01.DBF
1 fichier(s) copié(s).
SQL>
SQL>ALTER
ALTERTABLESPACE
TABLESPACEINDX01
INDX01Rename
Rename 2 datafile 'E:\app\pc\oradata\orcl\INDX01.DBF' 3
to
2 'E:\app\pc\oradata\u06\INDX01.DBF';
datafile 'D:\app\fatih\oradata\orcl\ Tab01.DBF'
3 to 'D:\app\fatih\oradata\TP\ Tab01.DBF';
Tablespace modifiÚ.
SQL> alter tablespace Tab01 ONLINE;

Tablespace modifiÚ.
SQL> select name, status from v$datafile;

NAME
--------------------------------------------------------------------------------
STATUS
-------
D:\APP\fatih\ORADATA\ORCL\Tab01.DBF ONLINE

D:\APP\fatih\ORADATA\TP\ Tab02.DBF ONLINE

9 ligne(s) sÚlectionnÚe(s).

6. Ajouter un deuxiéme fichier pour le tablespace Tab01 avec une taille de 100ko :

SQL> alter tablespace Tab01


2 add datafile 'D:\APP\fatih\ORADATA\TP\ fich3.DBF ' size 2M autoextend on maxsize 4M;
7. Créez une table dans le tablespace Tab01. Mettez le tablespace Tab01 en lecture
seule :
SQL> create table TABLE1 (Id_User INTEGER Primary key, Nom VARCHAR2(50) ) Tablespace
Tab01;
Table crÚÚe.
SQL> create table TABLE2 (Id INTEGER Primary key, N VARCHAR2(50) ) Tablespace Tab01;
Table crÚÚe.

SQL> alter tablespace Tab01 READ ONLY;

Tablespace modifiÚ .
SQL> select tablespace_name, status from dba_tablespaces;

8. Essayez de créer une autre table Table3, Supprimer la première table créée :
SQL> create table TABLE3 (Id_Produit INTEGER Primary key, Libelle VARCHAR2(50) )
Tablespace Tab01;
create table TABLE3 (Id_Produit INTEGER Primary key, Libelle VARCHAR2(50) )
Tablespace Tab01; *
ERREUR Ó la ligne 1 :
ORA-01647: tablespace 'Tab01' en lecture seule - impossible d'affecter de l'espace

Pour vérifier l’utilisation de spfile indiqué on exécute la commande suivante :

9. Créer une procedure stockée qui permet de faire une insertion des entiers dans
table2 avec une boucle infini
SQL> set serverout on;
create or replace procedure infini
is
test Boolean:=false;
i number:=0;
Begin
While not test
Loop
Insert into TABLE2 values(i);
Commit;
i:=i+1;
end loop;
end;
/

10. Supprimer le tablespace Tab02 :

SQL> Drop tablespace Tab02


2 including contents and datafiles;

11. Créer un tablespace Tab03 avec la méthode OMF :

QL> ALTER SYSTEM SET


2 db_create_file_dest = 'D:\';
SQL> CREATE TABLESPACE Tab03 DATAFILE SIZE 20M;

12. Créer utilisateur u1 sur tablespace Tab03 :

SQL> create user u1 identified by u1 default tablespace Tab03;

13. Attribuer les privélèges à u1 :

SQL> grant resource ,connect to u1;