Puede que cuando intentemos instalar un parche con la utilidad OPatch de Oracle Database nos encontremos con el error Missing command :fuser que se nos mostrará tal que así:
opatch: Prerequisite check CheckSystemCommandAvailable failed Missing command :fuser
A continuación vamos a ver las dos formas de solucionarlo…
Índice
Solución buena: Instalar el paquete psmisc
Esto no es un error de Oracle, sino que como el propio error nos indica, el sistema operativo no reconoce el comando fuser, el cuál es necesario para realizar la actualización con OPatch. Esto se soluciona de forma muy simple instalando el paquete del sistema operativo. En RHEL (CentOS, Fedora) lo podemos instalar a través del gestor de paquetes:
yum install psmisc
El paquete msisc contiene utilidades para gestionar los procesos de nuestro sistema, entre ellas el comando fuser, requerido por OPatch. Con el paquete instalado ya podemos volver a lanzar la actualización y esta vez no debería volver a aparecer el error Missing command :fuser.
Solución chapuza: crear un fichero vacío y forzar la instalación
En caso de que no podáis instalar el paquete psmisc por cualquier motivo, existe una solución alternativa, que personalmente me parece una chapuza pero que nos puede salvar en un momento determinado. Consiste en crear un fichero vacío para que Oracle crea que el fuser está instalado y pueda proseguir con la instalación, aún sin tener realmente el comando instalado. Personalmente no lo he probado y quiero hacer hincapié en esto porque si decidís id por este camino estáis por vuestra cuenta y riesgo. El procedimiento es el siguiente:
cd $ORACLE_HOME/bin/
touch fuser
chmod 755 fuser