In Oracle, after the new user or schema is created, the user cannot query the data dictionary. For example, if you run the below query:
Select * from dba_data_files
you'll see error message as ORA-00942: table or view does not exist
To allow the user to select table from Oracle data dictionary, you have to grant SELECT_CATALOG_ROLE privilege the that users. Use the following statement while logging in as sysdba
sql> grand SELECT_CATALOG_ROLE to user_name;