Bonjour,
J'ai une base de données qui est en production, je voudrais faire une mise à jour d'une table avec la commande suivante:
Comme la table TESTREQ contient beaucoup de données, l'exécution de la commande va durer plus de 8 heures.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ALTER TABLE TESTREQ MODIFY ( PrimarySampleSampleType DEFAULT 1 NOT NULL NOVALIDATE, PrimarySampleSubjectState DEFAULT 1 NOT NULL NOVALIDATE, PrimarySampleDilution DEFAULT 0 NOT NULL NOVALIDATE, AnalysisMethod DEFAULT 1 NOT NULL NOVALIDATE, AnalysisPriority DEFAULT 1 NOT NULL NOVALIDATE, AnalysisPerformer DEFAULT 1 NOT NULL NOVALIDATE, AnalysisOrganization DEFAULT 1 NOT NULL NOVALIDATE )
Mon objectif est de réduire ce temps pour ne pas trop perturber la production.
J'ai essayé de diviser la commande comme suit:
1)
2)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ALTER TABLE TESTREQ ADD ( PrimarySampleSampleType NUMBER, PrimarySampleSubjectState NUMBER, PrimarySampleDilution NUMBER, AnalysisMethod NUMBER, AnalysisPriority NUMBER, AnalysisPerformer NUMBER, AnalysisOrganization NUMBER );
3)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ALTER TABLE TESTREQ MODIFY ( PrimarySampleSampleType DEFAULT 1, PrimarySampleSubjectState DEFAULT 1, PrimarySampleDilution DEFAULT 0, AnalysisMethod DEFAULT 1 , AnalysisPriority DEFAULT 1, AnalysisPerformer DEFAULT 1, AnalysisOrganization DEFAULT 1 )
Une application qui va mettre les valeurs par défaut sur les enregistrement existant.
4)
Mais ce 4° commande prendre toujours beaucoup de temps.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ALTER TABLE TESTREQ MODIFY ( PrimarySampleSampleType NOT NULL, PrimarySampleSubjectState NOT NULL, PrimarySampleDilution NOT NULL, AnalysisMethod NOT NULL, AnalysisPriority NOT NULL, AnalysisPerformer NOT NULL, AnalysisOrganization NOT NULL )
Est ce qu'il y a possibilité que l'Oracle accepte de changer les contraints mais sans faire la vérification des données ?
Partager