El respaldo de Avamar DB2 falla: "No se puede generar Avdb2 para el respaldo" y SQL2025N de error en el registro de db2diag
概要: El respaldo de Avamar DB2 falla o se completa con excepciones. El db2diag.log muestra un error de proveedor y un error de I/O de SQL2025N poco después de que se inicia el respaldo. Con la depuración de avdb2 habilitada, muestra un error de bloqueo de archivo de proceso. ...
現象
El respaldo de Avamar DB2 falla o se completa con excepciones. Las db2diag.log muestra un error de proveedor y un SQL2025N I/O error poco después de que se inicia el respaldo.
Las avdb2 log muestra lo siguiente:
2023-01-13 02:30:10 avdb2 Info <6688>: Process 965860 (/usr/local/avamar/bin/avdb2) finished (code 170: completed with errors, client log should be examined)
2023-01-13 02:30:10 avdb2 Warning <6690>: CTL workorder "DB2_DB_0220-DBNAMEXDS01_DB-1673547600007#1" non-zero exit status 'code 170: completed with errors, client log should be examined'
2023-01-13 02:30:10 avdb2 Error <16720>: Unable to spawn Avdb2 for backup/restore of [db2inst1/DBNAME db2inst1/DBNAME].
2023-01-13 02:30:10 avdb2 Info <6686>: Process 966206 (/usr/local/avamar/bin/avtar) for workorder DB2_DB_0220-DBNAMEXDS01_DB-1673547600007#201 started
2023-01-13 02:30:10 avdb2 Info <10684>: Setting ctl message version to 3 (from 1)
2023-01-13 02:30:10 avdb2 Info <16136>: Setting ctl max message size to 268435456
2023-01-13 02:30:13 avdb2 Info <6688>: Process 966206 (/usr/local/avamar/bin/avtar) finished (code 0: success)
2023-01-13 02:30:13 avdb2 Error <16729>: Unable to get the list of backup images from the child process.
2023-01-13 02:30:13 avdb2 Info <9772>: Starting graceful (staged) termination, Unable to get the list of backup images from the child process. (wrap-up stage)
Con la depuración habilitada, también puede ver errores similares a este con respecto al bloqueo del archivo de proceso:
2023/01/12-18:20:04.79408 [ctl_conn_recv-DB2_DB_0220-DBNAMEXDS01_DB-1673547600007#1] ctl_connection::lowdata:
recv:<status_wrapup_summary pid="Hidden DB2 backup" exitcode="22" numbytes="0" startUTC="2023-01-12 18:20:04" pidnum="1055" newbytes="0" backuptime="0" finishUTC="2023-01-12 18:20:04" errorcode="10003" key=
"1009-DB2_DB_0220-DBNAMEXDS01_DB-1673547600007#1" cid="DBNAMExds01" mid="965949/965949/33" last_ctl_man_key="1009-DB2_DB_0220-DBNAMEXDS01_DB-1673547600007#1" wid="DB2_DB_0220-DBNAMEXDS01_DB-1673547600007#1"
errormessage="code 153: lock error - process already running or error creating local lock file" errorrealm="">
Errores de db2diag.log Justo después de que se inicia el respaldo:
2023-01-17-03.30.03.849521+480 I300934E909 LEVEL: Error
PID : 9696 TID : 140540540610304 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : DBNAME
APPHDL : 0-55065 APPID: *LOCAL.db2inst1.230116193009
AUTHID : DB2INST1 HOSTNAME: db2hostname
EDUID : 32933 EDUNAME: db2med.30870.0 (DBNAME) 0
FUNCTION: DB2 UDB, database utilities, sqluMapVend2MediaRCWithLog, probe:699
DATA #1 : String, 144 bytes
Vendor error: rc = 25 returned from function sqluvput.
Return_code structure from vendor library /usr/local/avamar/lib/libdb2_avamarloader.so:
DATA #2 : Hexdump, 48 bytes
0x00007FD47978F350 : 1701 0000 4176 7461 7220 496E 7075 742F ....Avtar Input/
0x00007FD47978F360 : 4F75 7470 7574 2065 7272 6F72 2E00 0000 Output error....
0x00007FD47978F370 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
2023-01-17-03.30.04.850521+480 E301844E535 LEVEL: Error
PID : 9696 TID : 140540540610304 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : DBNAME
APPHDL : 0-55065 APPID: *LOCAL.db2inst1.230116193009
AUTHID : DB2INST1 HOSTNAME: db2hostname
EDUID : 32933 EDUNAME: db2med.30870.0 (DBNAME) 0
FUNCTION: DB2 UDB, database utilities, sqluMCWriteToDevice, probe:1304
MESSAGE : Media controller -- problem writing to vendor device. rc = -2025
2023-01-17-03.30.04.850898+480 E302380E571 LEVEL: Error
PID : 9696 TID : 140540540610304 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : DBNAME
APPHDL : 0-55065 APPID: *LOCAL.db2inst1.230116193009
AUTHID : DB2INST1 HOSTNAME: db2hostname
EDUID : 32933 EDUNAME: db2med.30870.0 (DBNAME) 0
FUNCTION: DB2 UDB, database utilities, sqluMCWriteToDevice, probe:1304
MESSAGE : SQL2025N An I/O error occurred. Error code: "". Media on which this
error occurred: "".原因
Este error se produce debido a un usuario o permisos incorrectos para Avamar /usr/local/avamar/var/clientlogs directorio.
Ejemplo de permisos incorrectos que causaron el problema en este caso:
drwxr-xr-x 2 root root 20480 Jan 17 08:00 clientlogs
解決方法
El directorio necesita un permiso mínimo de lectura+ejecución para el usuario db2 y el grupo utilizado para el trabajo de respaldo.
A continuación, se muestra un comando de ejemplo que se puede utilizar para resolver el problema. Esto se debe ajustar para que coincida con la ruta de Avamar del sistema operativo y el nombre del grupo de administradores de db2.
Los comandos se deben ejecutar como el usuario raíz.
chown root:db2iadm1 /usr/local/avamar/var/clientlogs
Comando de ejemplo para establecer permisos mínimos:
chmod 755 /usr/local/avamar/var/clientlogs