Guest User

Untitled

a guest
Jul 16th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1.  
  2. -- get_all_privs.sql
  3. -- for a user, find all privileges
  4. -- even if assigned recursively through a role
  5.  
  6. @clears
  7. set pagesize 50000
  8. set linesize 120
  9.  
  10. col source_user new_value source_user noprint
  11.  
  12. prompt
  13. prompt Source User:
  14. set feed off term off
  15. select upper('&1') source_user from dual;
  16. set feed on term on
  17.  
  18. with rolesource as (
  19. select grantee, granted_role
  20. from dba_role_privs
  21. where grantee in (select role from dba_roles)
  22. union all
  23. select grantee, granted_role
  24. from dba_role_privs
  25. where grantee = upper('&source_user')
  26. ),
  27. roletree as (
  28. select grantee, granted_role
  29. from rolesource
  30. connect by prior granted_role = grantee
  31. start with grantee = upper('&source_user')
  32. ),
  33. roles as (
  34. select grantee, granted_role
  35. from roletree
  36. ),
  37. sysprivs as (
  38. select privilege
  39. from dba_sys_privs
  40. where grantee in (select grantee from roles)
  41. union
  42. select privilege
  43. from dba_sys_privs
  44. where grantee = upper('&source_user')
  45. order by 1
  46. ),
  47. tabprivs as (
  48. select privilege, owner, table_name
  49. from dba_tab_privs
  50. where grantee in (select grantee from roles)
  51. union
  52. select privilege, owner, table_name
  53. from dba_tab_privs
  54. where grantee = upper('&source_user')
  55. order by 1
  56. )
  57. select 'SYSPRIV:' privtype, privilege from sysprivs
  58. union
  59. select 'TABPRIV:' privtype, privilege || ' on ' || owner || '.' || table_name
  60. from tabprivs
  61. order by 1,2
  62. /
  63.  
  64.  
  65. undef 1 2
Add Comment
Please, Sign In to add comment