mercoledì 11 aprile 2018

IBM Connections 6.0 : in caso di problemi di migrazione dei db Opnact e Metrics con dbt.jar ecco come risolvere

Quando si aggiorna Connections è molto probabile che sia necessario migrare i DB , visto che il requisito viene aggiornato a DB2 11.1 .

Una possibilità per spostare i db è quella del backup & restore , ma le best practice in caso non si sia sicuri dello stato dei db è quello di spostare il contenuto dei  db con l'utility dbt.jar (a questa pagina la documentazione completa) .

In questa fase , ho avuto 2 problemi differenti che ho risolto nei modi sottostanti:

Opnact

Il db delle activity dopo  alcuni minuti di trasferimento falliva con errore segeunte:

Transferring table --{ ACTIVITIES.OA_NODE}-- to table --{ACTIVITIES.OA_NODE }--ERROR: Error validating data.  The number of values is not equal to the number of columns in the destination table OA_NODEERROR: The number of values is 38 while the number of columns is 37 error.executing.transfer
com.ibm.wps.config.DatabaseTransferException: Column number mismatch
        at com.ibm.wps.config.db.util.RowHelper.updatePreparedStatement(RowHelper.java:271)
        at com.ibm.wps.config.db.transfer.DefaultTableHandler.execute(DefaultTableHandler.java:106)
        at com.ibm.wps.config.db.transfer.TransferEngine.execute(TransferEngine.java:70)
        at com.ibm.wps.config.db.transfer.CmdLineTransfer.execute(CmdLineTransfer.java:96)
        at com.ibm.wps.config.db.transfer.CmdLineTransfer.main(CmdLineTransfer.java:43)

Il numero delle colonne in una tabella non tornava, dopo aver verificato  la correttezza della versione dei db , ho trovato la conferma e la soluzione grazie alla community (grazie Michele ! ) .

prima della migrazione ho proceduto a creare la colonna mancante nel db di destinazione

db2 connect to opnact
db2 ALTER TABLE ACTIVITIES.OA_NODE ADD COLUMN OWNERMEMBERUUID CHAR(36) NULL;
db2 reorg table ACTIVITIES.OA_NODE
db2 disconnect opnact

poi dopo migrazione ho provveduto alla sua eliminazione

db2 connect to opnact
db2 ALTER TABLE ACTIVITIES.OA_NODE DROP COLUMN OWNERMEMBERUUID
db2 reorg table ACTIVITIES.OA_NODE
db2 disconnect opnact

la soluzione è stata confermata dal supporto IBM , ma in caso di problema analogo vi invito a chiedere conferma al supporto per assicurarvi che il caso sia il medesimo.

METRICS

Metrics dopo alcuni minuti falliva con il seguente errore

Transferring table --{ METRICS.F_USER_EVENT_COUNT}-- to table --{METRICS.F_USER_EVENT_COUNT }--error.executing.transfer
err.dbtransfer.exception.labelclass com.ibm.db2.jcc.am.BatchUpdateException: [jcc][t4][102][10040][4.24.92] Batch failure.  The batch was submitted, but at least one exception occurred on an individual member of the batch.
Use getNextException() to retrieve the exceptions for specific batched elements. ERRORCODE=-4229, SQLSTATE=null
com.ibm.db2.jcc.am.BatchUpdateException: [jcc][t4][102][10040][4.24.92] Batch failure. 
The batch was submitted, but at least one exception occurred on an individual member of the batch.
Use getNextException() to retrieve the exceptions for specific batched elements. ERRORCODE=-4229, SQLSTATE=null
        at com.ibm.db2.jcc.am.b6.a(b6.java:502)
        at com.ibm.db2.jcc.am.Agent.endBatchedReadChain(Agent.java:434)
        at com.ibm.db2.jcc.am.k4.a(k4.java:5420)
        at com.ibm.db2.jcc.am.k4.c(k4.java:4998)
        at com.ibm.db2.jcc.am.k4.executeBatch(k4.java:3052)
        at com.ibm.wps.config.db.transfer.DefaultTableHandler.execute(DefaultTableHandler.java:131)
        at com.ibm.wps.config.db.transfer.TransferEngine.execute(TransferEngine.java:70)
        at com.ibm.wps.config.db.transfer.CmdLineTransfer.execute(CmdLineTransfer.java:96)
        at com.ibm.wps.config.db.transfer.CmdLineTransfer.main(CmdLineTransfer.java:43)

in questo caso mi sono reso conto che non avevo ancora attivato i log di transazione sul db , ho ricreato il db Metrics dal wizard, attivato i log di transazione ed ho rimigrato il db con successo.

Nessun commento:

Posta un commento