Vous êtes sur la page 1sur 2

FSTT 2012 LSI2 DBA1

Tp1 (Tablespaces & Users)

Un schma est dfini comme un utilisateur qui possde des donnes comme les tables, vues, index,
etc. Si un utilisateur n'a pas de propres donnes et se connecte simplement et demandes
d'information alors il nest pas considrs comme un schma. C'est la diffrence entre un schma et
un utilisateur.

Oracle appelle un schma ce que les autres SGBD lappellent une base de donnes.

La base de donnes Oracle peut avoir des nombreux schmas et chaque schma peut interroger
d'autres schmas dans la mme base de donnes. Aussi les schmas peuvent communiquer sur des
liens de base de donnes avec d'autres schmas sur dautres bases de donnes distantes.

La communication entre les schmas n'est limite que par les autorisations que vous mis en place.

Crer un tablespace

Avant de crer un schma vous devrez crer un fichier (ou plus d'un fichier) o le schma va stocker
ses donnes. Ce fichier (ou un ensemble de fichiers) o le schma crit ses donnes est appel un
tablespace.

Notez que vous pouvez crer plusieurs tablespace pour un schma (exp : tablespace pour les tables et un autre
pour les index )

Premire connexion la base de donnes en ligne de commande l'utilisateur sys:

$ sqlplus /nolog

SQL> connect / as sysdba

Maintenant que vous tes connect, vous pouvez crer un tablespace.

La dfinition que j'utilise ci-dessous cre un tablespace appel LSI_DATA qui est de 1 Go de
taille et utilise le fichier de donnes c:\oracle \orcl\lsi_data_01.dbf

SQL> create tablespace LSI_DATA


datafile ' c:\oracle \orcl\lsi_data_01.dbf' size 1000M
extent management local autoallocate
segment space management auto

Crer l'utilisateur
le tablespace est cr, nous pouvons maintenant crer l'utilisateur.

La raison pour laquelle nous avons d premirement crer le tablespace est que le nom du
tablespace est utilis dans la dfinition de l'utilisateur.

Pour crer un utilisateur, nous utilisons la chane suivante qui cre un utilisateur nomm lsi avec mot
de passe lsi et utilise le tablespace LSI_DATA.

Page 1 sur 2
FSTT 2012 LSI2 DBA1

SQL> create user lsi identified by "lsi" default tablespace LSI_DATA;

Maintenant que l'utilisateur est cr nous allons lui attribuer des permissions de base afin qu'ils
puissent commencer travailler. La premire permission dont il a besoin est appel CONNECT.
Cela lui permettra de se connecter la base de donnes.

La deuxime permission quil aura besoin est un quota sur le tablespace afin quil puisse y crire.
Et enfin, nous allons lui donner une permission appel CREATE TABLE qui lui permettra de
crer des tables.

Voici la syntaxe pour les trois autorisations:

SQL> grant connect to lsi;


SQL> alter user lsi quota unlimited on LSI_DATA;
SQL> grant create table to lsi;

Avec les autorisations en place, nous pouvons maintenant crer une table de base qui va changer cet
utilisateur en un schma car elle dtiendra dsormais ses propres donnes.

D'abord vous connecter en tant qu'utilisateur

SQL> connect lsi/lsi

Maintenant, crez une table de test rapide pour s'assurer que les choses fonctionnent comme prvu.

Dans cet exemple nous allons crer une table appele TEST qui a deux colonnes appel name ET age:

SQL> create table TEST (name varchar2(32), age number);

Maintenant passons insrer deux lignes dans la table avec des donnes alatoires:

SQL> insert into TEST (CITY, POPULATION) values ('ahmed', 10);


SQL> insert into TEST (CITY, POPULATION) values ('kamal', 20);
SQL> commit;
Enfin examiner le contenu de la table l'aide de SELECT pour afficher les lignes qui ont t insrs:

SQL> select * from test;

Page 2 sur 2