Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/12/2010, 10h41   #1
Membre à l'essai
 
Inscription : avril 2003
Messages : 92
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2003
Messages : 92
Points : 24
Points : 24
Par défaut Alter Constraint et lock des tables

Bonjour à tous,

je sollicite votre aide sur un probleme de lock sur une table suite à un alter constraint.

J'ai une table de 13Go avec des millions de ligne dans laquelle je dois modifier des codes.
sur cette table j'ai une contrainte que je désactive pour effectuer ma mise à jour

Une fois ma mise à jour effectuée, je réactive la contrainte.

Or la réactivation de cette contrainte prend environ 3h et pendant ces 3 heures ma table est locké.

pour mon client, il est hors de question que l'activité soit bloquée pendant ces 3h (7/7 h24)

Avez vous deja ete contronté à ce genre de probleme et quelle solution pourrions nous apporter ?

Merci de votre aide
elkamaro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 14h16   #2
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
c'est le vérification de l'intégrité de la contrainte qui prend du temps.
Il me semble que tu peux réactiver la contrainte sans vérification des données déjà présente, un option NOCHECK.
Va voir dans la doc.
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 15h52   #3
Membre à l'essai
 
Inscription : avril 2003
Messages : 92
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2003
Messages : 92
Points : 24
Points : 24
Citation:
Envoyé par 7gyY9w1ZY6ySRgPeaefZ Voir le message
c'est le vérification de l'intégrité de la contrainte qui prend du temps.
Il me semble que tu peux réactiver la contrainte sans vérification des données déjà présente, un option NOCHECK.
Va voir dans la doc.
Merci pour ta réponse

je n'ai pas trouvé l'option NOCHECK avec le alter constraint

je l'ai seulement trouver avec le create table whith nocheck add constraint

Donc ce que je pense faire, c est
- de complètement supprimer ma contraint
- faire mes maj
- ajouter ma contraint a la table avec un nocheck

vous en pensez quoi ?
elkamaro est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/12/2010, 15h55   #4
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
Citation:
Envoyé par elkamaro Voir le message
Donc ce que je pense faire, c est
- de complètement supprimer ma contraint
- faire mes maj
- ajouter ma contraint a la table avec un nocheck

vous en pensez quoi ?
De mémoire - ça fait un certain temps que je ne fais plus d'Oracle en prod maintenant - c'est comme ça que l'on procédait.
Suppression de la contrainte / MÀJ / Recréation de la contrainte avec NOCHECK !
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 21h05   #5
Membre Expert
 
Avatar de pachot
 
Homme Franck Pachot
DBA Oracle
Inscription : novembre 2007
Messages : 703
Détails du profil
Informations personnelles :
Nom : Homme Franck Pachot
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : DBA Oracle
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2007
Messages : 703
Points : 1 630
Points : 1 630
Par défaut novalidate

Bonjour,
C'est NOVALIDATE qui permet d'activer une contrainte sans vérifier les données existantes. Et si tu est sur que la contrainte n'est pas violée par tes modifications, tu peux ajouter RELY pour que l'optimiseur puisse se fier à la contrainte.
Cordialement,
Franck.
__________________
A lire sur mon blog Oracle - Articles d'Experts des articles traduits en français de Jonathan Lewis, Tom Kyte, Doug Burns, Cary Millsap, Greg Rahn ...
pachot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2010, 10h25   #6
Membre à l'essai
 
Inscription : avril 2003
Messages : 92
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2003
Messages : 92
Points : 24
Points : 24
Citation:
Envoyé par pachot Voir le message
Bonjour,
C'est NOVALIDATE qui permet d'activer une contrainte sans vérifier les données existantes. Et si tu est sur que la contrainte n'est pas violée par tes modifications, tu peux ajouter RELY pour que l'optimiseur puisse se fier à la contrainte.
Cordialement,
Franck.
Bonjour Franck et merci pour ta réponse,

En fait au moment ou je desactive ma contrainte je suis sur qu elle n'est pas violé.
De même au moment ou je voudrais la réactiver, je serai sur que mes données seront aussi cohérente (du moins je tâcherais qu'elle le soit)

A ce moment la, je peux donc faire un enable novalidate ?

Par contre pour l'option RELY, je n'ai pas tres bien compris en quoi il agit ?

Merci pour ton aide
elkamaro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2010, 11h35   #7
Membre Expert
 
Avatar de pachot
 
Homme Franck Pachot
DBA Oracle
Inscription : novembre 2007
Messages : 703
Détails du profil
Informations personnelles :
Nom : Homme Franck Pachot
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : DBA Oracle
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2007
Messages : 703
Points : 1 630
Points : 1 630
Oui c'est ça.
RELY c'est pour que tu garantisse à Oracle que la contrainte n'est pas violée, et qu'il peut en tenir compte pour ses optimisations.
__________________
A lire sur mon blog Oracle - Articles d'Experts des articles traduits en français de Jonathan Lewis, Tom Kyte, Doug Burns, Cary Millsap, Greg Rahn ...
pachot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 14h44   #8
Membre à l'essai
 
Inscription : avril 2003
Messages : 92
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2003
Messages : 92
Points : 24
Points : 24
Citation:
Envoyé par pachot Voir le message
Oui c'est ça.
RELY c'est pour que tu garantisse à Oracle que la contrainte n'est pas violée, et qu'il peut en tenir compte pour ses optimisations.
Merci pachot pour ton aide et ta solution, elle nous convient parfaitement
elkamaro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h30.


 
 
 
 
Partenaires

Hébergement Web