Hiding / locking tables in oracle
3 answers
All you have to do is create a new user and create tables under this custom schema. None of the other users other than high-priority users with SELECT / INSERT / etc ALL TABLES privileges will be able to access them unless you grant them the privilege or role that has been granted to them.
If you want the ultimate security model that probably doesn't exist, create a table under one schema (for example APP_DATA) and create a stored procedure under another (APP_CODE). Grant only the required privileges on APP_DATA objects for the APP_CODE schema, and grant only the required privileges in the APP_CODE schema for other users.
+1
source to share