SelectEtoile : Base de connaissance SGBD

Posts Tagged 'fantome'

Locks fantomes sous SYBASE ASE

Lock fantomes

 

Symptome

 

Il peut arriver que l'on ait suite à une erreur SYBASE et/ou une stacktrace qu'un process disparaisse sans déverrouiller les tables sur lesquelles il a posé des verrous.

Cela se traduit par des lignes dans la tables syslocks mais le spid associé à ces lignes n'est pas présent dans la table sysprocesses. (zombie lock ou phantom lock )

 

 

Conséquence

 

Le process fantome laisse des locks donc peut bloquer d'autres processus.

 

 

Résolution

 

La solution la plus radicale est le reboot du serveur SYBASE ASE. SYBASE va dans ce cas "rollbacker" tous les transactions non "commitées".

SI vous êtes en version ASE 12.5.4 ou plus, vous pouvez essayer d'utiliser la commande 'dbcc lock_release'.

Pour info, je n'ai pas eu le temps de la tester moi-même

 

 

Commande

 

Usage: lock_release( spid, { "table", "page", "row" }, locktype = { "ex_tab", "sh_page", "up_row", etc. }, dbid, objid [, pageno [, rowno ] ] [, "force" ] )

Attempts to release the lock held by the given spid that was badly terminated.