Oracle object names are limited to 30 characters
Symptom
Possible symptoms include:
- When working with Oracle tables or stages, the object names generated by Stambia are truncated to 30 characters
- When building a Package or Delivery containing Oracle metadata, there is an "Error during Compilation"
Error during Compilation (compilation.compilationD)
Watch console for more details
There are at least 2 steps with the same name 'Drop Table - L1_SOME_PRETTY_LONG_TABLENAME_' in a subprocess. Check the steps /My mapping/L1-SOME_PRETTY_LONG_TABLENAME-Load/Drop Table - At execution time, Oracle raises an error "ORA-00972: identifier is too long"
Solution
First, a brief explanation:
Oracle Database versions 8.x, 9.x, 10.x, 11.x, 12.0, 12.1 have a limitation of 30 bytes for object names, including table names.
Oracle Database version 12.2 and above support object names of 128 bytes.
Stambia generates work tables with a truncation when necessary. There can be rare and complex situations where this truncation is not completely done.
In such cases, possible solutions include :
- Defining shorter Load / Integration Masks for Temporary Objects in the Metadata
- Disabling the truncation if you are working with Oracle Database 12.2 or above
- Set the Object Truncation Size to 128 in the Temporary Objects in the Metadata
- Starting with the templates.specific release of March 2020 : set the "Database Major Version" to match your version (for example 12.2), this will disable object name truncation