0% ont trouvé ce document utile (0 vote)
127 vues2 pages

Oracle TP2

Ce document décrit la gestion des index dans Oracle ainsi que les tables systèmes. Il présente des commandes pour créer et supprimer des index, consulter les tables systèmes, et afficher des informations sur l'architecture d'une base de données Oracle comme les fichiers de données et les processus.

Transféré par

yassine
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
127 vues2 pages

Oracle TP2

Ce document décrit la gestion des index dans Oracle ainsi que les tables systèmes. Il présente des commandes pour créer et supprimer des index, consulter les tables systèmes, et afficher des informations sur l'architecture d'une base de données Oracle comme les fichiers de données et les processus.

Transféré par

yassine
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université du Havre, Licence Pro DA2I, ABD, TP2, 15/11/2007, Enseignants : Nakechbandi M,

Thème : Architecture de Base de Données Oracle, les index.

A/ Gestion d’index.
Lorsque Le SGBD accède à une table, il la lit du début à la fin. Avec un index il peut accéder directement aux
lignes cherchées sans analyser les autres, les index sont donc un moyen d'effectuer des reqêtes plus rapidement.
Pour créer un index on utilise la commande CREATE INDEX
CREATE INDEX nom_idx ON nom_table (ch1, ch2);

1. Sous votre_nom_u1 créer et peupler une table bidon f d’une taille importante.
Indication :

create table f(N number(10), S number(10));


declare
i number (10);

begin
for i in 1..500000 loop
insert into f values(i, 500000-i+1);
end loop;
for i in 500001..1000000 loop
insert into f values(i, 1000000-i+1);
end loop ;
for i in 1000001..1500000 loop
insert into f values(i, 1500000-i+1);
end loop ;
end ;

2. Chercher une information dans f


Indication : select * from f where x in (125680, 555, 666600) ;

Ceci doit être coûteux en temps de calcul

3. Créer un index permettant d’améliorer l’accès à la table précédente f


Indication : CREATE INDEX index_f ON f (N, S);

4. Consulter à nouveau la table f


Indication : select * from f where x in (125680, 555, 666600) ;

5. Votre conclusion sur le temps de calcul ? (donner une comparaison approximative entre le temps de calcul
avant et après l’utilisation de l’index)

B/ Tables système (meta-tables).


6. Consulter la table système USER_INDEXES pour connaître vos objets de type index.
Indication : desc USER_INDEXES puis select … from USER_INDEXES;

7. Détruire (l’effacer) l’index f (drop index f)puis vérifier. (en consultant USER_INDEXES)

8. Donner le nom des tabes existant actuellement dans votre schéma.


Indication : desc tabs ; puis select … from tabs ;

1
9. Faire un petit teste en consultant une table système :
Indication : select * from dba_tablespaces ;

10. Consulter les tables systèmes (méta-base) suivantes :


 all_catalog /* table donnant toutes les tables accessibles */

 user_catalog /* table donnant les seules tables du USER */

 all_objects /* table donnant tous les objets accessibles */

 user_objects /* table donnant les seuls objets du USER */

C/ Architecture d’oracle
11. Donner la commande permettant d’afficher Les fichiers de contrôles (Control files) de la BD.

indication : consulter la table système V$CONTROLFILE


- Vérifier par rapport au schéma de la figure 1 (page 1).
- Vérifier également existence de ces fichiers au niveau système (LINUX)

12. Idem que la question précédente. Donner la commande permettant d’afficher Les fichiers de
journalisation (redo log files) de la BD.

13. Idem, trouver les fichiers de données de la base de données actuelle :


Indication : select file_name from DBA_DATA_FILES;
ou consulter la table système V$DBFILE

14. Trouver le nom de la base de données actuelle :


Indication : SELECT name FROM v$database;

15. Trouver les emplacements de fichiers de données précédent. Sont-ils accessible ? pourquoi ?

14. Consulter la table V$PARAMETER puis analyser son contenu


indication : describe V$PARAMETER, puis SELECT … FROM V$PARAMETER

15. Idem, l’ensemble de processus système relatifs à oracle


indication : Afficher les processus appartenant à l’utilisateur oracle en utilisant la commande système :
ps –axu | grep ora. (commande à taper dans une nouvelle fenêtre de commande)
On trouve entre autre : DBWR, LGWR, SMON, SMON , PMON

16. Trouver l’ensemble de processus utilisateur relatifs à oracle.


indication : Afficher les processus appartenant à l’utilisateur en utilisant la commande système (Linux) :
ps -aux | grep oracle | grep moi

Vous aimerez peut-être aussi