Script de arranque con el systemctl

Hoy vamos a ver (con mucho retraso) como hacer un script de arranque para el systemctl para nuestra base de datos 12c

Vamos a poner el supuesto de que tenemos una base de datos 12c, en filesystem en una OL7. Al no haber instalado el grid control, nadie arrancará nuestra base de datos.
¿Como hacemos para que arranque en el inicio ?
Simplemente hay que crearlos servicios de arranque

Scripts de arranque

Al igual que en un linux clásico, necesitaremos un script de start y stop para nuestra base de datos, nosotros crearemos :

  • listener.sh para el listener
  • cdbtest.sh para nuestra instancia cdbtest.

Por compatibilidad con los sistemas antiguos, lo dejaremos en /etc/init.d (auqnue toda la información que he visto en internet lo deja ene l propio $HOME de oracle ) y le añadiremos una guarda que compruebe que solamente pueda arrancase con el usuario oracle (y evitar asi que alguien lo use como root)

/etc/init.d/listener.sh

#!/bin/bash
##  Configuramos el nombre del usuario que arranca la BBDD
export USUARIO=oracle
if [ $UID -ne  `id -u $USUARIO`  ];then
 echo "Programa invocado con  incorrecto, debe de invocarse como $USUARIO "
 exit 1 ;
fi
export ORAENV_ASK=no
export export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
case $1 in 
start)
	$ORACLE_HOME/bin/lsnrctl start 
;;
stop)
        $ORACLE_HOME/bin/lsnrctl stop
;;
status)
        $ORACLE_HOME/bin/lsnrctl status
;;
*)
  echo "Usage $0 start|stop|status "
  ;;
esac

/etc/init.d/cdbtest.sh

#!/bin/bash
##  Configuramos el nombre del usuario que arranca la BBDD
export USUARIO=oracle
if [ $UID -ne  `id -u $USUARIO`  ];then
 echo "Programa invocado con  incorrecto, debe de invocarse como $USUARIO "
 exit 1 ;
fi
export ORACLE_SID=cdbtest
export ORAENV_ASK=NO
. oraenv
case $1 in 
start)
$ORACLE_HOME/bin/sqlplus "/as sysdba" << EOF
	startup;
	exit;
EOF
;;
stop)
$ORACLE_HOME/bin/sqlplus "/as sysdba" << EOF
	shutdown immediate;
	exit;
EOF
;;
*)
  echo "Usage $0 start|stop "
  ;;

Creamos los servicios de systemctl

Ahora que tenemos ya los scripts que arrancaran y pararan el listener y la base de datos, crearemos nuestros servicios de arranque.
Crearemos uno especifico para el listener y otro para nuestra instancia cdbtest.
Para identificar cuales son nuestros servicios , los llamaremos dbora-XXX . Esto no es una convención genérica ni una best practice , sino que es simplemente un patrón propio para facilitarme su futura identificación.

Servicio dbora-listener.service

Crearemos un fichero llamado /lib/systemd/system/dbora-listener.service

[Unit]
Description=The Oracle Listener
After=syslog.target network.target

[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535

RemainAfterExit=yes
User=oracle
Group=oinstall
ExecStart=/etc/init.d/listener.sh start 
ExecStop=/etc/init.d/listener.sh stop 
Type=idle
RemainAfterExit=yes
User=oracle
Group=oinstall
[Install]
WantedBy=multi-user.target

Servcio dbora-cdbtets.service

Ahora crearemos un servicio de arranque para nuestra instancia /lib/systemd/system/dbora-cdbtets.service

[Unit]
Description=Base de datos cdbtest
After=syslog.target network.target dbora-listener.service

[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535
RemainAfterExit=yes
User=oracle
Group=dba
ExecStart=/etc/init.d/cdbtest.sh start  >> /tmp/startup_cdbtestlog 2>&1 &
ExecStop=/etc/init.d/cdbtest.sh stop  >> /tmp/shutdown_cdbtestlog 2>&1 &
Type=idle
[Install]
WantedBy=multi-user.target

Configuramos los servicios

Ya tenemos los scripts de arranque y los scripts de los servicios. Ahora simplemente nos quedará el habilitarlos para su funcionamiento.
Para ello, primero haremos un reload para refrescar los servicios

# systemctl daemon-reload
Y luego los cargaremos y habilitaremos
systemctl start dbora-listener.service
systemctl enable dbora-listener.service
systemctl start dbora-cdbtest.service
systemctl enable dbora-cdbtest.service

Así pues, si queremos ver el estado del service, podremos ver como :

[root@alone ~]# systemctl status dbora-cdbtest.service
● dbora-cdbtest.service - Base de datos cdbtest
   Loaded: loaded (/usr/lib/systemd/system/dbora-cdbtest.service; enabled; vendor preset: disabled)
   Active: active (exited) since mar 2017-02-21 13:16:19 CET; 9min ago
  Process: 1039 ExecStart=/etc/init.d/cdbtest.sh start >> /tmp/startup_cdbtestlog 2>&1 & (code=exited, status=0/SUCCESS)
 Main PID: 1039 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/dbora-cdbtest.service
           ├─2303 ora_pmon_cdbtest
           ├─2305 ora_psp0_cdbtest
           ├─2307 ora_vktm_cdbtest
           ├─2311 ora_gen0_cdbtest
           ├─2315 ora_mman_cdbtest
           ├─2317 ora_diag_cdbtest
           ├─2319 ora_dbrm_cdbtest
           ├─2321 ora_vkrm_cdbtest
           ├─2323 ora_dia0_cdbtest
           ├─2325 ora_dbw0_cdbtest
           ├─2327 ora_lgwr_cdbtest
           ├─2329 ora_ckpt_cdbtest
           ├─2331 ora_smon_cdbtest
           ├─2333 ora_reco_cdbtest
           ├─2335 ora_lreg_cdbtest
           ├─2337 ora_pxmn_cdbtest
           ├─2339 ora_mmon_cdbtest
           ├─2341 ora_mmnl_cdbtest
           ├─2343 ora_d000_cdbtest
           ├─2345 ora_s000_cdbtest
           ├─2357 ora_tmon_cdbtest
           ├─2359 ora_tt00_cdbtest
           ├─2361 ora_smco_cdbtest
           ├─2363 ora_w000_cdbtest
           ├─2365 ora_w001_cdbtest
           ├─2369 ora_aqpc_cdbtest
           ├─2373 ora_p000_cdbtest
           ├─2375 ora_p001_cdbtest
           ├─2377 ora_p002_cdbtest
           ├─2379 ora_p003_cdbtest
           ├─2381 ora_qm02_cdbtest
           ├─2385 ora_q002_cdbtest
           ├─2387 ora_q003_cdbtest
           └─2452 ora_cjq0_cdbtest

feb 21 13:16:33 alone.pamplona.name cdbtest.sh[1039]: Copyright (c) 1982, 2014, Oracle.  All rights reserved.
feb 21 13:16:51 alone.pamplona.name cdbtest.sh[1039]: Connected to an idle instance.
feb 21 13:17:00 alone.pamplona.name cdbtest.sh[1039]: SQL> ORACLE instance started.
feb 21 13:17:00 alone.pamplona.name cdbtest.sh[1039]: Total System Global Area 6291456000 bytes
feb 21 13:17:00 alone.pamplona.name cdbtest.sh[1039]: Fixed Size                    2938352 bytes
feb 21 13:17:00 alone.pamplona.name cdbtest.sh[1039]: Variable Size                 3372222992 bytes
feb 21 13:17:00 alone.pamplona.name cdbtest.sh[1039]: Database Buffers         2902458368 bytes
feb 21 13:17:00 alone.pamplona.name cdbtest.sh[1039]: Redo Buffers                   13836288 bytes
feb 21 13:17:05 alone.pamplona.name cdbtest.sh[1039]: Database mounted.
feb 21 13:17:30 alone.pamplona.name cdbtest.sh[1039]: Database opened.

desinstalacion del grid control

Tras un largo periodo de inactividad, vamos a añadir una pequeña entrada con la manera de desinstalar el grid control de Oracle .

Al contrario de cuando se tiene una base ded datos sencilla de Oracle donde con borrar binarios, inventario y oratab el sistema ( en unix) queda lo sufucientemente limpio como para llevar a cabo una reinstalacion, si tenemos que reinstalar un grid infraestructure por que ha habido problemas en la instalacion o por que queremos quitarlo, no se puede hacer «a las bravas».

La manera de lelvarlo a cabo es muy sencilla.
Solamente tenemos que ir al $GRID_HOME/deinstall y ejecutar ./deinstall
Este proceso se ha de ejecutar como propietario del grid, y , al igual que la instalacion, en un momento determinado nos solicitará la ejecucion de una cadena como root.

[grid@serverpruebas ] cd  $GRID_HOME/deinstall
[grid@serverpruebas ] ls 
bootstrap.pl         bootstrap_files.lst  deinstall            deinstall.pl         deinstall.xml        jlib                 readme.txt           response             sshUserSetup.sh      utl
[grid@serverpruebas ]./deinstall 	
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /tmp/deinstall2016-11-03_09-31-33PM/logs/

############ ORACLE DECONFIG TOOL START ############


######################### DECONFIG CHECK OPERATION START #########################
## [START] Install check configuration ##


Checking for existence of the Oracle home location /opt/app/oracle/product/12.1.0/grid
Oracle Home type selected for deinstall is: Oracle Grid Infrastructure for a Standalone Server
Oracle Base selected for deinstall is: /opt/app/oracle
Checking for existence of central inventory location /opt/app/oraInventory
Checking for existence of the Oracle Grid Infrastructure home /opt/app/oracle/product/12.1.0/grid

## [END] Install check configuration ##

Traces log file: /tmp/deinstall2016-11-03_09-31-33PM/logs//crsdc_2016-11-03_09-32-36PM.log

Network Configuration check config START

Network de-configuration trace file location: /tmp/deinstall2016-11-03_09-31-33PM/logs/netdc_check2016-11-03_09-32-38-PM.log

Network Configuration check config END

Asm Check Configuration START

ASM de-configuration trace file location: /tmp/deinstall2016-11-03_09-31-33PM/logs/asmcadc_check2016-11-03_09-32-39-PM.log

ASM configuration was not detected in this Oracle home. Was ASM configured in this Oracle home (y|n) [n]: y
Automatic Storage Management (ASM) instance is detected in this Oracle home /opt/app/oracle/product/12.1.0/grid.
ASM Diagnostic Destination : /opt/app/oracle
ASM Diskgroups :
ASM diskstring : 
Diskgroups will not be dropped
 If you want to retain the existing diskgroups or if any of the information detected is incorrect, you can modify by entering 'y'. Do you  want to modify above information (y|n) [n]:
Database Check Configuration START

Database de-configuration trace file location: /tmp/deinstall2016-11-03_09-31-33PM/logs/databasedc_check2016-11-03_09-32-50-PM.log

Database Check Configuration END

######################### DECONFIG CHECK OPERATION END #########################


####################### DECONFIG CHECK OPERATION SUMMARY #######################
Oracle Grid Infrastructure Home is: /opt/app/oracle/product/12.1.0/grid
The following nodes are part of this cluster: null
The cluster node(s) on which the Oracle home deinstallation will be performed are:null
Oracle Home selected for deinstall is: /opt/app/oracle/product/12.1.0/grid
Inventory Location where the Oracle home registered is: /opt/app/oraInventory
ASM instance will be de-configured from this Oracle home
Do you want to continue (y - yes, n - no)? [n]: y
A log of this session will be written to: '/tmp/deinstall2016-11-03_09-31-33PM/logs/deinstall_deconfig2016-11-03_09-32-35-PM.out'
Any error messages from this session will be written to: '/tmp/deinstall2016-11-03_09-31-33PM/logs/deinstall_deconfig2016-11-03_09-32-35-PM.err'

######################## DECONFIG CLEAN OPERATION START ########################
Database de-configuration trace file location: /tmp/deinstall2016-11-03_09-31-33PM/logs/databasedc_clean2016-11-03_09-32-53-PM.log
ASM de-configuration trace file location: /tmp/deinstall2016-11-03_09-31-33PM/logs/asmcadc_clean2016-11-03_09-32-53-PM.log
ASM Clean Configuration START
ASM Clean Configuration END

Network Configuration clean config START

Network de-configuration trace file location: /tmp/deinstall2016-11-03_09-31-33PM/logs/netdc_clean2016-11-03_09-33-02-PM.log

De-configuring Listener configuration file...
Listener configuration file de-configured successfully.

De-configuring Naming Methods configuration file...
Naming Methods configuration file de-configured successfully.

De-configuring backup files...
Backup files de-configured successfully.

The network configuration has been cleaned up successfully.

Network Configuration clean config END


---------------------------------------->

Run the following command as the root user or the administrator on node "serverpruebas-m".

/tmp/deinstall2016-11-03_09-31-33PM/perl/bin/perl -I/tmp/deinstall2016-11-03_09-31-33PM/perl/lib -I/tmp/deinstall2016-11-03_09-31-33PM/crs/install /tmp/deinstall2016-11-03_09-31-33PM/crs/install/roothas.pl -force  -deconfig -paramfile "/mp/deinstall2016-11-03_09-31-33PM/response/deinstall_OraGI12Home1.rsp"

Press Enter after you finish running the above commands

<----------------------------------------



######################### DECONFIG CLEAN OPERATION END #########################


####################### DECONFIG CLEAN OPERATION SUMMARY #######################
ASM instance was de-configured successfully from the Oracle home
The stopping and de-configuring of Oracle Restart failed. Fix the problem and rerun this tool to completely remove the Oracle Restart configuration and the software
Oracle Restart was already stopped and de-configured on node "serverpruebas-m"
Oracle Restart is stopped and de-configured successfully.
#######################################################################


############# ORACLE DECONFIG TOOL END #############

Using properties file /tmp/deinstall2016-11-03_09-31-33PM/response/deinstall_2016-11-03_09-32-35-PM.rsp
Location of logs /tmp/deinstall2016-11-03_09-31-33PM/logs/

############ ORACLE DEINSTALL TOOL START ############





####################### DEINSTALL CHECK OPERATION SUMMARY #######################
A log of this session will be written to: '/tmp/deinstall2016-11-03_09-31-33PM/logs/deinstall_deconfig2016-11-03_09-32-35-PM.out'
Any error messages from this session will be written to: '/tmp/deinstall2016-11-03_09-31-33PM/logs/deinstall_deconfig2016-11-03_09-32-35-PM.err'

######################## DEINSTALL CLEAN OPERATION START ########################
## [START] Preparing for Deinstall ##
Setting LOCAL_NODE to serverpruebas-m
Setting CRS_HOME to true
Setting oracle.installer.invPtrLoc to /tmp/deinstall2016-11-03_09-31-33PM/oraInst.loc
Setting oracle.installer.local to false

## [END] Preparing for Deinstall ##

Setting the force flag to false
Setting the force flag to cleanup the Oracle Base
Oracle Universal Installer clean START


Detach Oracle home '/opt/app/oracle/product/12.1.0/grid' from the central inventory on the local node : Done

Failed to delete the directory '/opt/app/oracle/product/12.1.0/grid'. The directory is in use.
Delete directory '/opt/app/oracle/product/12.1.0/grid' on the local node : Failed <<<<

Delete directory '/opt/app/oraInventory' on the local node : Done

Failed to delete the directory '/opt/app/oracle/product/12.1.0/grid'. The directory is in use.
The Oracle Base directory '/opt/app/oracle' will not be removed on local node. The directory is not empty.

Oracle Universal Installer cleanup was successful.

Oracle Universal Installer clean END


## [START] Oracle install clean ##

Clean install operation removing temporary directory '/tmp/deinstall2016-11-03_09-31-33PM' on node 'serverpruebas-m'

## [END] Oracle install clean ##


######################### DEINSTALL CLEAN OPERATION END #########################


####################### DEINSTALL CLEAN OPERATION SUMMARY #######################
Successfully detached Oracle home '/opt/app/oracle/product/12.1.0/grid' from the central inventory on the local node.
Failed to delete directory '/opt/app/oracle/product/12.1.0/grid' on the local node.
Successfully deleted directory '/opt/app/oraInventory' on the local node.
Oracle Universal Installer cleanup was successful.


Run 'rm -r /etc/oraInst.loc' as root on node(s) 'serverpruebas-m' at the end of the session.

Run 'rm -r /opt/ORCLfmap' as root on node(s) 'serverpruebas-m' at the end of the session.
Run 'rm -r /etc/oratab' as root on node(s) 'serverpruebas-m' at the end of the session.
Oracle deinstall tool successfully cleaned up temporary directories.
#######################################################################


############# ORACLE DEINSTALL TOOL END #############

Como veis, tremendamente sencillo si se hace de manera ordenada

ORA-28040: No matching authentication protocol al subir a 12c

Hoy vamos a ver un error que podemos tener con determinadas conexiones JDBC desde clientes 10g.

El principal problema es que el cliente de JDBC thin de la 10g usa el protocolo de autenticación SHA-1, este protocolo no está permitido en la 12c, por lo que da el error.

ORA-28040: No matching authentication protocol

La solución debería de ser el uso de clientes 12c, ya que, hemos de tener en cuenta que JDBC 10.1 drivers no están certificados con bases de datos 12c

Existe un workarround para salir del paso, y es el configurar en el SQLNET.ORA del servidor el parámetro.

 SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
 SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10

De esta manera conseguiremos que clientes antiguos funcionen, pero no debemos de perder de vista que esto solo debe de ser un workarround y la suma importancia de mantener todos los componentes de la base de datos certificados.

Aunque la manera correcta de solucionarlo es desde el cliente


The solution is to take out the "-Doracle.jdbc.thinLogonCapability=o3" java parameter from the application execution.
For example, if the next java command was used to execute the application:
java -Doracle.jdbc.thinLogonCapability=o3 -cp .:ojdbc8.jar Application
Then, it is necessary to take the "-Doracle.jdbc.thinLogonCapability=o3" parameter off from the command as follows:
java -cp .:ojdbc8.jar Application

Más información como siempre en metalink en :

  • «ORA-28040: No Matching Authentication Protocol» After Database Upgrade To 19c (Doc ID 2748273.1)
  • Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)
  • 12c Database Alert.log File Shows The Message: Using Deprecated SQLNET.ALLOWED_LOGON_VERSION Parameter (Doc ID 2111876.1)
  • 11g and Older: How To Use the Parameter SQLNET.ALLOWED_LOGON_VERSION Correctly (Doc ID 1304142.1)
  • 11g and Older: How To Use the Parameter SQLNET.ALLOWED_LOGON_VERSION Correctly (Doc ID 1304142.1)
  • Error «ORA-28040: No matching authentication protocol» When Using SQLNET.ALLOWED_LOGON_VERSION (Doc ID 755605.1)

Detectar trabajos suspendidos

Vamso a ver una entrada rápida y sencilla.

¿Como sabemos cuando y por que se nos ah quedado parado un impdp?

La respuesta es muy sencilla, y es chequeando la table DBA_RESUMABLE


SELECT NAME,STATUS, TIMEOUT, ERROR_NUMBER, ERROR_MSG FROM DBA_RESUMABLE;

Esto nos dará una salida del estilo :

NAME                                STATUS            TIMEOUT, ERROR_NUMBER, ERROR_MSG
SYSTEM.IMPORT_REGENERACION2	NORMAL	       7200	0
SYSTEM.IMPORT_REGENERACION2.1	SUSPENDED	7200	1652	ORA-01652:      no se ha podido ampliar el segmento temporal con 1024 en el tablespace USERS

Donde podemos ver claramente que estamos parados por un ORA-01652 por culpa de espacio en un tabelspace

Error «Update home dependency failed» desplegando agentes del oem12c

Tras un periodo demasiado largo sin publicar , vamos a ver la solución a un problema muy sencillo, pero que nos puede traer de cabeza.

Llevando a cabo la instalación del agente para unix (AIX 64) del Enterprise Manager12c, me he encontrado con el error

Update home dependency failed.

2016-05-13_09-42-17:INFO:Action description Ejecución del comando  /bin/sh -c '/applics/oem12c/agente_12c/ADATMP_2016-05-13_08-53-57-AM/agentDeploy.sh -ignorePrereqs ORACLE_HOSTNAME=servertarget.pamplona.name AGENT_BASE_DIR=/applics/oem12c/agente_12c OMS_HOST=ascoem.gseguros.com EM_UPLOAD_PORT=4904 AGENT_INSTANCE_HOME=/applics/oem12c/agente_12c/agent_inst b_doDiscovery=false b_startAgent=false b_forceInstCheck=true AGENT_PORT=3872'  en el host servertarget.pamplona.name
2016-05-13_09-42-17:INFO:Attempt :1 pty required false  with no inputs
2016-05-13_09-46-14:INFO:/bin/sh -c '/applics/oem12c/agente_12c/ADATMP_2016-05-13_08-53-57-AM/agentDeploy.sh -ignorePrereqs ORACLE_HOSTNAME=servertarget.pamplona.name AGENT_BASE_DIR=/applics/oem12c/agente_12c OMS_HOST=ascoem.gseguros.com EM_UPLOAD_PORT=4904 AGENT_INSTANCE_HOME=/applics/oem12c/agente_12c/agent_inst b_doDiscovery=false b_startAgent=false b_forceInstCheck=true AGENT_PORT=3872' execution failed on host servertarget.pamplona.name
2016-05-13_09-46-14:INFO:Pattern ERROR: found in file /u01/app/oracle/gc_inst/em/EMGC_OMS1/sysman/agentpush//2016-05-13_08-53-57-AM/logs/servertarget.pamplona.name/install.log Line ERROR: Update home dependency failed.
2016-05-13_09-46-14:INFO:Error Message found  Update home dependency failed.
2016-05-13_09-46-14:INFO: ACTION Ejecución del comando  /applics/oem12c/agente_12c/ADATMP_2016-05-13_08-53-57-AM/agentDeploy.sh -ignorePrereqs ORACLE_HOSTNAME=servertarget.pamplona.name AGENT_BASE_DIR=/applics/oem12c/agente_12c OMS_HOST=ascoem.gseguros.com EM_UPLOAD_PORT=4904 AGENT_INSTANCE_HOME=/applics/oem12c/agente_12c/agent_inst b_doDiscovery=false b_startAgent=false b_forceInstCheck=true AGENT_PORT=3872 en el host servertarget.pamplona.name
2016-05-13_09-46-14:INFO: OUT null
2016-05-13_09-46-14:INFO: ERR  Update home dependency failed.
2016-05-13_09-46-14:INFO: EXIT CODE1
2016-05-13_09-46-14:INFO:InvocationTargetException Exception
2016-05-13_09-46-14:INFO:Printing Exception :java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at oracle.sysman.core.agentpush.ui.deployer.BaseDeployerOps.executeActions(BaseDeployerOps.java:1862)
        at oracle.sysman.core.agentpush.ui.deployer.NewAgentDeployer.deploy(NewAgentDeployer.java:59)
        at oracle.sysman.core.agentpush.ui.deployfwk.DeploymentWorker.run(DeploymentWorker.java:26)
        at oracle.sysman.util.threadPoolManager.WorkerThread.run(Worker.java:311)
Caused by: CommandException: err:  Update home dependency failed.  out: null exitcode: 1
 stacktrace:
null
        at oracle.sysman.core.agentpush.ui.deployer.DeployerOps.executeCommandOnNodeInteractive(DeployerOps.java:1199)
        at oracle.sysman.core.agentpush.ui.deployer.DeployerOps.executeCommandOnNodeInteractive(DeployerOps.java:1045)
        at oracle.sysman.core.agentpush.ui.deployer.DeployerOps.executeCmdOnNode(DeployerOps.java:639)
        at oracle.sysman.core.agentpush.ui.deployer.DeployerOps.executeCmdOnNode(DeployerOps.java:593)
        at oracle.sysman.core.agentpush.ui.deployer.BaseDeployerOps.doInstall(BaseDeployerOps.java:437)
        ... 8 more

2016-05-13_09-46-14:INFO:=========Command Exception :Mensaje de Error: Update home dependency failed. 

Código de Salida :1 2016-05-13_09-46-14:INFO:Updating Action Installwith Status FAILED and error Message :Mensaje de Error: Update home dependency failed.

Código de Salida :1 and problem Ejecución del comando /applics/oem12c/agente_12c/ADATMP_2016-05-13_08-53-57-AM/agentDeploy.sh -ignorePrereqs ORACLE_HOSTNAME=servertarget.pamplona.name AGENT_BASE_DIR=/applics/oem12c/agente_12c OMS_HOST=ascoem.gseguros.com EM_UPLOAD_PORT=4904 AGENT_INSTANCE_HOME=/applics/oem12c/agente_12c/agent_inst b_doDiscovery=false b_startAgent=false b_forceInstCheck=true AGENT_PORT=3872 en el host servertarget.pamplona.name Fallo and recommendation Corrija la causa del error y vuelva a intentar la operación 2016-05-13_09-46-14:INFO:=================action status is not empty FAILED 2016-05-13_09-46-14:INFO:Breaking since the action has failed 2016-05-13_09-46-14:INFO:Skipping action SecureAgent since some previous step has failed 2016-05-13_09-46-14:INFO:Skipping action RunRootSH since some previous step has failed 2016-05-13_09-46-14:INFO:Not Skipping action CollectLog since some previous step has failed 2016-05-13_09-46-14:INFO:sudo exists value false 2016-05-13_09-46-14:INFO:==SUDO EXISTS false SUDO PRIV false

Si buscamos en los foros de soporte e oracle o en el propio metalink,encontraremos que es un error que puede deberse a bastantes casos, sin embargo, hay una causa que ( en mi caso era la razón) es muy sencilla de comprobar, y que puede ser la causa principal del error.


If the warning from the installer is bypassed, failure of the console to effectively deploy an agent can be just one of the resulting symptoms.
Unpublished BUG OMS CONFIG FAILING IF SWAP SPACE IS LESS THAN 6GB

Así que, ante este tipo de error , lo mas rápido, sencillo e inmediato es comprobar si tenemos al menos 6 Gb de swap space, es un requisito no publicado que hace que falle la instalacion.