Nov 23, 2016

Problema con respaldo de TSM código de error ANS1087E (RC106) Access to the specified file or directory is denied.

 

Puede que durante la ejecución de algún respaldo de base de datos Oracle obtegan el error:

ANS1087E (RC106) Access to the specified file or directory is denied.

Dicho error como mencionó se produce al ejecutar un backup, usar la herramienta tdpoconf o al testear la libreria de respaldo con sbttest. Si esto es así no se preocupen tiene solución y lo más probable es que se deba a un privilegio sobre ciertos archivos que utiliza la herramienta TDP.

Evidencia de los errores:

Salida por pantalla del tdpoconf showenv





Salida por pantalla de sbttest


Observación: Fijarse muy bien que el error que pueda dar el sbttest pueda deberse a que el link simbólico de los archivos $ORACLE_HOME/lib/libobk* no apunten directamente al archivo libobk.so de la ruta de instalación del TDP de oracle. Esos links de la carpeta ORACLE_HOME/lib deben estar correctamente creados:



Bueno respecto al error de fondo que da el tdpoconf dice claramente que hay algún archivo o carpeta que no se pueda acceder. Mi recomendación es que a los archivos de la ruta del TDP les den privilegios de lectura y ejecución para el usuario oracle. Por defecto el tdp queda instalado en esta ruta: /tivoli/tsm/client/*. Sobre esa ruta deben asegurar que el usuario oracle pueda escribir, leer y ejecutar sin problemas. Ojo con aquello.

Ahora otro dato importante es que dentro del directorio tdp existen ciertos archivos dónde se especifican las rutas de los variados logs del  TDP. Si alguno de esos logs el usuario oracle no tiene los privilegios para escribir, el backup o test de respaldo se caerá con el error mencionado al comienzo. Así que se deben prestar atención a los siguientes archivos y verificar que vuestro usuario (oracle para estos efectos) tengan privilegios necesarios para escribir aquellos logs:

(pueden chequear los arhivos con lo suguiente, teniendo en cuenta que el tdp está instalado en la ruta: /opt/tivoli/tsm/client/ )

grep -i 'error' /opt/tivoli/tsm/client/api/bin64/dsm.sys
grep -i 'logname' /opt/tivoli/tsm/client/ba/bin/dsm.sys
grep -i 'DSMI_LOG' /opt/tivoli/tsm/client/oracle/bin64/*.opt

Lo anterior arrojará por ejemplo estos archivos:


 
Hay que verificar los permisos para cada uno de esos archivos. En mi caso el usuario oracle no tenia privilegios para escribir sobre el archivo /tmp/dsmerror_18.log y eso me estaba causando el error de base de datos.

Luego de dar un chmod para que el usuario oracle escribiera pude respaldar sin problemas y el tdpoconf showenv me funcionó sin problemas:



 Espero que haya sido de utilidad


PD: Este meme refleja como me siento cuando trasnocho resolviendo algún incidente, como me pasó hace poco jaja:








No comments:

Post a Comment