If removing a column from a table in your Oracle DB, and you have views that
select * from tablename, you need to recreate the view.
I was comparing my old schema and new schema, and had all the correct column changes, and index changes, but was still having some views marked invalid and therefore failing to run.
It was noticed by a co-worker (via the DDL) that the view was still referring to the dropped column.
I had assumed that the code received back from the DB was verbose (every selected item named) because the tools were lazy, but this makes sense once you think about how
select * may get compiled by the DB, but can catch you out when just comparing SQL text changes.