viernes, 18 de mayo de 2012

Error al crear repositorio del Enterprise Manager 10G con el EMCA

Saludos,

No es raro que la consola del Enterprise Manager falle debido a cambios en el host como el cambio de dominio, cambio de ip o de ip fija a dínamica. Aunque esto falle no es de preocuparnos ya que lo podemos reconstruir sin afectar la operación de la base de datos. Aunque esto ya lo había realizado un monton de veces se presento un error al tratar de generarlo. Mi version de base de datos en la que estoy trabajando es 10.2.0.3.0

Claro que antes de crear el repositorio borre el anterior con el comando:
emca -deconfig dbcontrol db -repos drop

Revisando el log "emca_2012-05-18_09-47-23-AM.log" no me decía mucho acerca del error

May 18, 2012 9:51:36 AM oracle.sysman.emcp.EMReposConfig createRepository
CONFIG: ORA-01403: no data found
ORA-06512: at line 259
oracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-01403: no data found
ORA-06512: at line 259
 at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeImpl(SQLEngine.java:1467)
 at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeScript(SQLEngine.java:841)
 at oracle.sysman.assistants.util.sqlEngine.SQLPlusEngine.executeScript(SQLPlusEngine.java:265)
 at oracle.sysman.assistants.util.sqlEngine.SQLPlusEngine.executeScript(SQLPlusEngine.java:306)
 at oracle.sysman.emcp.EMReposConfig.createRepository(EMReposConfig.java:389)
 at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:191)
 at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:133)
 at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:142)
 at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:485)
 at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1141)
 at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:469)
 at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:418)
May 18, 2012 9:51:36 AM oracle.sysman.emcp.EMReposConfig invoke

Revisando el log del script que ejecutó para ver en donde se dió el error "emca_repos_create_2012-05-18_09-48-37-AM.log" tampoco ayudaba mucho:

PL/SQL procedure successfully completed.
No errors.
BEGIN
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at line 259

Para determinar el error para ver en donde se caia realice un monitoreo del proceso y econtre que el ORA-01403: no data found se generaba en el script "self_monitor_post_creation.sql" dentro en la ruta %HOME_ORACLE%\db_1\sysman\admin\emdrep\sql\core\latest\self_monitor.

Revisando este archivo se encontró la linea que generaba el error "SELECT host_name into l_host_name FROM v$instance WHERE ROWNUM=1;". Esto sucede ya que en version 10.2.0.3 esto no retorna datos.

Para solucionar este error hay dos opciones:
  1. Parchar a la version 10.2.0.5.0(Version que se presento el error 10.2.0.3.0)
  2. Modificar el script "self_monitor_post_creation.sql" modificando "SELECT host_name into l_host_name FROM v$instance WHERE ROWNUM=1;" por esto "SELECT host_name into l_host_name FROM v$instance WHERE ROWNUM<=1;"
Cualquiera de las dos opciones puedes usar para solucionar el error, pero antes no olvidar borrar el repositorio que quedo a medias.