It is probably safer to drop and recreate the indexes and views. Maybe it is just Oracle which recompiles views when the tables change, but it is good practice anyway. It might also speed up the whole operation. Overall, it is better to do everything via ddl commands.
You can mess with the data dictionary, but obviously this is a bad idea, even if it works.