How to make tables unavailable for users during certain times in Oracle?
You can put the database in a Quiesced State (Oracle Database Administrator's Guide)

Restrict access. Only DBAs will be able to access the DB (i.e. user SYS or SYSTEM):

ALTER SYSTEM QUIESCE RESTRICTED;


Restore the database to normal operation:

ALTER SYSTEM UNQUIESCE;