The format is proprietary and there is no public official document which would describe the structure. Here is a brief summary of various sources which are publicly available. One might think that there is very little information available, but that’s not true.
This is a list I have made in the past when I was making some research for myself. If I have missed something interesting – please let me know.
Open source projects
1. Project Zizzy – written by Hongliang Wang, Sean Young, Steve Sheil, Wang Shiyi, web page, source code on sourceforge.
Code is written in C, license is LGPL, supported very poorly format from Oracle version 10, last update was in 11th March 2008.
2. OracleRedoParser – written by zhihuiFan / 樊智辉, source code on github.
License of code is unknown. Quote: This is an internal/dead project and we do not support it anymore. Put it here just in case it may helpful for any people. Last update 27.05.2015. Code written in C and C++. Partial support of basic opcodes.
3. OpenLogReplicator – written by Adam Leszczyński, web page, source code on github.
Project written in C++, allowing to read redo logs (database version 11.2+) and writes transactions to Kafka, licensed on GPL v.3. Please refer to documentation for details.
4. oracle_redo_log_calculate_analysis – written by 门牙/ zhoubihui, source code on github.
Code written in C, license is MIT, documentation mostly in Chinese, last update in 16th April 2019. Project offers some documentation about internal server structures, BBED tool.
Documents/presentations
1. Graham Thornton, Disassembling the Oracle Redo Log, PDF, 2000
2. Paul M. Wright, Oracle Database Forensics using LogMiner, PDF, 2005
3. Julian Dyke, Redo Internals, PPT, 2005
4. Julian Dyke, Transaction Internals, PPT, 2007
5. David Litchfield, Oracle Forensics Part 1: Dissecting the Redo Logs, PDF, 2007
6. David Litchfield, Oracle Forensics Part 2: Locating-Dropped-Objects, PDF, 2007
7. Riyaj Shamsudeen, Debunking the myths about redo, undo, commit & rollback, PDF, 2008,
8. Riyaj Shamsudeen, Redo internals and tuning by redo reduction, PDF, 2008
9. Vit Špinka, Life of a Transaction, PDF, 2014
10. Vit Špinka, Evolution of Oracle Redo Logs Through Versions, PDF, 2014
11. Vit Špinka, Internals of the Oracle Database 12cMultitenant Architecture, PDF, 2014
12. Vit Špinka, What a DBA Should Know or How to Know Your Way Around Database, PDF, DOAG, 2015
13. Jure Kajzer, Forensic analysis ofOracle log files, PDF, SIOUG, 2014
Blogs
1. Julian Dyke‘s web page with very comprehensive research about Oracle, including Redo internals,
2. Johnatan Lewis‘s blog, including: Redo op codes list,
3. Kamil Stawiarski‘s blog including: Rollback internals, How Oracle stores numbers internally, Direct path inserts and IOTs, When update becomes an insert,
4. Frits Hoogland‘s blog, including: A look into oracle redo: index and overview,
5. Stefano Sorbara’s blog in Italian, including: Analisi forense su Oracle – analisi esadecimale dei Redo Logs,
6. Ask Maclean, with Redo opcode reference,
7. Adam Leszczyński’s blog with this page with as a summary 🙂