The point of this assert is that if this fails, then fields are misaligned to the row. But on Oracle there can be also an ordering column in the row - so this assert should have code to skip the ordering column if it is present.

It might be better to skip this assert altogether, I am not sure if non-core backends might add even more extra columns to the row. If so, coding around this assert will be hard.