sql >> Base de Datos >  >> RDS >> Oracle

recopilar información de dba_users en la base de datos de Oracle cuando se conecta como usuario

Las vistas DBA_* en Oracle contienen información sobre TODOS los objetos en la base de datos, independientemente de su propiedad. Solo las cuentas administrativas tienen acceso a estas vistas de forma predeterminada. Esto se hace por razones de seguridad. Para que un usuario "normal" obtenga acceso a estas vistas, se le debe otorgar acceso, ya sea directamente por vista o globalmente a través de privilegios del sistema como SELECCIONAR CUALQUIER TABLA (no recomendado). Es mejor otorgar acceso a la vista DBA_ real que el usuario realmente necesita. Generalmente, las TODAS_ vistas le darán a un usuario típico toda la información que necesita.

Para salir de la sesión de usuario actual y conectarse como otro usuario, utilice el comando CONECTAR:

CONNECT sys/pw as sysdba

EDITAR:

El propietario de un objeto puede otorgar acceso a cualquiera de sus objetos a otro usuario o rol a través de Otorgar comando:

GRANT SELECT ON dba_users TO nonsys;

Realizado como el usuario SYS, esto otorgaría acceso selecto a la vista dba_users al usuario nonsys.

Una vez que se realiza la concesión, el usuario nonsys podrá seleccionar desde esta vista a través de la instrucción SELECT:

SELECT * FROM dba_users;