Skip to content

A migration job consistently fails with ORA-00904 'invalid identifier' when generating its load, even though the target column names all look correct — what's a commonly overlooked cause?

Answer

Check whether any of the migration job's field/column names happen to be a reserved SQL keyword — VALUES is a common culprit, and some tools will also flag IDENTITY the same way even though it isn't strictly a reserved word. Using a reserved keyword as a bare identifier causes exactly this kind of ORA-00904 error; wrapping the offending name in double quotes when it's referenced as an identifier resolves it, though renaming the field to avoid the reserved word entirely is generally the safer long-term fix, since keyword-named identifiers can cause similar friction elsewhere too.

← Browse Data migration questions