Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm thế nào để hiển thị tất cả các đặc quyền từ một người dùng trong oracle?

Bạn có thể thử các chế độ xem dưới đây.

SELECT * FROM USER_SYS_PRIVS; 
SELECT * FROM USER_TAB_PRIVS;
SELECT * FROM USER_ROLE_PRIVS;

DBA và những người dùng thành thạo khác có thể tìm thấy các đặc quyền được cấp cho người dùng khác bằng DBA_ các phiên bản của các chế độ xem giống nhau này. Chúng được đề cập trong tài liệu.

Các chế độ xem đó chỉ hiển thị các đặc quyền được cấp trực tiếp cho người dùng. Tìm tất cả các đặc quyền, bao gồm cả những đặc quyền được cấp gián tiếp thông qua các vai trò, yêu cầu các câu lệnh SQL đệ quy phức tạp hơn:

select * from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER' order by 1,2,3;
select * from dba_sys_privs  where grantee = '&USER' or grantee in (select granted_role from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER') order by 1,2,3;
select * from dba_tab_privs  where grantee = '&USER' or grantee in (select granted_role from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER') order by 1,2,3,4;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào bạn có thể biết nếu một Gói, Thủ tục hoặc Hàm PL / SQL đang được sử dụng?

  2. bắt ngoại lệ DB trong ứng dụng JSF + EJB

  3. N + 1 Dự phòng và Hợp nhất Máy chủ

  4. DBCA Tạo cơ sở dữ liệu không hợp lệ REMOTE_LISTENER

  5. Xuất CLOB sang tệp văn bản bằng Oracle SQL Developer