Capper
Grünschnabel
Hallo,
ich hab ein Script das mir die Hierarchie der Systemprivilegien von Usern und Rollen anzeigt. Nun wollte ich das Skript so umschreiben das statt der Systempriviligien die Objektprivilegien angezeigt werden. Leider komm ich auf keinen Grünen Zweig und bekomme ständig neue Fehler, egal was ich ändere.
Ich hänge hier mal die beiden Scripte an die zum anzeigen der Hierarchie der Systempriviligien sind, vielleicht kann mir einer helfen und zeigen wie man es so umschreibt, das die Objektprivilegien dargestellt werden?
Hauptskript:
SysPrivHier.sql
Unterscript:
sysPrivs.sql
Danke schon mal im vorraus.
ich hab ein Script das mir die Hierarchie der Systemprivilegien von Usern und Rollen anzeigt. Nun wollte ich das Skript so umschreiben das statt der Systempriviligien die Objektprivilegien angezeigt werden. Leider komm ich auf keinen Grünen Zweig und bekomme ständig neue Fehler, egal was ich ändere.
Ich hänge hier mal die beiden Scripte an die zum anzeigen der Hierarchie der Systempriviligien sind, vielleicht kann mir einer helfen und zeigen wie man es so umschreibt, das die Objektprivilegien dargestellt werden?
Hauptskript:
SysPrivHier.sql
Code:
SET verify OFF echo OFF termout ON lines 73 pages 200 feedback off
set recsep off
col usr_role form a27 head 'User/Roles'
col default_role form a7 head 'Default|Role'
col privilege form a30 head 'Privilege'
col admin_option form a6 head 'With|Admin|Option'
break ON usr_role on default_role
@@usrRoleIn
ttitle left "All System Privileges of &tit" skip 2
@@rolehier
SELECT LPAD(' ',(r.lvl - 1) * 2) || r.granted_role usr_role,
r.default_role,
p.PRIVILEGE,
p.admin_option
FROM (SELECT ROWNUM rank,
LEVEL lvl,
granted_role,
default_role
FROM role_hierarchy
START WITH grantee IS NULL
CONNECT BY PRIOR granted_role = grantee) r,
dba_sys_privs p
WHERE r.granted_role = p.grantee(+)
ORDER BY rank, granted_role;
Unterscript:
sysPrivs.sql
Code:
SET verify OFF echo OFF termout ON feedback OFF lines 74 pages 200
COLUMN privilege form a30 head 'Privilege'
COLUMN grantee form a30 head 'Grantee'
COLUMN admin_option form a6 heading 'With|Admin|Option'
break ON PRIVILEGE
@@usrRoleIn
ttitle LEFT "All System Privileges of &tit"
@@privhier
SELECT PRIVILEGE,
grantee,
admin_option
FROM dba_sys_privs
WHERE grantee IN(SELECT *
FROM priv_hierarchy)
ORDER BY PRIVILEGE;
Danke schon mal im vorraus.