Bonjour à tous,

J'ai 2 questions :

1) vaut il mieux utiliser une table partitionnée ou un index partitionné?

2) problème sur une manip.
Voilà, j'ai suivit la procédure suivante :
Partitioning Existing Tables à l'adresse suivante
http://www.oracle-base.com/articles/...exes.php#Range

Cette procédure m'a permis de transformer une table non partitionnée avec des données existante en table partitionnée.
J'ai juste modifier le scipt suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
CREATE TABLE my_table_2 (id NUMBER,  description  VARCHAR2(50))
PARTITION BY RANGE (id)
(PARTITION my_table_part VALUES LESS THAN (MAXVALUE));
en
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
CREATE TABLE my_table_2 (id NUMBER,  description  VARCHAR2(50))
PARTITION BY RANGE (id)
(PARTITION my_table_part1 VALUES LESS THAN (10) tablespace "user",
PARTITION my_table_part2 VALUES LESS THAN (20) tablespace "user",
PARTITION my_table_part1 VALUES LESS THAN (MAXVALUE) tablespace "user");
et donc les alter exchange partition pour les 3 partitions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
ALTER TABLE my_table_2  EXCHANGE PARTITION my_table_part1  WITH TABLE my_table  WITHOUT VALIDATION;
ALTER TABLE my_table_2  EXCHANGE PARTITION my_table_part2  WITH TABLE my_table  WITHOUT VALIDATION;
ALTER TABLE my_table_2  EXCHANGE PARTITION my_table_part3  WITH TABLE my_table  WITHOUT VALIDATION;
avec creation d'une cle primaire

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
alter table my_table add (constraint "code_PK" primary key (id);
Et maintenant si je fait une requete avec une clause where sur id tel que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select * from my_table where id='1'
et bien je n'ai aucun resultat, alors que je vous assure qu'il existe !!!!

Merci pour votre aide