venerdì 1 giugno 2018

IBM Connections : come ridimensionare il DB Homepage quando è di dimensioni molto elevate

Mi sono imbattuto in un ambiente Connections con il database HOMEPAGE di dimensioni molto più elevate degli altri ( circa 50 gb di spazio su disco, il backup compresso intorno ai 15GB mentre il backup di tutti gli altri db erano sotto il gb).

Non trovando queste dimensioni accettabili ho eseguito dei controlli ed ho individuato la quasi totalità dello spazio occupato dalla tabella HOMEPAGE.SR_INDEX_DOCS che mi ha condotto a questa technote.


Se l'ambiente è frutto di migrazioni di versioni precedenti  è possibile che cambiando i nomi dei nodi  WebSphere di indicizzazione che questi siano rimasti all'interno del db , causando la crescita esponenziale di questa tabella.


Per verificare i nodi presenti all'interno del DB dovete eseguire collegarvi al db HOMEPAGE ed eseguire:

SELECT * FROM HOMEPAGE.SR_INDEX_MANAGEMENT

Con questo comando ricevere in risposta l'elenco dei nodi di indicizzazione, se ricevete nomi di nodi non piu' in uso dovete procedere rimuovendoli (vedi anche questa technote) nel modo seguente:

da un prompt wssadmin.sh lanciate

execfile("searchAdmin.py")
 
per abilitare l'amministrazione della search ed in seguito 

SearchService.removeIndexingNode("Node01:cluster1_server1") 
 
 
per rimuovere il nodo in disuso( comando da ripetere per tutti i nodi in surplus).

Se il comando di eliminazione risponderà 1 l'eliminazione è stata processata
in modo corretto.

Dopo l'eliminazione del nodo , i documenti all'interno della tabella cominceranno a calare .

Per verificare l'andamento dell'eliminazione dei documenti potete utilizzare la seguente select


SELECT COUNT(*) FROM HOMEPAGE.SR_INDEX_DOCS

quando il numero sarà prossimo allo zero potete procedere alla riduzione della tabella utilizzando lo script contenuto all'inderno dei Wizard della vostra versione di connections.

WizardHome/connections.sql/homepage/db2

qui lanciate i seguenti comandi  per ottimizzare il db dopo le cancellazioni dei documenti



db2 -td@ -vf  reorg.sql
db2 -td@ -vf  updateStats.sql

poi lo script successivo che effettuerà il truncate della tabella

db2 -td@ -vf clearSearchIndexTables.sql   

che provvederà a ridurre la Tabella

Ora rimane da ridurre il tablespace in cui risiede la tabella SR_INDEX_DOCS che è HOMEPAGETABSPACE
 

con questa select vedete quando spazio potete recuperare

select tbsp_name, tbsp_free_pages, tbsp_page_size * tbsp_free_pages /1024 / 1024 AS tbsp_reclaimable_mb from table(MON_GET_TABLESPACE('HOMEPAGETABSPACE', NULL))

vi riposponderà un valore in XXX MB che andrete ad usare come argomento dell'ALTERTABLE


prima di ridurre lo spazio è necessario preparare il table space con il seguente comando :


ALTER TABLESPACE TS LOWER HIGH WATER MARK

ora la riduzione

ALTER TABLESPACE HOMEPAGETABSPACE REDUCE (ALL CONTAINERS XXX M) 

a questo punto avrete recuperato lo spazio allocato inutilmente su disco.

Si può trattare di diverse decine di GB fra spazio DB e relativi backup quindi vi consiglio di verificare il vostro ambiente !

Queste istruzioni si riferiscono ad un ambiente Connections su DB2, ed ho affrontato la medesima problematica in ambienti 5.5 e 6.0 .

Vi consiglio caldamente di effettuare 1 o piu backup durante l'esecuzione di questi passaggi !!

P.S ringrazio gli amici dello Space dedicato a IBM Connections su Watson Workspace che mi hanno aiutato nel troubleshooting e Victor per le sue slide che mi hanno aiutato nella parte DB2. 


Nessun commento:

Posta un commento