comando nzreplfork
Puede utilizar el comando nzreplfork para examinar y recuperarse de una bifurcación del registro de transacciones.
Sintaxis
nzreplfork -analyze [ -set repslet ] [ -csn <csn> ]
[ -sourceid <sourceID> ] [ -verbose ]nzreplfork -resolve <sourceID> -set repslet -csn <csn>
-sourceid <sourceID> [ -verbose ]Opciones
- -analice
- Muestra información sobre las bifurcaciones de transacción especificadas o todas las identificadas. Ejecute primero el comando con esta opción para visualizar un análisis de las ramas de transacciones. Para especificar una bifurcación se utilizan las opciones -sourceid y -csn ; si se omiten al especificar la opción -analyze, se muestran todas las ramas de todas las bifurcaciones.
- -resolver <sourceID>
- Especifica el ID de origen de la rama a mantener al resolver la bifurcación de la transacción.
Cuando se especifica la opción -resolve, el comando crea un directorio de archivo de los registros de confirmación para cualquier transacción en las ramas descartadas en el nodo. El directorio de archivos puede ser útil como recurso de solución de problemas para el servicio de atención al cliente si desea identificar y volver a aplicar esos cambios. Después de resolver una bifurcación, libere espacio borrando manualmente el directorio del archivo. El comando nzreplprunerqm no borra este directorio.
- -set repslet
- Especifica el nombre del conjunto de replicación. Esta opción es opcional cuando se especifica la opción -analyze y obligatoria cuando se especifica la opción -resolve.
- -csn <csn>
- Especifica el CSN de la transacción que precede a la bifurcación. Dado que el CSN no es un identificador único en todo el conjunto de replicación, debe especificarlo con la opción -sourceid para identificar una posición de registro. Al especificar la opción -analyze, puede utilizar opcionalmente el CSN y el ID de origen para limitar el alcance al investigar bifurcaciones de transacciones. Cuando se utiliza con la opción -resolve, debe especificar el CSN y el ID de origen para crear un identificador de confirmación único.
- -sourceid <sourceID>
- Especifica el ID de origen (identificador del nodo) para la transacción que precede a la bifurcación. El uso de esta opción con la opción -analyze ayuda a limitar el alcance al analizar las bifurcaciones de transacciones. Cuando se utiliza con la opción -resolve, debe especificar el CSN y el ID de origen para crear un identificador de confirmación único.
- - -v [erbose]
- Muestra pasos internos adicionales en la consola, como consultas SQL internas, análisis y conclusiones.
Uso
Puede ejecutar primero el comando nzreplfork con la opción -analyze para visualizar un análisis de las ramas de transacciones. A continuación, puede utilizar el comando con la opción -resolve para seleccionar las secuencias correctas de confirmaciones (es decir, la rama correcta de la bifurcación). Cuando finaliza la ejecución del comando, la salida indica los siguientes pasos para la recuperación.
Debe ejecutar el comando nzreplfork en todos los nodos del conjunto de replicación.
Para ayudar a identificar la transacción problemática, utilice el comando nzreplshowsql.
Ejemplos
[nz@PTS100]$ nzreplfork -analyze
Found fork in replication set 'REPLSET' with previous transaction
sourceId 20700 and CSN 71.
Branch #1: sourceId 16241. Local node is on this branch.
Next few transactions:
CREATE DATABASE sales_reg REPLICATION SET replset;
create table orders (orderid int, descr varchar(256));
insert into orders values (12345, 'sample order 1');
Branch #2: sourceId 20700.
Next few transactions:
DROP DATABASE test123;
insert into color_tbl('red', 12);
insert into color_tbl('blue', 13);
Completed fork analysis. Found 1 fork that needs resolution.
[nz@PTS100]$ nzreplfork -resolve 16241 -set REPLSET -sourceid 20700 -
csn 71
The following replicated databases have proceeded past the
transaction fork on a deprecated branch, and will need to be
recovered before reactivating replication on this node.
Run the following command on a node that did not proceed down the
wrong branch in the transaction fork. Then use nzreplbackup and
nzreplrestore to recover the databases on this node to a
consistent state.
nzreplanalyze -recoveryfile forkrecovery -sub nd1 -set REPLSET -db
sales_reg