Skip to Main Content
  • Questions
  • Do we know for sure from the trace file, that the application uses transactions on the database?

Breadcrumb

Question and Answer

Chris Saxon

Thanks for the question, Adam.

Asked: November 07, 2018 - 11:01 am UTC

Last updated: November 08, 2018 - 11:08 am UTC

Version: 11

Viewed 1000+ times

You Asked

We got deadlock. In the trace file there is the deadlock graph:

Deadlock graph:
                       ---------Blocker(s)--------  ---------Waiter(s)---------
Resource Name          process session holds waits  process session holds waits
TX-00100017-000bad78        96       9     X             61     548           X
TX-0013001c-0008452c        61     548     X             96       9           X


Does TX-... means that the application use transactions on the database?

and Chris said...

Questions does not compute. Applications always use transactions.

A transaction is simply a series of SQL statements, terminated by a commit or rollback.

Now, your application may rely on auto-commit properties to end transactions. Instead of explicitly coding commit/rollback. And there's no guarantee the transactions are written correctly (hint: if you've got a deadlock the answer's almost certainly "No").

But you definitely have them.

So... what are you really trying to understand here?

Is this answer out of date? If it is, please let us know via a Comment

More to Explore

SQL

The Oracle documentation contains a complete SQL reference.