1) Invalid objects in Oracle are automatically recompiled when used. Consider
2) You'll use
alter view view_name compile to compile it explicitly, without waiting for it to be used. Typical use would be in schema upgrade scripts, for example - you don't want to wait for the view to be used by an application or user to be compiled, you want to catch any possible problems early.
Edit: I'd suggest reading Oracle's
Database Concepts Guide, lots of questions you've asked lately are well covered there.