Error: M_JZ2E00 Redo Logfile Compatibility Version Error
Issue
Capture fails with the following errors:
M_JZ2E00: Redo Logfile <redo_log> compatibility version 0x00000000 (0) overrides current compatibility version 19000000F_JT0400: Log scanning error F_JZ1019. Unsupported Oracle version 0.0.
Environment
- HVR 5 and 6
- Source: Oracle
- Capture method: Log-based capture
- Archived redo logs stored on the Network File System (NFS)
Resolution
To resolve this issue, first check whether the redo log is corrupted. Run:
execute `hexdump -C -n 1024 <redo_log>`
If the output skips from 00000030 to 00000400, the redo log is missing expected data blocks and may be corrupted. For example:
00000030 ...
*
00000400
A valid redo log contains additional data between these offsets, including blocks from 00000200 through 000003f0.
To resolve the issue:
- On the source location group, add the following environment action: ZIZ_FILE_READ=ReadDirect. This configures HVR to read archived logs on NFS in direct I/O instead of the system cache.
- To improve read performance when using direct I/O mode, also add: ZIZ_FILE_READ_DIRECT_BUF_SIZE=4194304.
- Confirm that newly generated archive logs are formatted correctly and that the redo log headers contain the expected Oracle compatibility version.
- Verify the NFS mount configuration to help prevent read and write conflicts or corruption.
After making these changes, confirm that Capture processes newly generated archive logs without the compatibility version error.
Cause
This issue occurs when we read archived redo logs from NFS while Oracle is still writing to them. This may happens due to inappropriate NFS settings or an incorrect I/O read mode. When this happens, the compatibility version may appear as 0x00000000, which Oracle doesn't recognize.
The issue can also occur when the Oracle filesystemio_options parameter is set to setall and we read the archived logs through the system cache rather than using direct I/O.