Si bien el límite de 1000 columnas existente hasta Oracle 23c al momento de crear tablas (o vistas) parece ser algo inalcanzable, existen diversos escenarios que pueden requerir una cantidad de columnas mayor a 1000 para una tabla. Oracle Database 23c permite extender el número de columnas por tabla hasta 4096 configurando el parámetro MAX_COLUMNS.
Parámetro MAX_COLUMNS
Este parámetro introducido en Oracle 23c tiene un valor por defecto de "STANDARD", lo cual significa que el límite sigue siendo 1000 columnas:
Al configurar el mismo con el valor EXTENDED en la PDB que lo requiera, le indicamos a la base de datos que puede crear objetos (tablas y vistas) con hasta 4096 columnas:
ALTER SYSTEM SET max_columns=EXTENDED SCOPE=spfile;
Nota: Este parámetro requiere que la base de datos sea reiniciada para tomar efecto, no puede modificarse en forma dinámica.
Revirtiendo el valor a STANDARD
Para poder volver a configurar el valor en STANDARD, debemos asegurarnos que ningún objeto posee mas de 1000 columnas, o recibiremos un error como el siguiente:
ALTER SYSTEM SET max_columns=STANDARD SCOPE=spfile * ERROR at line 1: ORA-32017: failure in updating SPFILE ORA-60471: max_columns can not be set to STANDARD as there are one or more objects with more than 1000 columns
Conclusión
Modelos de datos complejos que pueden requerir tablas con mas de 1000 columnas pueden ser creados mediante la configuración del parámetro MAX_COLUMNS al valor EXTENDED.
Si desean conocer más sobre Oracle 23c, es recomendable que vean estos artículos en este blog como punto de partida:
- Oracle Database 23c Free - Developer Edition.
- Instalando Oracle Database 23c (Free Developer Edition) en Oracle Cloud.
Adicionalmente, pueden consultar todos los artículos relacionados a Oracle Database 23c agrupados en en el tag Database 23c.
No hay comentarios.:
Publicar un comentario