DDive 2011, dal 1 al 3 Luglio al castello di Valbona - Registrati subito, i posti sono limitati!

How To – Ottenere associazione NLO file / DB Notes #dominoforever

Daniele Grillo

Image:How To – Ottenere associazione NLO file / DB Notes #dominoforever
A quanti amministratori Domino è capitato di dover capire a cosa corrisponde un file .NLO posizionato in una cartella del daos ed a quali Database NSF fa riferimento fino ad arrivare all’UNID del Notes Document?


Fino ad oggi questa richiesta è sempre stato “non si può fare!”
Non è previsto in nessun comando del daosmgr ; tramite i comandi del daosmgr è possibile solo comprendere il processo inverso ovvero gli allegati NLO che mancano in riferimento ad un determinato Database NSF in input eseguendo il comando:
tell daosmgr listnlo -o mymailobjects.txt MISSING mymail.nsf


Mi è successo però in alcuni scenari di trovare oggetti NLO danneggiati con questo messaggio:
*************
DAOSReEncryptNLO: DAOSReadObject failed for e:\DAOS\0002\9745041AB6D55D18005F179D5F56F42D54CE986500022401.nlo (File truncated - file may have been damaged) - dwOffset = 140000 [2B7C:0002-28D4] DAOSENCMGR: DAOSReEncryptNLO failed for key 9745041AB6D55D18005F179D5F56F42D54CE986500022401 (File truncated - file may have been damaged
)
*************
Un processo esterno a Domino che danneggia i files .NLO e li rende inaccessibili ed usabili (visto che siamo sensibili ai cyber attack in questo momento storico; potrebbe essere anche una macchina colpita da CryptoLocker ad aver manomesso quel file.. o addirittura un antivirus che non ha escluso a dovere la cartella come da technote la daos directory)

Per capire e comprendere quel particolare file NLO a quale Database (nel nostro caso e:\DAOS\0002\9745041AB6D55D18005F179D5F56F42D54CE986500022401.nlo) a quale DB e Documento Domino fa riferimento fino alla versione 12.02FP1 non era possibile!

Oggi dalla ultima release 12.0.2FP1+
è possibile invece (anche se in maniera manuale e non tramite un comando specifico n.d.r) individuare sia il database NSF che il documento Notes (UNID) di riferimento.

Eccovi un tutorial che non troverete nelle KB di HCL ma che grazie al loro supporto siamo riusciti a stendere una linea guida in questa impresa:

Per trovare l’associazione tra un NLO files della DAOS ed i DB Notes in cui esso è referenziato, seguire i seguenti passi. Note: This will only work on 1202FP1+ Domino. There will not be any NotesID \ UNID information.
 
1.        Eseguire questo comando sul server Domino “tell daosmgr resyncsnapshot enable
2.        Questo creerà un DB snap del daosmgr e va tenuto da parte il nome del DB. Il nome del database sarà univoco nel seguente formato DRS.nsf, dove è un numero a 5-digit. Per esempio: DRS56164.nsf
3.        Attendere un fiull resync al completamento. Ma se volete eseguirlo immediatamente lanciare il comando  -> ”tell daosmgr resync force”
4.        Controllate il daosmgr con il comando “tell daosmgr status” e siate sicuri che il catalogo sia nello stato "SYNCHRONIZED"
5.        Dal Client amministrativo o dal client notes con accessi amministrativi, aprire il database che è stato creato nello steo. Il titolo del DB sarà "daossnap"
6.        Creare la full text per la ricerca all’interno del DB snapshot appena creato.
7.        In questo DB ci saranno molte viste che aiuteranno a comprendere il completo snapshot del DAOS. Nella vista  "TicketList", troverete l’NSF file e tutti i files .NLO a lui referenziati.

Per trovare la corrispondenza fra NLO file e Record in cui è contenuto all’interno di un Database nsf, eseguire i seguenti comandi / procedure (documentate in passato da Ulrich Krause per esempio n.d.r):
1.        Aprire il DB snapshot creato in precedenza e trovare il file NLO che si desidera cercare effettuando una ricerca.  
2.        Prendere nota dei DB notes in cui è contenuto il file NLO per cui si vuole ricercare la corrispondenza file nlo/record db nsf.
3.        Da console Domino eseguire il seguente comando:
“tell daosmgr listnlo -o c:\temp\listanloref.txt map -hairex xxx\xxxxxx.nsf”
dove bisogna sostituire a xxx\xxxxxx.nsf il path del db notes ed il nome del db notes per cui si vuole ricercare la corrispondenza.
4.        A questo punto si avranno nel file c:\temp\listanloref.txt (sul server su cui si è lanciato il comando) le informazioni NotesID associate ad ogni NLO file per quel DB notes. Il file txt contiene le referenze in formato csv.
5.        Copiare il file sul proprio PC ed aprirlo con excel in modo da avere le informazioni in forma tabellare e facilmente leggibile.
Image:How To – Ottenere associazione NLO file / DB Notes #dominoforever  
6.        Filtrare il campo “RRV_STORAGE” per avere la lista solo degli oggetti contenuti nella DAOS, escludere quindi dal filtro gli “NSF” che sono gli allegati all’interno del record del DB notes.
Image:How To – Ottenere associazione NLO file / DB Notes #dominoforever  
7.        Filtrare il campo “RRV_HASHKEY” con il nome del file NLO che si desidera ricercare (ad esempio filtriamo per l’oggetto FEF0953B96E6829F85BB639D6AC90F4EAD9ED4B7000DD442
8.        Si otterrà quindi la lista dei record in cui l’oggetto NLO è contenuto all’interno di quel DB notes.
9.        Ora per ogni record nel campo “DOC_NOTEID_HEX” abbiamo il Note_ID in formato esadecimale che identifica il record all’interno di cui è contenuto l’oggetto NLO di nostro interesse.
10.        Siccome il client notes non permette di fare una ricerca nelle viste per Note_ID, bisogna utilizzare altri modi per risalire al record. Abbiamo 2 strade:
-        scanEZ
-        Domino Administrator
Con scanEZ è possibile effettuare le query per Note_ID, recuperare l’universalID per record e poi effettuare la ricerca nel client notes per universalID ottenendo il record esatto.
Con il Domino administrator invece bisogna:
-        Collegarsi al server incriminato
-        Andare sotto il TAB “Files”
-        Entrare nel path del DB notes (ad esempio ctb)
-        Selezionare il DB notes di nostro interesse
-        Tasto DX del mouse sul DB e selezionare l’item “Find Note”
-        Effettuare una Search “by Note ID” impostando nel campo di ricerca il valore “DOC_NOTEID_HEX” copiato dal foglio csv
-        Click sul pulsante Done
-        Si otterrà il record univoco con tutti i suoi campi
-        Selezionare dalla lista dei campi il campo UniversalID
-        Segnare a mano (non funziona il copia/incolla) il codice del campo UniversalID che si utilizzerà per la ricerca all’interno del client notes.
11.        Andare nel client notes, aprire il DB di interessa ed effettuare una ricerca con il codice UniversalID ottenuto dal Domino Administrator prima nella vista “all documents”, se non si trova niente li effettuare la stessa ricerca nella vista “Failed” e se non ce nulla nemmeno li provare con la vista
“Completed”. La ricerca deve restituire 1 solo record all’interno di una delle 3 viste
12.        A questo punto aprendo il record si troverà l’oggetto allegato che corrisponde al file NLO ricercato

Questo articolo è stato scritto a quattro mani dal sottoscritto ed un ringraziamento particolare va dato a:

Nicola Falcone

ICT&Security Manager c/o Every Software Solutions (Every SWS)


nessun commento.

<< Home