Unable to Delete Certain CIs from UCMDB

Each time I try to remove 74 Windows servers as they no longer have any IP Address or other related CI types I keep getting the following error.

I'm trying to understand why when I'm trying to delete UCMDb is trying to Insert into HDM_150710RUNNING_SOFTWARE_1. I've checked what History Tables exist for Running_software and this table definitely exists.

 

2016-03-22 14:36:42,579 ERROR [qtp1299257975-58617] - !!!FAILED!!![Operation #273190403 Name=DataInRemoveDataStrict]
com.hp.ucmdb.reconciliation.datain.operation.DataInOperationException: [ErrorCode [63000] Reconciliation DataIn general error.]
Error while trying to [removeStrict] on level [1]! appilog.framework.shared.manage.impl.MamResponseException: [ErrorCode [-2147483648] undefined error code]
CMDB Operation Internal Error: class com.mercury.topaz.cmdb.shared.base.CmdbException : com.mercury.topaz.cmdb.server.manage.dal.CmdbDalBatchException: [ErrorCode [-2147483648] undefined error code]
Can't execute BATCH prepared statement [INSERT INTO HDM_150710RUNNING_SOFTWARE_1( ID, CMDB_ID, CHANGE_TYPE, START_TIME, CHANGER_DATASTORE,CHANGER_INFO,TENANTS_BITMASK ) VALUES (?,?,?,?,?,?,?)], failed prior to DB execution due to exception: com.mercury.jdbc.oraclebase.ddc: [mercury][Oracle JDBC Driver][Oracle]ORA-00942: table or view does not exist
: operation Model Update: Update model with bulk of operations in mixed OPTIMISTIC/STRICT mode : class com.mercury.topaz.cmdb.shared.base.CmdbException :
CMDB Internal Error: Error while handling request: {request: ID='03a4f034775ea37212d8358782beab21' Message='General CMDB request' Operation='com.mercury.topaz.cmdb.shared.model.operation.update.impl.bulk.ModelUpdateBulksMixed@5ac92657' Customer ID='1, id name: Default Client'
Context='CMDB

Caused by: com.hp.ucmdb.reconciliation.datain.operation.DataInOperationException: [ErrorCode [63000] Reconciliation DataIn general error.]
appilog.framework.shared.manage.impl.MamResponseException: [ErrorCode [-2147483648] undefined error code]
CMDB Operation Internal Error: class com.mercury.topaz.cmdb.shared.base.CmdbException : com.mercury.topaz.cmdb.server.manage.dal.CmdbDalBatchException: [ErrorCode [-2147483648] undefined error code]
Can't execute BATCH prepared statement [INSERT INTO HDM_150710RUNNING_SOFTWARE_1( ID, CMDB_ID, CHANGE_TYPE, START_TIME, CHANGER_DATASTORE,CHANGER_INFO,TENANTS_BITMASK ) VALUES (?,?,?,?,?,?,?)], failed prior to DB execution due to exception: com.mercury.jdbc.oraclebase.ddc: [mercury][Oracle JDBC Driver][Oracle]ORA-00942: table or view does not exist
: operation Model Update: Update model with bulk of operations in mixed OPTIMISTIC/STRICT mode : class com.mercury.topaz.cmdb.shared.base.CmdbException :
CMDB Internal Error: Error while handling request: {request: ID='03a4f034775ea37212d8358782beab21' Message='General CMDB request' Operation='com.mercury.topaz.cmdb.shared.model.operation.update.impl.bulk.ModelUpdateBulksMixed@5ac92657' Customer ID='1, id name: Default Client'
Context='CMDB Context: Customer id = '1, id name: Default Client' , User ID = '911' , Caller Application = 'UCMDB-UI,loggedInUser:{daveheckford}''}
at com.hp.ucmdb.reconciliation.datain.operation.AbstractDataInUpdateOperation.updatePersistency(AbstractDataInUpdateOperation.java:315)
at com.hp.ucmdb.reconciliation.datain.operation.AbstractDataInUpdateOperation.handleBulk(AbstractDataInUpdateOperation.java:661)
... 123 more

 

If anyone can shed any light on this, that would be much appreciated,

thanks,

Dave

  • Hi Dave

    I suggest you may open support ticket and attach logs for checking. From my personal viewpoint

    You may consider these factors

    1. The db user really have the enough permission to operate these table or views.
    2. The Cis you are trying to delete have been customed or not? Whether anyone changed the schema relates these Cis or not.
    3. I guess you can also do some testing with the same CIT. so that we can narrow down it’s an issue about particular Cis or it’s the deletion issue about all Cis.

    BR
    dong-xu

  • Hi Dong,

    Thanks for the reply. Some further investigation I've found the following. I cant delete the Windows CI or the Running Software CI for each of these servers. I was able to delete Process CIs and Location and NTCMD CIs. So this has reduced the number of CIs that are now related to these 74 server but the two CI types that constantly report an error when trying to delete are Windows and Running Software.

    When I check the log files its always reporting a reconcilliation error when trying to look in the HDM_150710_Running_Software_1 table.

    These 74 Windows CIs have not been customised in anyway. They had been properly discovered and then ageing had dont the majority of the job of removing these CIs but for some reason its looking as though this ORA942 error has been occuring a lot with this Table.

    When we've seen the ORA-00942 error in the past we have applied the following fix:

    Oracle administrator and run the following SQL
    command:
    alter system flush shared_pool

    But this error is being produced on a regular basis and I think its to do with the HDM_150710_Running_Software_1 table not being seen by UCMDB. I think this is affecting a number of issues around not only deletion but also when doing discovery.

  • try to rebuildModelDBSchemaAndViews for failed ci types. like as a className = "running_software"  run first "preview mode" and check

  • Verified Answer

    After doing the following steps:

    1. Mbean: UCMDB:service=History DB Services. Method: executeFullBaseline
    2. Mbean: UCMDB:service=History DB Services. Method: alignHistoryForType

    The CIs that needed to be removed have now gone.

     

  • Dave;

    The reason we insert into this table is due to the relationship we have between windows and the running_software.  It is a composition link... which means if the parent side of the relationship is removed, then the child side must be as well.  As a result of deleting the containing node, the child node will also be removed.  It makes sense, as if I have a windows box with a specific Apache Tomcat server running, if the windows box gets dropped into an incinerator, the specific running software is also effectively incinerated.  :-)  The insert into the table: HDM_150710RUNNING_SOFTWARE_1, is because we record what we are deleting from the UCMDB server (in this case, running software) into the HDM tables.  Check the existance of this specific table as the ora error says it doesn't exist.  Also... I don't think it should exist!!  The date on that table is *very* old.  15 = 2015, 07 = July, 10 = 10th.  So the table was created July 10th, 2015.  Are you saving history that far back?  Is there some date issue on the server?  (Like it is showing the date to be in the year 2015?)...

     

    That is why the insert to history fails.

     

  • Hi Keith,

    Thanks for the explanation. I've checked our History settings and it says "History Months to Save Back" set to 3. So that would suggest to me only 3 months worth of History should be kept. Hence why I'd agree that temporary table should not exist. Since running the two jmx commands I mentioned in my earlier post this seems to have corrected the problem as we're not seeing the ORA Table does not exist error any longer. So hopefully now its all resolved and OK but I could get our Oracle DB team to check if the table does still appear within Oracle.

    Thanks,

    Dave 

     

  • I have tried but I still can not delete to CIs. I get the error "Deletion Operation Failed".
    I get the same error trace with the topic owner.
    I try delete CI type that is oracle.

    I would be pleased if it up the topic.

    Thanks

    Burak
  • Hi,

    The problem was solved when running "for all CIs" command “alignHistoryForType” from the jmx console.

    Thanks