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

SQL Oracle Discussion :

Activer la PK pour une table historique partitionnée par mois >=650 Go


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 46
    Par défaut Activer la PK pour une table historique partitionnée par mois >=650 Go
    Hello tout le monde,

    J'ai besoin d'un coup de main pour un problème sur notre chargement mensuel.

    En effet, nous avons désactivé la PK sur une table historique de 650 Go (avec plus 10 ans d'historique).

    Il s'agit d'une table partitionnée par mois.

    Par contre, maintenant, nous n'arrivons plus de l'activer la PK. Nous avons utilisé
    le script
    ALTER TABLE table_name ENABLE CONSTRAINT constraint_name;
    Par contre ce script est tombé en erreur au bout de 6 jours.

    Est-ce que vous avez une solution pour réactiver la PK de cette table?

    Merci beaucoup par avance,

    Cordialement,

    KinkiChin

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Bonsoir,

    Êtes-vous sûr que la contrainte d'unicité de la PK est respectée ?

    Êtes-vous sûr que la contrainte de NOT NULL de la PK est respectée ?

    Sinon, cette erreur "au bout de 6 jours" elle dit quoi ?

    devYan

  3. #3
    Membre averti
    Inscrit en
    Février 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 46
    Par défaut
    Bonjour,

    Les données sont bonnes. Il n'y a pas de null pas de doublons pour le PK.

    Par contre, le script est rejeté plutôt par la session timeout.

    Dans ce cas là, est-ce qu'il y a un autre moyen à mettre en disposition la PK de la table ou pas?

    Cordialement

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 37
    Par défaut
    Bonjour,

    si il vous est possible d'avoir une plage horaire sans insertion dans votre table historique (et assez de place disque), vous pouvez créer une table "temporaire" ayant la même structutre que votre table historique et ayant la bonne PK, puis remplir la table temporaire avec les données de la table historique. Supprimer la table historique, et renommer la table temporaire en historique.

    Il faut voir le temps que cela met, et voir ce qui peut être fait avec un create as select comme primary key et partitionnement.

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/03/2006, 16h58
  2. Je n'arrive pas à un treeview pour une table Access
    Par clemasson dans le forum Access
    Réponses: 2
    Dernier message: 01/03/2006, 12h49
  3. lien pour une table qui ne doit pas etre public
    Par raslain dans le forum Oracle
    Réponses: 1
    Dernier message: 12/12/2005, 13h40
  4. Changement de tablespace pour une table
    Par slyv dans le forum Oracle
    Réponses: 5
    Dernier message: 28/04/2005, 20h46
  5. Créer une partition pour une table
    Par Erakis dans le forum SQL Procédural
    Réponses: 22
    Dernier message: 28/02/2005, 18h39

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