Nej (bortset fra en alvorlig fejl i Oracle eller medmindre vi taler om en distribueret transaktion).
Hvis en forbindelse mellem klienten og databasen mistes, er det muligt, at databasen aldrig har modtaget anmodningen om at udføre transaktionen. I så fald, når databasen opdager, at klienten er død (hvilket kan tage noget tid), vil transaktionen blive rullet tilbage. Hvis forbindelsen afbrydes, er det muligt, at databasen commiterer succesfuldt, men klienten får aldrig beskeden om, at commitningen lykkedes.
Hvis vi taler om en distribueret transaktion, er det muligt, at transaktionen forbliver i tvivl på en (eller flere) af de distribuerede noder. Hvis det er tilfældet, vil transaktionen blive vist i dba_2pc_pending
på de knudepunkter, hvor transaktionen stadig afventer. Men det ville ikke være delvist forpligtet på nogen node.
Hvis jeg skulle gætte, hvis du ser noget, der er "delvist forpligtet", vil jeg vædde på, at problemet er, at dine transaktionsgrænser ikke er korrekte, og at du har en kode et sted, der forpligter (implicit eller eksplicit) hvor du ikke forventer det.