I've got an Oracle 18.104.22.168 database and I need to create a read only user that can view any table, view, package, etc. I've created the user but I can't figure out how to give it read only access to packages, procedures and functions. The only option seems to be granting execute any procedure. I don't want the user to be able to execute the procedure just view the code. Any suggestions?