Пока у вас есть код, который использует оба имени столбца, я не вижу способа обойти тот факт, что в этой таблице будет два (реальных) столбца.
Я бы добавил новый столбец с правильным именем, а затем создал бы триггер, который проверяет, какой столбец был изменен, и соответственно обновляет «другой» столбец. Поэтому, что бы ни обновлялось, значение синхронизируется с другим столбцом.
После переноса всего кода, который использует старый столбец, удалите триггер и удалите старый столбец.
Редактировать
Триггер будет делать что-то вроде этого:
CREATE OR REPLACE TRIGGER ...
...
UPDATE OF bad_column_name, better_column_name ON the_table
...
BEGIN
IF UPDATING ('BAD_COLUMN_NAME') THEN
:new.better_column_name = :new.bad_column_name
END IF;
IF UPDATING ('BETTER_COLUMN_NAME') THEN
:new.bad_column_name = :new.better_column_name
END IF;
END;
Порядок операторов IF
определяет, какое изменение имеет «более высокий приоритет» в случае, если кто-то обновил оба столбца одновременно.