Función de tabla MIRROR_COMPARE_OBJECT

La función de tabla MIRROR_COMPARE_OBJECT devuelve las diferencias entre los nodos de origen y de destino para el objeto identificado por tipo-objeto, nombre-biblioteca y nombre-objeto. No es necesario que el objeto sea un objeto replicado actualmente.

Inicio del cambioPara cada objeto que se compara, las operaciones de comparación pueden realizarse para los atributos de definición del objeto, los datos contenidos en el objeto, o ambos. Sólo los objetos *DTAQ, *FILE, *OUTQ, *USRIDX y *USRSPC admiten comparaciones de datos. Para el objeto que se compara, debe especificarse un valor de YES o QUICK para al menos uno de los parámetros compare-attributes o compare-dataFin del cambio

Cuando comparar-atributos es YES:
  • Se devuelve una fila para cada atributo que es diferente entre los nodos.
  • Inicio del cambioThe attributes compared for an object vary based upon the objeto-tipo. No todos los atributos pueden compararseFin del cambio
  • El valor contenido en un objeto *DTAARA se considera un atributo.
Cuando comparar-datos es YES:
  • Para un objeto *DTAQ, se devuelve una fila para cada entrada de la cola de datos que es diferente entre los nodos.
  • Para un objeto *FILE elegible para replicación, se devuelve una fila por cada fila de datos que sea diferente entre los nodos. Se devuelve el número relativo de registro (RRN) para identificar la fila.
    • Los archivos con control de acceso a filas o columnas activo, archivos con desencadenantes READ y archivos en estado pendiente de comprobación no son elegibles para la comparación de datos. Se devolverá una fila de resultados para indicar que la comparación de datos no se ha realizado.
    • Los archivos con varios miembros, incluidas las tablas particionadas y los archivos físicos fuente, en los que se encuentren diferencias significativas en la definición, no son elegibles para la comparación de datos. Todos los nombres de miembro deben coincidir. Se devolverá una fila de resultados para indicar que la comparación de datos no se ha realizado.
  • Para un objeto *OUTQ, se devuelve una fila para cada archivo en spool que es diferente entre los nodos. La comparación utiliza la información devuelta por la vista QSYS2.OUTPUT_QUEUE_ENTRIES_BASIC. El contenido del archivo en spool no se compara.
  • Para un objeto *USRIDX, se devuelve una fila para cada entrada del índice de usuario que es diferente entre los nodos.
  • Para un objeto *USRSPC, la fila devuelta indica si el espacio de usuario es diferente entre los nodos.
Cuando comparar-datos o comparar-atributos es QUICK:
  • Se devuelve una sola fila que indica que existe al menos una diferencia para el objeto entre nodos. No se incluyen detalles adicionales sobre el tipo de diferencia en la fila devuelta.

Si no se encuentran diferencias, no se devuelve ninguna fila. Si el objeto no es elegible para la comparación, no se devuelve ninguna fila junto y se devuelve un SQLSTATE de aviso '01H53'. Si el objeto no existe en ningún nodo, no se devuelve ninguna fila y se devuelve un SQLSTATE de error '42704'. Si los nodos no se comunican, no se devuelve ninguna fila y se devuelve un SQLSTATE de error '560DE'.

Inicio del cambio

Autorización: Los privilegios que posee el ID de autorización de la sentencia deben incluir la autorización especial *ALLOBJ. Para conocer la autoridad necesaria para utilizar esta función, consulte Autorización.

Para especificar un valor de grado paralelo que no sea NONE, los privilegios que tiene el ID de autorización de la sentencia deben incluir la autorización especial *JOBCTL o la autorización de uso de función QIBM_DB_SQLADM.

Fin del cambio
Leer diagrama de sintaxisOmitir diagrama de sintaxis visual MIRROR_COMPARE_OBJECT ( OBJECT_TYPE =>  tipo de objeto ,LIBRARY_NAME => nombre-biblioteca,OBJECT_NAME => nombre-objeto,ATRIBUTOS_COM => atributos-comparación,DATOS DE COMPARE_DATOS => datos de comparación,PARALLEL_DEGREE => grado paralelo )
El esquema es QSYS2.
tipo-objeto
Expresión de serie gráfica o de caracteres que identifica el tipo de objeto.
Inicio del cambioSe puede especificar cualquier tipo de objeto del sistema. Sin embargo, los siguientes tipos de objetos elegibles para replicación que devuelven un valor que no es INELIGIBLE de la función QSYS2.CHECK_REPLICATION_CRITERIA son instrumentados para operaciones de comparación más robustas.
*AUTL
Lista de autorizaciones. nombre-biblioteca debe ser QSYS o debe omitirse.
*DTAARA
Área de datos, incluidos los atributos de secuencia SQL
*DTAQ
Cola de datos
*ENVVAR
Variable de entorno de nivel de sistema. nombre-biblioteca debe ser QSYS o debe omitirse.
*FCNUSG
Uso de función. nombre-biblioteca debe ser QSYS o debe omitirse.
*FILE
Archivo de base de datos
*JOBD
Descripción de trabajo
*JOBQ
Cola de trabajos
*JRN
Diario
*LIB
Biblioteca
*OUTQ
Cola de salida
*PGM
Programa, incluidos atributos de rutina SQL
*SECATR
Atributo de seguridad. nombre-biblioteca debe ser QSYS o debe omitirse. nombre-objeto debe ser nulo o debe omitirse.
*SQLPKG
Paquete SQL
*SQLUDT
Tipo definido por el usuario de SQL
*SQLXSR
Repositorio de esquemas XML de SQL
*SRVPGM
Programa de servicio, incluidos los atributos de rutina SQL
*SYSVAL
Valor del sistema. nombre-biblioteca debe ser QSYS o debe omitirse.
*USRIDX
Índice de usuario
*USRPRF
Perfil de usuario. nombre-biblioteca debe ser QSYS o debe omitirse.
*USRSPC
Espacio de usuario
Fin del cambio
nombre-biblioteca
Expresión de serie gráfica o de caracteres que identifica el nombre de biblioteca del objeto. Si se omite este parámetro, QSYS es el valor predeterminado.
nombre-objeto
Expresión de serie gráfica o de caracteres que identifica el nombre de sistema del objeto que debe compararse. Para *FCNUSG, el nombre es el ID de función. Es necesario un nombre-objeto para todos los tipos de objeto excepto *SECATR; nombre-objeto se ignora para el tipo de objeto *SECATR. Si se omite este parámetro, nulo es el valor predeterminado.
comparar-atributos

Inicio del cambioExpresión de carácter o cadena gráfica que indica si se comparan atributos para el objeto. Los tipos de objeto distintos de *DTAQ, *FILE, *OUTQ, *USRIDX y *USRSPC deben especificar YES o QUICKFin del cambio

NO
No se comparan los atributos para el objeto.
QUICK
Los atributos se comparan para el objeto hasta que se encuentra la primera diferencia. Solo se devuelve una única fila si se detecta alguna diferencia. Esta opción es más rápida porque no se devuelve una lista completa de diferencias.
SI
Se comparan todos los atributos elegibles para el objeto. Se devuelve una fila para cada diferencia encontrada. Este es el valor por omisión.
comparar-datos
Expresión de cadena de caracteres o gráfica que indica si los datos se comparan para un objeto *DTAQ, *FILE, *OUTQ, *USRIDX y *USRSPC. compare-data se ignora cuando object-type no es *DTAQ, *FILE, *OUTQ, *USRIDX, o *USRSPC.
NO
No se comparan los datos para un objeto.
QUICK
Los datos se comparan para un objeto *DTAQ, *FILE, *OUTQ, *USRIDX y *USRSPC hasta que se encuentra la primera diferencia. Solo se devuelve una única fila si se detecta alguna diferencia. Esta opción es más rápida porque no se devuelve una lista completa de diferencias.
SI
Se comparan todos los datos de un objeto *DTAQ, *FILE, *OUTQ, *USRIDX y *USRSPC. Se devuelve una fila para cada diferencia encontrada. Este es el valor por omisión.
grado-paralelo
Serie gráfica o de caracteres que especifica el grado máximo de paralelismo que debe utilizarse para comparar el objeto.

Si la característica Db2® Symmetric Multiprocessing (SMP) no está instalada, se emite un error si el valor no es NONE.

2-256
El grado máximo de paralelismo que se debe utilizar.
NONE
No se utilizará ningún paralelismo. Este es el valor por omisión.

El resultado de la función es una tabla que contiene filas con el formato que se muestra en la tabla siguiente. Todas las columnas admiten nulos.

Tabla 1. Función de tabla MIRROR_COMPARE_OBJECT
Nombre de columna Tipo de datos Descripción
ATTRIBUTE_NAME VARGRAPHIC(512)
CCSID 1200
El nombre del atributo de objeto o el número relativo de registro (RRN) que no es idéntico.
VALUE_ON_PRIMARY VARGRAPHIC(2048)
CCSID 1200
El valor del nodo primario.

Cuando una comparación que utiliza la opción QUICK detecta una diferencia, contiene el valor DIFFERENT.

VALUE_ON_SECONDARY VARGRAPHIC(2048)
CCSID 1200
El valor del nodo secundario.

Cuando una comparación que utiliza la opción QUICK detecta una diferencia, contiene el valor DIFFERENT.

Ejemplos

  • Listar todos los atributos elegibles para le réplica que son distintos entre los dos nodos para la cola de salida MYOUTQ de la biblioteca APPLIB1. El contenido de los archivos en spool de la cola de salida no se comparará.
    SELECT * FROM TABLE(QSYS2.MIRROR_COMPARE_OBJECT(
                                           OBJECT_TYPE  => '*OUTQ',
                                           LIBRARY_NAME => 'APPLIB1',
                                           OBJECT_NAME  => 'MYOUTQ', 
                                           COMPARE_ATTRIBUTES => 'YES',
                                           COMPARE_DATA => 'NO'))
    ORDER BY ATTRIBUTE_NAME;
  • Para el archivo TEST_TABLE de la biblioteca TESTLIB, buscar todas las filas de datos que sean diferentes entre los dos nodos. Los atributos de archivo no se compararán.
    SELECT * FROM TABLE(QSYS2.MIRROR_COMPARE_OBJECT(
                                           LIBRARY_NAME => 'TESTLIB',
                                           OBJECT_NAME  => 'TEST_TABLE',
                                           OBJECT_TYPE  => '*FILE',
                                           COMPARE_DATA => 'YES',
                                           COMPARE_ATTRIBUTES => 'NO'));