Löschen von zugeordneten Bausteine schlägt fehl

Hallo,

wir haben gerade ein Problem bei der Löschung von zugeordneten Bausteinen und hoffe jemand kann mir helfen.
Folgende Situation:

Ich habe den Baustein Con.2 einem Prozess zugeordnet und möchte diesen jetzt löschen.
Wenn ich das mache, erhalte ich folgende Fehlermeldung:

image

Aus den Logfiles werde ich leider nicht schlau.

Inhalt der verinice-client.log

2020-01-22 08:26:26,882 ERROR [ModalContext] (ExceptionUtil.java:60) - Fehler beim Löschen von Element.
org.springframework.remoting.RemoteAccessException: Could not deserialize result from HTTP invoker remote service [http://verinice.rz.uni-mannheim.de:8080/veriniceserver/service/commandServiceHttpInvoker
]; nested exception is java.lang.ClassNotFoundException: org.postgresql.util.PSQLException not found from bundle [sernet.springclient]
at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.convertHttpInvokerAccessException(HttpInvokerClientInterceptor.java:207)
at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:144)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy2.executeCommand(Unknown Source)
at sernet.gs.ui.rcp.main.common.model.CnAElementHome.remove(CnAElementHome.java:274)
at sernet.gs.ui.rcp.main.bsi.actions.DeleteHandler.removeElement(DeleteHandler.java:326)
at sernet.gs.ui.rcp.main.bsi.actions.DeleteHandler$DeleteElements.run(DeleteHandler.java:398)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Caused by: java.lang.ClassNotFoundException: org.postgresql.util.PSQLException not found from bundle [sernet.springclient]

Und hier der Inhalt des Logfiles auf dem Server:

2020-01-22 08:26:26,638 WARN [http-bio-8080-exec-6] (JDBCExceptionReporter.java:77) - SQL Error: 0, SQLState: 23503
2020-01-22 08:26:26,638 ERROR [http-bio-8080-exec-6] (JDBCExceptionReporter.java:78) - ERROR: update or delete on table „cnatreeelement“ violates foreign key constraint „fke125c5cf86683f32“ on table „permission“
Detail: Key (dbid)=(256891) is still referenced from table „permission“.
2020-01-22 08:26:26,640 ERROR [http-bio-8080-exec-6] (AbstractFlushingEventListener.java:301) - Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:92)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:87)
at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:222)
at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2484)
at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2702)
at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:77)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:172)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:655)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)Caused by: java.sql.BatchUpdateException: Batch entry 0 delete from cnatreeelement where dbId=256891 was aborted: ERROR: update or delete on table „cnatreeelement“ violates foreign key constraint „fke125c5cf86683f32“ on table „permission“
Detail: Key (dbid)=(256891) is still referenced from table „permission“. Call getNextException to see other errors in the batch.
at org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:148)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2212)
Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table „cnatreeelement“ violates foreign key constraint „fke125c5cf86683f32“ on table „permission“
Detail: Key (dbid)=(256891) is still referenced from table „permission“.

Ich habe bevor das Problem auftrat eine Sicherung der verinice DB wiederhergestellt indem ich die verinicedb gelöscht habe. Anschließend die verinicedb neu angelegt habe und die Sicherung eingespielt habe.

Hätte ich nach dem Anlegen der Datenbank auch wieder die Datenbank optimieren müssen, wie ind er Anleitung angeben?

psql -d verinicedb -f /usr/local/bin/create-indices.sql

Das sollte doch eigentlich in der Datenbank bereits gespeichert sein, oder?

Um Hilfe wäre ich sehr dankbar!

Viele Grüße
Alex

Das Löschen der Berechtigungen für das Element, das gelöscht werden soll scheitert. Wenn sie Zugriff auf die Datenbank haben, können sie die Berechtigungen mit einem SQL Statement löschen.

Bitte stellen sie vorher sicher, dass sie Backups der Datenbank haben und überprüfen sie, dass das Einspielen der Backups funktioniert.

Sie löschen die Berechtigungen in der Datenbank mit dem SQL Befehl:

DELETE FROM permission WHERE cte_id=256891;

Versuchen sie nach dem Ausführen dieses Befehls erneut, das Element in der Datenbank zu löschen.