When a scheduled data load gets executed, its stored procedure fails due to a primary key violation error and the MAEntMgr.xml log captures the following error entries
[Logger:MAEntMgr][Thread:pool-1-thread-2][Level:INFO] Executing SP_IS_DOC_FACT
[Logger:MAEntMgr][Thread:pool-1-thread-2][Level:ERROR] CALL SP_IS_DOC_FACT()
[Logger:MAEntMgr][Thread:pool-1-thread-2][Level:ERROR] java.sql.SQLException: Execute Query failed.
Error type: Odbc error. Odbc operation attempted: SQLExecDirect. [23000:1: on SQLHANDLE] [Strategy][ODBC Oracle Wire Protocol driver][Oracle]ORA-00001: unique constraint (PREFIX_XYZ.IS_DOC_FACT_PK) violated
ORA-06512: at " PREFIX.SP_IS_DOC_FACT"
* In this case, the Enterprise Manager repository is hosted on Oracle, so the oracle error ORA-00001 is seen. If other databases are used, the error message can vary.
One possible cause of this issue is that more than one Enterprise Manager Data Loader services are configured, pointing to the same Enterprise Manager repository. As a result, each service executes the data load at a scheduled time simultaneously. Each service consequently calls the same stored procedure about the same time, which tries to insert same data into the corresponding fact table concurrently, triggering the primary key violation.
Make sure that only one Enterprise Manager Data Loader service is configured for each Enterprise Manager repository, especially in a clustered environment.