KILLED/ROLLBACK

Le
Ch.
Bonjour,

nous avons des tables qui nous servent à faire des calculs. (plusieurs
millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée du
calcul, il fait un enorme rollback qui peut durer plusieurs heures parfois
meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment puis je
faire pour interrompre le calcul de manniere immediate ?

thank's !
Ch.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred BROUARD
Le #21385171
Bonjour,

Ch. a écrit :
Bonjour,

nous avons des tables qui nous servent à faire des calculs. (plusieurs
millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée du
calcul, il fait un enorme rollback qui peut durer plusieurs heures
parfois meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment puis
je faire pour interrompre le calcul de manniere immediate ?



Cela n'est pas possible. Un SGBDR n'est pas un tableur. La
journalisation des transactions est donc inévitable pour conserver
l'intégrité de la base.
Ce que vous pouvez faire éventuellement, c'est découper votre traitement
en plusieurs petites transactions, par exemple en stockant certains
résultats intermédiaires dans des tables temporaires. Dès lors le
rollback se produira sur une moins grande portion du journal.

A +


thank's !
Ch.





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************
Ch.
Le #21388081
je l'ai posé même si ej me doutais du resultat.
y a quand meme une chose que je n'ai pas compris.
le lancement avait ete fait par un DEV sur 15mns, il a coupé en appuyant sur
cancel.

mais 24h apres il etait tjrs en rollback.
donc j'ai du utiliser une maniere drastique, mais que justement je n'aime
pas trop.
je m'etais donc dis qu'il y avait peut etre une commande de kill, sans qu'il
utilise le rollback.
car comme c'est une table calculée je me fou qu'elle soit pas bonne elle
sera droppée de toute maniere.


tant pis.
je vais leur dire...
Ch.


"Fred BROUARD" news:
Bonjour,

Ch. a écrit :
Bonjour,

nous avons des tables qui nous servent à faire des calculs. (plusieurs
millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée du
calcul, il fait un enorme rollback qui peut durer plusieurs heures
parfois meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment puis
je faire pour interrompre le calcul de manniere immediate ?



Cela n'est pas possible. Un SGBDR n'est pas un tableur. La journalisation
des transactions est donc inévitable pour conserver l'intégrité de la
base.
Ce que vous pouvez faire éventuellement, c'est découper votre traitement
en plusieurs petites transactions, par exemple en stockant certains
résultats intermédiaires dans des tables temporaires. Dès lors le rollback
se produira sur une moins grande portion du journal.

A +


thank's !
Ch.





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************
Fred BROUARD
Le #21389121
Il est parfaitement normal qu'un rollback sur un grosse proc dure très
longtemps. En effet, jouer un journal "à l'envers" pour défaire des
modifs est bien plus couteux que de le le laisser continuer. EN effet
l'agorithme ARIES des JT est basé sur le principe du WAL : write Ahead
Log. Pendant que beaucoup de monde écrit en ajout, votre rollback doit
lire le journal en arrière !
Seule solution pour optimiser le rollback : passer la base en
utilisateur unique.

Ch. a écrit :
je l'ai posé même si ej me doutais du resultat.
y a quand meme une chose que je n'ai pas compris.
le lancement avait ete fait par un DEV sur 15mns, il a coupé en appuyant
sur cancel.

mais 24h apres il etait tjrs en rollback.
donc j'ai du utiliser une maniere drastique, mais que justement je
n'aime pas trop.
je m'etais donc dis qu'il y avait peut etre une commande de kill, sans
qu'il utilise le rollback.
car comme c'est une table calculée je me fou qu'elle soit pas bonne elle
sera droppée de toute maniere.


tant pis.
je vais leur dire...
Ch.


"Fred BROUARD" news:
Bonjour,

Ch. a écrit :
Bonjour,

nous avons des tables qui nous servent à faire des calculs.
(plusieurs millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée du
calcul, il fait un enorme rollback qui peut durer plusieurs heures
parfois meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment
puis je faire pour interrompre le calcul de manniere immediate ?



Cela n'est pas possible. Un SGBDR n'est pas un tableur. La
journalisation des transactions est donc inévitable pour conserver
l'intégrité de la base.
Ce que vous pouvez faire éventuellement, c'est découper votre
traitement en plusieurs petites transactions, par exemple en stockant
certains résultats intermédiaires dans des tables temporaires. Dès
lors le rollback se produira sur une moins grande portion du journal.

A +


thank's !
Ch.





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************
Serguei Tarassov
Le #21393021
On 16/03/2010 09:10, Ch. wrote:
Bonjour,

nous avons des tables qui nous servent à faire des calculs. (plusieurs
millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée du
calcul, il fait un enorme rollback qui peut durer plusieurs heures
parfois meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment puis
je faire pour interrompre le calcul de manniere immediate ?

thank's !
Ch.



Bonjour,

Cela vous dit de faire une capture instantanée de la base de données
(database snapshot) en faisant la restauration à partir de cette capture
en cas d'échec ?

A+
Serguei TARASSOV
MCITP SQL Server Dev/DBA
http://sgbd.arbinada.com
Ch.
Le #21395341
fred est-ce que je peux passer en utilisateur unique en cours de rollback ?


"Fred BROUARD" news:
Il est parfaitement normal qu'un rollback sur un grosse proc dure très
longtemps. En effet, jouer un journal "à l'envers" pour défaire des modifs
est bien plus couteux que de le le laisser continuer. EN effet l'agorithme
ARIES des JT est basé sur le principe du WAL : write Ahead Log. Pendant
que beaucoup de monde écrit en ajout, votre rollback doit lire le journal
en arrière !
Seule solution pour optimiser le rollback : passer la base en utilisateur
unique.

Ch. a écrit :
je l'ai posé même si ej me doutais du resultat.
y a quand meme une chose que je n'ai pas compris.
le lancement avait ete fait par un DEV sur 15mns, il a coupé en appuyant
sur cancel.

mais 24h apres il etait tjrs en rollback.
donc j'ai du utiliser une maniere drastique, mais que justement je n'aime
pas trop.
je m'etais donc dis qu'il y avait peut etre une commande de kill, sans
qu'il utilise le rollback.
car comme c'est une table calculée je me fou qu'elle soit pas bonne elle
sera droppée de toute maniere.


tant pis.
je vais leur dire...
Ch.


"Fred BROUARD" news:
Bonjour,

Ch. a écrit :
Bonjour,

nous avons des tables qui nous servent à faire des calculs. (plusieurs
millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée du
calcul, il fait un enorme rollback qui peut durer plusieurs heures
parfois meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment
puis je faire pour interrompre le calcul de manniere immediate ?



Cela n'est pas possible. Un SGBDR n'est pas un tableur. La
journalisation des transactions est donc inévitable pour conserver
l'intégrité de la base.
Ce que vous pouvez faire éventuellement, c'est découper votre traitement
en plusieurs petites transactions, par exemple en stockant certains
résultats intermédiaires dans des tables temporaires. Dès lors le
rollback se produira sur une moins grande portion du journal.

A +


thank's !
Ch.





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************
Fred BROUARD
Le #21403131
Bonne idée... J'ai jamais essayé. Faut tenter avec un wait

A +

Ch. a écrit :
fred est-ce que je peux passer en utilisateur unique en cours de rollback ?


"Fred BROUARD" news:
Il est parfaitement normal qu'un rollback sur un grosse proc dure très
longtemps. En effet, jouer un journal "à l'envers" pour défaire des
modifs est bien plus couteux que de le le laisser continuer. EN effet
l'agorithme ARIES des JT est basé sur le principe du WAL : write Ahead
Log. Pendant que beaucoup de monde écrit en ajout, votre rollback doit
lire le journal en arrière !
Seule solution pour optimiser le rollback : passer la base en
utilisateur unique.

Ch. a écrit :
je l'ai posé même si ej me doutais du resultat.
y a quand meme une chose que je n'ai pas compris.
le lancement avait ete fait par un DEV sur 15mns, il a coupé en
appuyant sur cancel.

mais 24h apres il etait tjrs en rollback.
donc j'ai du utiliser une maniere drastique, mais que justement je
n'aime pas trop.
je m'etais donc dis qu'il y avait peut etre une commande de kill,
sans qu'il utilise le rollback.
car comme c'est une table calculée je me fou qu'elle soit pas bonne
elle sera droppée de toute maniere.


tant pis.
je vais leur dire...
Ch.


"Fred BROUARD" news:
Bonjour,

Ch. a écrit :
Bonjour,

nous avons des tables qui nous servent à faire des calculs.
(plusieurs millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée
du calcul, il fait un enorme rollback qui peut durer plusieurs
heures parfois meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment
puis je faire pour interrompre le calcul de manniere immediate ?



Cela n'est pas possible. Un SGBDR n'est pas un tableur. La
journalisation des transactions est donc inévitable pour conserver
l'intégrité de la base.
Ce que vous pouvez faire éventuellement, c'est découper votre
traitement en plusieurs petites transactions, par exemple en
stockant certains résultats intermédiaires dans des tables
temporaires. Dès lors le rollback se produira sur une moins grande
portion du journal.

A +


thank's !
Ch.





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage
SQL
Le site sur le langage SQL et les SGBDR :
http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning,
optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var
Technologies
*********************** http://www.sqlspot.com
*************************







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************
Publicité
Poster une réponse
Anonyme