IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Import/Export Oracle Discussion :

Table + Index Partionnées


Sujet :

Import/Export Oracle

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Points : 55
    Points
    55
    Par défaut Table + Index Partionnées
    Voila j'ai une table avec 3.5 million de lignes et je voudrais essaye dans faire une table partionnees avec un index partionnees, histoire de voir si les perfs peuvent etre meilleur?

    Je voudrais faire des range partitions (table et index).
    Quelqu'un a t-il déja fais ce genre de chose?
    Merci

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut Re: Table + Index Partionnées
    Citation Envoyé par superfly
    Voila j'ai une table avec 3.5 million de lignes et je voudrais essaye dans faire une table partionnees avec un index partionnees, histoire de voir si les perfs peuvent etre meilleur?

    Je voudrais faire des range partitions (table et index).
    Quelqu'un a t-il déja fais ce genre de chose?
    Merci
    Merci d'être précis dans votre question !
    Quel genre d'infos recherchez-vous ?
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Points : 55
    Points
    55
    Par défaut
    En fait je voulais savoir si quelqu'un avait déjà implémenté cela sur une table existante car le souci c'est que cela modifie la structure de la table. Donc il faut extraire les données puis les remettres...
    J'ai extraits les données avec EXP et je les ai importé avec IMP, et biensur j'ai plus rien dans la table comme si il ne pouvait pas importer les données....

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Points : 55
    Points
    55
    Par défaut
    je crois que j'ai trouvé mon problème....

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Points : 55
    Points
    55
    Par défaut
    voici un petit bout de code et l'erreur que me génère Oracle, peut-etre que quelqu'un aura une idée car moi je suis un peu sec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    CREATE TABLE t_Historique 
         (   NUM_ETA    NUMBER(8),
      NUM_ASS    NUMBER(6),
      NUM_CLI    NUMBER(6),
      NUM_AFF    NUMBER(2),
      COD_ACT    VARCHAR2(5),
      COD_BNF    VARCHAR2(5),
      NUM_SIN    NUMBER(8),
      NUM_GAR    NUMBER(3),
      COD_ART    VARCHAR2(5),
      COD_TAB    VARCHAR2(2) not null,
      COD_EVT    VARCHAR2(5) not null,
      COD_USR    VARCHAR2(15) not null,
      COD_COU    VARCHAR2(10),
      DAT_HST    DATE not null,
      LIB_IMGAVT VARCHAR2(60),
      LIB_IMGAPR VARCHAR2(60),
      COD_DOC    VARCHAR2(5) )
       PARTITION BY RANGE ( NUM_CLI)
         ( PARTITION num_cli_q1 VALUES LESS THAN ( 100000)
            TABLESPACE INDEX_3)
         ENABLE ROW MOVEMENT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Fichier d'export créé par EXPORT:V08.01.07 via le chemin classique
    import effectué dans le jeu de caractères WE8ISO8859P1 et le jeu NCHAR WE8ISO8859P1
    . Import d'objets OP dans OP
    . . Import de la table                  "T_HISTORIQUE"
    IMP-00058: Erreur ORACLE 14400 rencontrée
    ORA-14400: la clé de partition insérée dépasse la limite supérieure autorisée
    IMP-00028: Import partiel de la table précédente annulée : lignes 190660 annulées
    Préparation à l'activation des contraintes...
    Fin de l'import réussie avec avertissements.
    Merci

  6. #6
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Bonjour,

    C'est normal que cela plante. Tu as créé une table partitionnée avec une seule partition qui accueille les données inférieures à 100000.

    Or tout semble indiquer que ta table d'origine contient des données supérieures à 100000. Et le pb, c'est qu'il n'y a pas une autre partition pour accueillir ce genre de valeurs.

    Tu aurais du créer ta table avec 2 partitions, de la manière suivante :

    Code:

    CREATE TABLE t_Historique
    ( NUM_ETA NUMBER(8),
    NUM_ASS NUMBER(6),
    NUM_CLI NUMBER(6),
    NUM_AFF NUMBER(2),
    COD_ACT VARCHAR2(5),
    COD_BNF VARCHAR2(5),
    NUM_SIN NUMBER(8),
    NUM_GAR NUMBER(3),
    COD_ART VARCHAR2(5),
    COD_TAB VARCHAR2(2) not null,
    COD_EVT VARCHAR2(5) not null,
    COD_USR VARCHAR2(15) not null,
    COD_COU VARCHAR2(10),
    DAT_HST DATE not null,
    LIB_IMGAVT VARCHAR2(60),
    LIB_IMGAPR VARCHAR2(60),
    COD_DOC VARCHAR2(5) )
    PARTITION BY RANGE ( NUM_CLI)
    ( PARTITION num_cli_q1 VALUES LESS THAN ( 100000) TABLESPACE INDEX_3,
    PARTITION num_autres VALUES LESS THAN (MAXVALUE) TABLESPACE INDEX_3
    ) ENABLE ROW MOVEMENT
    Comme tu le vois, j'ai créé la table avec une autre partition NUM_AUTRES et en spécifiant la clause MAXVALUE.

    Sinon, au lieu de détruire ta table et de la recréer avec 2 partitions, tu peux utiliser un ALTER TABLE ... SPLIT PARTITION...

    Merci de regarder la doc Oracle pour en savoir plus sur cette syntaxe

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Points : 55
    Points
    55
    Par défaut
    Merci rouardg

  8. #8
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Pour répondre à la problématique de performance, je te confirme que les indexes partitionnés peuvent résoudre des problémes de perf sur les gros volume... en revanche je suis beaucoup moins convaincu par le partitionnement de la table

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [9i] Taille table / index
    Par sygale dans le forum Oracle
    Réponses: 5
    Dernier message: 23/01/2007, 09h18
  2. Creation d'une table indexée sur un TINYTEXT
    Par EvilAngel dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 20/08/2006, 19h03
  3. Accès à une Table Indexée (index composite) en VBA ACCESS
    Par Denis VERNON dans le forum Access
    Réponses: 1
    Dernier message: 21/04/2006, 18h47
  4. en-tête de table/index endommagée
    Par colombe dans le forum Bases de données
    Réponses: 5
    Dernier message: 08/10/2005, 11h55
  5. vider table + index primaire
    Par jihed dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/07/2004, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo