Desde o lançamento do Oracle 12c, agora é mais fácil reorganizar as colunas logicamente.
O Oracle 12c adicionou suporte para tornar as colunas invisíveis e esse recurso pode ser usado para reorganizar as colunas logicamente.
Citação da documentação sobre colunas invisíveis:
Quando você torna uma coluna invisível visível, a coluna é incluída na ordem das colunas da tabela como a última coluna.
Exemplo
Crie uma tabela:
CREATE TABLE t (
a INT,
b INT,
d INT,
e INT
);
Adicione uma coluna:
ALTER TABLE t ADD (c INT);
Mova a coluna para o meio:
ALTER TABLE t MODIFY (d INVISIBLE, e INVISIBLE);
ALTER TABLE t MODIFY (d VISIBLE, e VISIBLE);
DESCRIBE t;
Name
----
A
B
C
D
E
Créditos
Eu aprendi sobre isso em um artigo de Tom Kyte sobre novos recursos no Oracle 12c.