Vous êtes sur la page 1sur 4

Comment déverrouiller une

base Mongodb

Assistance EME

09/09/2016
2 Titre : A propos de --dbUnlock

Problème

Vous rencontrez un incident à la connexion de Product Update 9 de Sage X3 et on vous précise dans
le message de faire un « dbUnlock »

Solution

Il faut supprimer le ou les locks Mongodb qui bloquent la connexion ; trois méthodes
existent, l’une d’elles (3) permet de faire en sorte que les locks soient supprimées dès la reconnexion
à l’application.

1. Méthode 1
Utiliser la syntaxe suivante pour supprimer les locks

1/ Arrêter l’agent Syracuse

2/ Se placer dans le répertoire …\Syracuse\syracuse\bin

Saisir …\syracuse\syracuse\bin\win32_x64\node.exe index.js --dbUnlock

3/ Faire CTRL + C pour revenir à la ligne de commande (2 fois si besoin).

4/ Redémarrer l’agent Syracuse.

Page 2 sur 4
Assistance EME
3 Titre : A propos de --dbUnlock

2. Méthode 2 (Utilisation de « Robomongo » ou « Mongochef »)

Dans le cas présent, il faut supprimer les 2 locks en supprimant les 2 documents ;
attention ici, vous accèdez à la base Mongodb en directe, aussi nous vous
recommandons de faire une sauvegarde avant manipulation.

3. Méthode 3 (dbUnlock en mode nanny ; permet de délocker à la connexion en


automatique)
Ajouter dans le fichier « nodelocal.js » les lignes en rouge ci-dessous (cf
exemple):

exports.config = {
"port": 8124,
"streamlineFromCI": true,
"x3key": true,
"collaboration": {
"driver": "mongodb",
"dataset": "syracuse",
"hostname": "x3pu9trainvm",
"port": 27017,
"logpath": "C:\\Sage\\SAFEX3\\X3PU9SYRA\\syracuse\\logs",
"certdir": "C:\\Sage\\SAFEX3\\X3PU9SYRA\\syracuse\\certs",
"cacheDir": "C:\\Sage\\SAFEX3\\X3PU9SYRA\\syracuse\\cache"
},

Page 3 sur 4
Assistance EME
4 Titre : A propos de --dbUnlock

hosting: {
// child processes using the --dbUnlock flag
dbUnlock: true,

},
"mongodb": {
"options": {
"db": {
"w": 1
},
"server": {
"ssl": true,
"sslCA":
require('fs').readFileSync("C:\\Sage\\SAFEX3\\X3PU9SYRA\\syracuse\\certs\\mongodb\\ca.cacrt")
,
"sslValidate": true,
"sslKey":
require('fs').readFileSync("C:\\Sage\\SAFEX3\\X3PU9SYRA\\syracuse\\certs\\mongodb\\client.pe
m"),
"sslCert":
require('fs').readFileSync("C:\\Sage\\SAFEX3\\X3PU9SYRA\\syracuse\\certs\\mongodb\\client.pe
m")
},
"replSet": {},
"mongos": {}
}
},
"session": {
"timeout": 20,
"checkInterval": 60,
"auth": "basic"
},
"searchEngine": {
"hostname": "x3pu9trainvm",
"port": 9200,
"useFolderNameAsIndexName": true
},
"x3fusion": {
"records": {
"dumpPath": "C:\\Sage\\SAFEX3\\X3PU9SYRA/syracuse/cache/_cvg___USERNAME__"
}
},
}

Remarque: Dans le cas de plusieurs bases Mongodb, vous devez remplacer « dbUnlock »
par « dbUnlockAll »

Page 4 sur 4
Assistance EME

Vous aimerez peut-être aussi