Spesso mi capita di leggere codice di altre persone e mi chiedo a cosa stessero pensando in quel momento ! Asilo da pagare ? Macchina dal meccanico ? Davvero !!! Se ci metto 10 min per capire una riga di codice scritto in c++ allora significa che quella riga è scritta male. Magari usando qualche sintassi ridicola senza tenere conto della leggibilità del codice. Ecco che allora quando le cose si fanno dure il programmatore il giorno dopo rivedendo il proprio codice comincia a decorarlo con alcuni commenti che dovrebbero portare il lettore sulla buona strada. Sarebbe bello, se con l IDE hai fatto refatory e modifiche varie senza aggiornare i commenti. Quello che davvero non mi piace è quando scrivono nel commento cose banali del tipo la classe viene istanziata ( classeA *a = new classeA(); ) ... beh bella forza, mi hai dato un gran aiuto ... ti venisse ... ;). A questo punto preferisco spendere 10 min e cercare di capire se possibile cosa volevi fare caro amico programmatore. Oddio, ci s
{ORACLE} Come chiudere LOCK su transazioni distribuite Per riconciliare la transazione è necessario conoscere il LOCAL_TRAN_ID, o ID della transazione del nodo e il GLOBAL_TRAN_ID che identifica la transazione a livello di cluster. Eseguire la ricerca del LOCK sulla tabella con: SELECT GLOBAl_TRAN_ID FROM DBA_2PC_PENDING where LOCAL_TRAN_ID = ‘10.6.253841’; NOTE: Il LOCAL_TRAN_ID si trova nell event viewer. Con questa query otteniamo il corrispettivo $GLOBAL_TRAN_ID. Verificare che sia in STATE = ‘prepared’. Per chiudere la transizione sarà sufficiente usare il comando: COMMIT FORCE ‘10.6.253841’; — LOCAL_TRAN_ID COMMIT FORCE ‘1145324612.AD4489B5AA72C1408B76F255AB46C28100000000′; GLOBAL_TRAN_ID Rifacendo la query lo stato della transazione e’ in STATE = ‘forced commit’ o forced ‘rollback’ COMMIT FORCE ‘$GLOBAL_TRAN_ID’; http://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_txnman007.htm#ADMIN12273