Este erro pode ocorrer no Oracle database nas versões 10.2.0.4 até a 12.1.0.2.
Uma das recomendações da Oracle é a não utilização de tabelas com mais de 1000 colunas.
Uma observação importante é que se estivermos criando uma view e fazendo join entre
tabelas, a quantidade de colunas a ser contabilizada é a da view e não necessariamente
da tabela original.
Existem 3 formas de resolver o problema, sendo:
1) Patch de correção
É recomendando a aplicação do patch 19509982.
Este patch está incluso na atualização de produto Oracle 12c (database) a partir
de Abril/2016 (19-04-16)
* Mesmo tendo esse patch aplicado, podemos ainda receber o erro informado.
2) Alterar a sessão
Podemos configurar o parâmetro "_fix_control"='17376322:OFF' para a sessão que
estamos executando no banco de dados, através do comando abaixo:
SQL> alter session set "_fix_control"='17376322:OFF';
3) Alterar o banco de dados (spfile)
A outra alternativa que temos é alterar o arquivo spfile, incluindo o parâmetro diretamente
nas configurações gerais do banco de dados.
SQL> alter system set "_fix_control"='17376322:OFF' scope=both;
Esse parâmetro é aplicado sem a necessidade de reiniciar o banco de dados.
Referências:
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=391695224838272&id=1951689.1&_afrWindowMode=0&_adf.ctrl-state=vvdi114x_170
Select Statement Throws ORA-01792 Error (Doc ID 1951689.1)