sql >> Databasteknik >  >> RDS >> Oracle

samla in dba_users-information i Oracle-databasen när den är ansluten som användare

DBA_*-vyerna i Oracle innehåller information om ALLA objekt i databasen oavsett ägande. Endast administrativa konton har tillgång till dessa vyer som standard. Detta görs av säkerhetsskäl. För att en "normal" användare ska få tillgång till dessa vyer måste de ges åtkomst till dem, antingen direkt på per-view-basis eller globalt genom sådana systemprivilegier som VÄLJ NÅGON TABELL (rekommenderas inte). Bättre att ge tillgång till den faktiska DBA_-vyn som användaren verkligen behöver. I allmänhet kommer ALL_-vyerna att ge en typisk användare all information de behöver.

För att lämna den aktuella användarsessionen och ansluta som en annan användare, använd CONNECT-kommandot:

CONNECT sys/pw as sysdba

EDIT:

Ägaren av ett objekt kan ge åtkomst till vilket som helst av sina objekt till en annan användare eller roll via GRANT-kommando:

GRANT SELECT ON dba_users TO nonsys;

Utfört som användarens SYS, skulle detta ge utvald åtkomst till vyn dba_users till användaren nonsys.

När beviljandet har utförts kommer användaren nonsys att kunna välja från denna vy via SELECT-satsen:

SELECT * FROM dba_users;



  1. Hur man skriver en CASE-sats i SQL

  2. Hur man kontrollerar MySQL-anslutningsstatus i C#

  3. rekursiv cte med rankningsfunktioner

  4. MySQL DATE-fält med standard CURDATE(). INTE DATETIME