Módulo 2 — IBM i (sistema operativo)
Sistema operativo integrado de IBM para Power Systems. Contenido desarrollado a la profundidad requerida por cada rol.
Base común — todos los roles
Linaje del OS
IBM i fue lanzado en 1988 como OS/400, único OS de la línea AS/400. Su arquitectura interna desciende directamente del CPF (Control Program Facility) del System/38, incorporando además capas de compatibilidad para aplicaciones del System/36 (SSP) y para AIX. Esa herencia explica por qué IBM i es estructuralmente distinto a cualquier otro OS: su modelo de objetos, su almacenamiento de nivel único y su integración con la base de datos no son características agregadas a posteriori, sino rasgos fundacionales presentes desde el System/38.
El OS fue rebautizado a i5/OS en 2004, cuando IBM adoptó los procesadores POWER5; el "5" hacía referencia explícita a esa generación de chips. En 2008, al converger la línea System i con System p bajo la marca IBM Power Systems, el OS adoptó el nombre definitivo IBM i — donde la "i" significa integrated, aludiendo a la integración nativa de OS, base de datos, seguridad y middleware en una sola plataforma.
Versión vigente al momento de redactar este material: IBM i 7.5 (anunciada el 10 de mayo de 2022). IBM también ha publicado IBM i 7.6 (anunciada el 18 de abril de 2025), la versión más reciente de la línea.
Lo distintivo en una frase
IBM i no es "OS + DB + middleware ensamblados". Es una sola pieza integrada: el sistema operativo trae adentro la base de datos (DB2 for i), el modelo de seguridad por objeto, el journaling, el servidor web, el sistema de backup (BRMS), el subsistema de trabajos, y la administración. Esa integración es la que sostiene la propuesta de valor.
Versiones vigentes en el parque instalado
IBM mantiene varias versiones simultáneamente. En el parque real de clientes vamos a encontrar todas estas:
| Versión | Estado de soporte | |---|---| | IBM i 7.3 | Service Extension Offering (paga) iniciada el 1 de octubre de 2023 y vigente hasta el 30 de septiembre de 2026. | | IBM i 7.4 | Standard Support hasta el 30 de septiembre de 2026; luego transita a Service Extension hasta el 30 de septiembre de 2029. | | IBM i 7.5 | Standard Support activo (versión usada como referencia técnica de este material). | | IBM i 7.6 | Anunciada por IBM (abril de 2025). |
Implicancias prácticas:
- •Comercial — un cliente en 7.3 sin Service Extension contratada es una conversación de upgrade.
- •Preventa — algunas funcionalidades (p.ej. nuevos opcodes RPG, password level 4, mejoras de Db2 Mirror) están solo a partir de 7.5; chequear versión y TR antes de prometer.
- •Soporte — las páginas de IBM Support tienen secciones separadas por versión y TR; siempre verificar contra la versión instalada.
IBM publica el ciclo de vida de cada versión con anticipación. El soporte estándar de una versión típicamente dura tres años desde su GA (General Availability), seguido de un período opcional de Service Extension Offering (SEO) —contratado por separado— que extiende el acceso a PTFs de seguridad y corrección. Un cliente fuera de soporte estándar y sin SEO no recibe correcciones, lo que representa un riesgo de seguridad y operativo concreto.
IBM i 7.4 — features clave (la versión más instalada del parque)
7.4 sigue siendo, al momento de redactar este material, la versión con mayor presencia en cuentas reales. Vale la pena conocer sus features base y de TRs porque la mayoría del soporte y de las preventas lo encontrarán antes que 7.5.
Database y APIs
- •La API
QBNCHGPD(Change Program Data) fue mejorada para actualizar la ubicación del código fuente de debug de un programa compilado conDBGVIEW(*SOURCE). Útil en debugging post-mortem.
Acceso a datos / ODBC
- •El IBM i Access ODBC driver fue portado al propio IBM i, permitiendo que cualquier cliente ODBC estándar se comunique con la base de datos local. Esto habilita re-deployar aplicaciones desarrolladas con el ODBC driver de Windows/Linux directamente sobre IBM i.
Desarrollo moderno (Node.js)
- •Versiones
idb-connector1.x eidb-pconnector1.x publicadas, con acceso directo a Db2 desde JavaScript siguiendo convenciones JS/Node estándar.
Data science y machine learning
- •Paquetes nuevos para data science y ML disponibles vía RPM, incluyendo bibliotecas Python de Machine Learning y Data Science.
- •R disponible en IBM i — orientado a estadística y data mining.
Mensajería y middleware open source
- •Apache ActiveMQ disponible nativamente — broker de mensajería con soporte de OpenWire, STOMP, MQTT, AMQP, REST y WebSockets.
Build y devops
- •Mejoras de Apache Ant y Apache Maven para automatización de build.
- •Mejoras en utilities de terminal y networking adapters.
IBM i 7.4 recibió Technology Refreshes hasta al menos TR11. Cada TR de 7.4 incorporó mejoras incrementales en open source, Db2, APIs del sistema y herramientas de desarrollo; muchas de las capacidades de open source y data science se incorporaron en TRs específicos, no en la base 7.4.0.
Para Soporte y Preventa: chequear siempre el TR exacto en el cliente. Los TRs de 7.4 publicados llegan al menos hasta TR11; muchas mejoras —incluyendo las de open source y data science— se incorporan en TRs específicos, no en la base.
Soporte L1Para Soporte L1 (2 días)
Objetivo del rol en este módulo: operar IBM i, leer logs y escalar bien.
Comandos del día a día
| Comando | Para qué |
|---|---|
| WRKACTJOB | Ver trabajos activos por subsistema. |
| DSPMSG | Mensajes en cola del usuario. |
| WRKMSG QSYSOPR | Cola del operador del sistema (la más crítica). |
| WRKSPLF | Spooled files (impresión). |
| WRKSYSACT | Actividad del sistema en tiempo real. |
| WRKDSKSTS | Estado de discos. |
| DSPSYSVAL | Ver un system value. |
| DSPLOG | Historia del sistema (QHST). |
| DSPPTF | PTFs (parches) instalados. |
Herramientas gráficas
- •ACS (IBM i Access Client Solutions) — para emulación, transferencia, scripts SQL.
- •Navigator for i — vista web del sistema, monitores, performance.
Joblog
Cada trabajo genera un joblog con sus mensajes. Los IDs de mensaje (CPF…, MCH…, SQL…) tienen prefijos por familia. Para escalar bien, capturar:
- •Joblog completo del job afectado.
- •Mensaje QSYSOPR si hay alerta.
- •Hora, usuario, programa.
Mensajes CPF comunes y cómo interpretarlos
Los mensajes CPF (Command Processing Failure) son los que más va a encontrar un L1 en el día a día. Estos cuatro son de los más frecuentes:
CPF4131 — Level check on file (registro no coincide con el formato):
CPF4131 - Level check on member MYFILE in file MYLIB/MYFILE.
Qué pasó: un programa fue compilado contra una versión del archivo (record format) y el archivo cambió después (se agregó/eliminó un campo). El programa espera un layout que ya no coincide.
Primera respuesta: verificar con DSPFD FILE(MYLIB/MYFILE) y DSPPGM PGM(MYLIB/MYPGM) si el formato del archivo y el del programa coinciden. Escalar a desarrollo para recompilación del programa.
CPF2105 — Object not found:
CPF2105 - Object MYOBJ in MYLIB type *FILE not found.
Qué pasó: un programa o comando referencia un objeto que no existe en la biblioteca indicada. Causas comunes: deploy incompleto, biblioteca incorrecta en la library list, objeto eliminado accidentalmente.
Primera respuesta: verificar que el objeto exista con WRKOBJ OBJ(MYLIB/MYOBJ). Verificar la library list del job con DSPLIBL. Si el objeto debería existir y no está, escalar.
CPF1124 — Job ended abnormally:
CPF1124 - Job 123456/USER/JOBNAME ended abnormally.
Qué pasó: un job terminó con error. Puede ser por un MCH (machine check), un ESCAPE message no manejado, o un ENDJOB *IMMED.
Primera respuesta: buscar el joblog del job terminado con DSPJOBLOG JOB(123456/USER/JOBNAME). El último mensaje antes del CPF1124 indica la causa real.
CPF9801 — Object LIBRARY in library QSYS not found:
CPF9801 - Object BADLIB in library QSYS type *LIB not found.
Qué pasó: se está referenciando una biblioteca que no existe. Frecuente cuando se copia un job o un programa de un entorno a otro sin ajustar las bibliotecas.
Primera respuesta: verificar que la biblioteca exista con WRKLIB BADLIB. Si no existe, investigar de qué entorno debería venir.
Joblog bueno vs joblog malo
Joblog de un batch que ejecutó bien (resumido):
JOBLOG - Job 234567/BATCHUSR/NIGHTRUN - 2026-05-08
15:00:01 CPC2191 - Informational: Job started.
15:00:02 CPC1221 - Job NIGHTRUN submitted.
15:00:03 CPF9898 - Application message: Processing ORDLIB...
15:02:44 CPF9898 - Application message: 12,456 records processed.
15:02:45 CPC2190 - Informational: Job completed normally.
Indicadores de salud: mensajes informativos (CPC), mensajes de aplicación (CPF9898 usado como informativo), finaliza con CPC2190 - Job completed normally.
Joblog de un batch con problemas:
JOBLOG - Job 234568/BATCHUSR/NIGHTRUN - 2026-05-08
15:00:01 CPC2191 - Informational: Job started.
15:00:02 CPC1221 - Job NIGHTRUN submitted.
15:00:03 CPF9898 - Application message: Processing ORDLIB...
15:00:45 CPF5029 - Data mapping error on member ORDERS.
15:00:45 CPF5029 - Additional diagnostic information...
15:00:45 MCH1210 - Receiver value too small for result.
15:00:45 CEE9901 - Application error. MCH1210 unmonitored.
15:00:46 CPF1124 - Job 234568/BATCHUSR/NIGHTRUN ended abnormally.
Indicadores de problema: mensajes CPF50xx (errores de datos), MCH (machine check — error en la operación), CEE (error de runtime del ILE), finaliza con CPF1124 - Job ended abnormally. La cadena de errores se lee de abajo hacia arriba: CPF1124 es la consecuencia, MCH1210 es la causa (un campo numérico recibió un valor que no cabe).
Template de escalado
Al escalar un incidente IBM i (a senior, a IBM, a Precisely), incluir siempre:
INCIDENTE IBM i - [FECHA] [HORA]
==================================
Cliente: [nombre]
Sistema: [modelo] S/N [serial]
IBM i: [versión] TR[número]
QuickEDD/CDC: [versión si aplica]
SÍNTOMA:
[Descripción en una oración]
IMPACTO:
[Usuarios afectados, procesos detenidos, SLA comprometido]
EVIDENCIA ADJUNTA:
- Joblog del job: [nombre/número]
- Mensajes QSYSOPR: [rango horario]
- WRKACTJOB screenshot: [sí/no]
- Otros: [detallar]
PASOS YA REALIZADOS:
1. [qué se verificó]
2. [qué se intentó]
REPRODUCIBILIDAD:
[siempre / intermitente / única vez]
Common pitfalls que se ven en L1
- •Objeto no journaled — bloquea replicación de Quick EDD / Connect CDC.
- •Job en MSGW (message wait) — alguien debe responder.
- •Cola de output llena — disco lleno de spool.
- •Subsistema caído —
WRKSBSmuestra estado.
Apertura de case con IBM
- •Versión IBM i + TR + nivel de PTF.
- •Modelo de máquina y serial.
- •Joblog y mensaje exactos.
- •Pasos de reproducción.
- •Vía IBM Support portal o partner.
Recursos relacionados
Runbook — Connect CDC
Los 10 incidentes más frecuentes en operación de Connect CDC (Precisely), con síntoma, evidencia, primer paso y criterio de escalado.
Runbook — Flash For i
Los 10 incidentes más frecuentes en operación de Flash For i (M81), con síntoma, evidencia, primer paso y criterio de escalado.
Runbook — Assure Quick EDD
Los 10 incidentes más frecuentes en operación de Quick EDD, con síntoma, evidencia, primer paso y criterio de escalado.