Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour 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 27/05/2008, 11h25   #1
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Par défaut UPDATE sans redlog

Bonjour à tous,

Je souhaite faire un update, mais il ne passe pas à cause de l'espace disque qui arrive à saturation.

Comment puis-je désactiver le redolog temporairement ?

Merci d'avance
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 11h36   #2
Membre chevronné
 
Avatar de philcero
 
Inscription : septembre 2007
Messages : 519
Détails du profil
Informations personnelles :
Âge : 40
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2007
Messages : 519
Points : 649
Points : 649
Les REDO LOGS ne consomment ni plus ni moins d'espace quelle que soit la transaction, ils restent à taille constante...

Veux-tu parler des ARCHIVE LOGS dans ce cas ?

En ce qui concerne l'utilisation des REDO LOGS (Qui créé de l'ARCHIVE LOG si la base est bien configurée) tu peux déclarer ta table en mode NOLOGGING mais mesure bien les conséquences car en cas de pépin, adieu la base, faudra restaurer à T-N.

Pour ma part je pense qu'il est largement préférable de faire un script qui compresse et transmet les ARCHIVE LOGS sur une autre machine si vraiment il y a besoin de place. Mais bypasser les REDO LOGS c'est loin d'être top...
philcero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 12h13   #3
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
NOLOGGING n'a aucun effet sur l'update

http://download-west.oracle.com/docs...ables.htm#8262

Citation:
The NOLOGGING clause also specifies that subsequent direct loads using SQL*Loader and direct load INSERT operations are not logged. Subsequent DML statements (UPDATE, DELETE, and conventional path insert) are unaffected by the NOLOGGING attribute of the table and generate redo.
Le problème d'espace disque est lié à quoi ? Tablespace, UNDO, archivelog, flashback logs ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 12h20   #4
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Pour faire simple, voici le message que j'ai :

Code :
ORA-01562: failed TO extend rollback segment number 239
que me conseillez-vous ? Sachant que je n'ai pas la main pour augmenter le tablespace.
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 12h45   #5
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 458
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 458
Points : 4 225
Points : 4 225
Quelle version de base ?

Dans les versions 8, on pouvait spécifier un rollback segment à utiliser (généralement un RBS_BIG était créé)

Sinon, faut séquencer ton update et commiter.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 12h46   #6
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Je suis en 10g. J'ai fais justement un where ultra précis, mais ça passe pas

Citation:
Envoyé par McM Voir le message
Quelle version de base ?

Dans les versions 8, on pouvait spécifier un rollback segment à utiliser (généralement un RBS_BIG était créé)

Sinon, faut séquencer ton update et commiter.
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 12h48   #7
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 458
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 458
Points : 4 225
Points : 4 225
Tu dois mettre à jour combien de lignes ?
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 13h09   #8
Membre chevronné
 
Avatar de philcero
 
Inscription : septembre 2007
Messages : 519
Détails du profil
Informations personnelles :
Âge : 40
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2007
Messages : 519
Points : 649
Points : 649
Citation:
NOLOGGING n'a aucun effet sur l'update
Merci pour l'info, j'étais resté sur une idée erronée, et vu que j'ai jamais vérifié par la suite...



Maintenant si on en revient à ses moutons, il veut faire un update massif si j'ai bien compris.

Pourquoi dans ce cas ne pas, en PL/SQL, cibler par un curseur les clefs des lignes à modifier, récupérer celles-ci avec un BULK COLLECT, et ensuite faire le traitement par tranches avec un commit tous les N lignes ?
philcero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 13h22   #9
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
J'ai trouvé encore plus préçis....
ça va être long mais je devrais y arrivé, merci pour votre aide à tous.
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 13h27   #10
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 458
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 458
Points : 4 225
Points : 4 225
J'avoue ne pas comprendre le "plus précis".
Tu faisais des updates qui servaient à rien, c'est ça ?
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 13h37   #11
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Je faisais un update en utilisans dans le where une date, je faisais par jour, là je suis descendu par heure...
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 13h37   #12
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 320
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 320
Points : 5 839
Points : 5 839
Citation:
Envoyé par McM Voir le message
J'avoue ne pas comprendre le "plus précis".
Tu faisais des updates qui servaient à rien, c'est ça ?
You made my day

Je pense qu'il n'a pas envie de partager cette découverte avec nous.
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 13h43   #13
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Je ne comprends pas pourquoi vous concluez ça ?
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 14h24   #14
Membre chevronné
 
Avatar de philcero
 
Inscription : septembre 2007
Messages : 519
Détails du profil
Informations personnelles :
Âge : 40
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2007
Messages : 519
Points : 649
Points : 649
Citation:
Je faisais un update en utilisans dans le where une date, je faisais par jour, là je suis descendu par heure...
Fais attention car en se basant sur la date & heure rien ne dit que la répartition de tes données ne va pas faire arriver ton algorithme sur une date & heure qui à elle seule représente 5% de ta base...
philcero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 14h33   #15
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Oui, c'est plutot aléatoire, mais ça se passe bien pour le moment
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 16h02   #16
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 320
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 320
Points : 5 839
Points : 5 839
Citation:
Envoyé par shadeoner Voir le message
Je ne comprends pas pourquoi vous concluez ça ?
Désolé, je répondu trop vite et je me suis trompé. Voilà.
mnitu 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 17h41.


 
 
 
 
Partenaires

Hébergement Web