El error ORA-00972: identifier is too long es altamente descriptivo. A pesar de ello es habitual que los programadores con poca experiencia lo desconozcan, por lo que a continuación se explican sus causas.
El SGBDR Oracle impone una restricción de longitud de caracteres a los identificadores de:
- nombre de las tablas
- campos (columnas)
- alias
Dicha longitud máxima son 30 caracteres, por lo que si se sobrepasan al ejecutar la correspondiente consulta el SGBD devuelve el ORA-00972 por lo que bastará con truncar el identificador o renombrarlo a otro más corto para solucionarlo.
Ahora la pregunta del millón ¿es posible cambiar la limitación de caracteres a un número mayor (o menor) como 40? La respuesta es no. Oracle utiliza internamente 30 bytes para almacenar los identificadores de estos elementos relacionales, utilizando una codificación de un byte por caracter y no se puede alterar de forma alguna cambiando parámetro alguno ya que forma parte de la lógica interna del gestor.