I'm trying to work out why my Oracle 19c database is "suddenly" experiencing high commit waits. Looking in V$ACTIVE_SESSION_HISTORY and DBA_HIST_ACTIVE_SESS_HISTORY shows me that lots of sessions are waiting on "log file sync" and the blocking session is the LGWR process. Not a sign of a problem in itself, but a couple of months ago (before a recent set of product updates) it wasn't doing that, so I'm trying to understand what has changed. Either some code changes made over the last 2 months have caused this, or potentially the I/O system is experiencing a problem.
Because it's an OLTP system we have many different types of transaction, and I'm finding it difficult to filter out the noise from the performance views. What I'd like to be able to do is identify the sessions which are doing most commits, and also the sessions that are doing the "largest" commits, and then I can trace these back to see which pieces of code are responsible etc.
I would therefore like to be able to create a table such as this:
| SESSION_ID | SESSION_SERIAL# | COMMIT_COUNT | COMMIT_SIZE |
|---|---|---|---|
| 1 | 12345 | 3 | 132436 |
For commit size, I guessed I would need to use something like the "wait time" as an approximation and was hoping that the TM_DELTA_DB_TIME column would help me out here, but not sure how to measure the number of commits. I had hoped that the XID column would allow me to see the transaction boundaries but it's usually NULL.
And now I've stopped to question why there isn't an easier way to do this, and whether I'm going about it the wrong way. Surely I can't be the only person to want more in-depth understanding of the commit activity within their Oracle database. Or am I asking for data that doesn't exist in the views?
If anybody has some tips for where to look I would be very grateful!
4Related questions 3 Mass Updates and Commit frequency in SQL Server 4 How to see all records changed since last commit in Oracle 10? 4 Do the time of the COMMIT and ROLLBACK affect performance? Related questions 3 Mass Updates and Commit frequency in SQL Server 4 How to see all records changed since last commit in Oracle 10? 4 Do the time of the COMMIT and ROLLBACK affect performance? 1 How to find out when a COMMIT WRITE NOWAIT has become durable? 3 Redo changes in oracle db after commit 2 configurable auto commit in oracle 1 How to find the timestamp of when last commit statement was issued? 4 How often to I commit in Oracle 0 Commit point reached 0 Oracle How to get amount of commits table? Load 7 more related questions Show fewer related questions
Reset to default