Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

If I execute some SQL statements over many transactions instead of just committing once after all statements, will this have an effect on the amount of redo log generated? And hence on the size of the archiving log directory?

share|improve this question

migrated from Jan 22 '12 at 16:57

This question came from our site for professional and enthusiast programmers.

up vote 4 down vote accepted

Yes, it will.

1000 statements, each in its own transaction, will generate more redo than 1 transaction of 1000 statements. Transaction begin/end markers do require space in the redo and archive log.

Further, Oracle writes the redo log buffer to disk as it needs to; generally speaking, committing more than 3 times per seconds adds latency (due to serialized physical I/O required to flush the log buffer to disk) to the overall operation.

share|improve this answer
You're right, every commit will have a redo record in the log. I tend to forget that because the number of commit redo records compared with the rest is usually very small. I've deleted my answer to prevent any confusion as it already got a vote on it. – John Doyle Jan 19 '12 at 3:36

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.