No puedo ayudarte con el codigo php porque no se php. Pero ....
En Oracle no basta con que la vista exista o la llames con su schema o sea, supongamos que tengo un usuario llamado tifa y dicho usuario tiene una vista creada en su tablespace y llamada bebe.
Ahora tenemos al usuario fulano, aunque fulano haga lo siguiente :
SELECT * FROM tifa.bebe WHERE nombres LIKE '%A';
Si al usuario fulano ni system, ni tifa le han otorgado un grant o lo han integrado a un role que tenga permisos para ver dicha vista, jamas la podras ver y te dara error diciendote que no existe.... Aunque exista.
Si no le haz otorgado permisos a fulano para que vea la vista.. y estas usando al usuario fulano por ejemplo para conectarte a la instancia Oracle, lo mejor es que vayas otorgandole los permisos a fulano

por ejemplo con el usuario tifa o sys o system;
SQL> GRANT SELECT, UPDATE ON tifa.bebe TO fulano;
No le pongas 'Grant Option' al final, puesto que mientras menos privilegios tenga fulano mejor
