"Who has %ANY% system privilege? Directly granted or through a role"
akar direktben, akar role-on keresztul (Oracle 10g-ben tesztelve, rendszer felhasznalok kizarva):
SELECT drs.grantee USERNAME, 'ROLE: '||granted_role SOURCE
FROM dba_role_privs drs
WHERE drs.granted_role IN (SELECT DISTINCT grantee
FROM dba_sys_privs
WHERE PRIVILEGE LIKE '%ANY%')
AND drs.grantee
NOT IN
('SYS',
'SYSTEM',
'DBSNMP',
'OUTLN',
'SCHEDULER_ADMIN',
'OEM_MONITOR',
'JAVADEBUGPRIV',
'IMP_FULL_DATABASE',
'EXP_FULL_DATABASE',
'EXFSYS',
'AQ_ADMINISTRATOR_ROLE'
)
AND EXISTS (
SELECT 1
FROM dba_users du
WHERE drs.grantee = du.username
AND du.account_status = 'OPEN')
UNION ALL
SELECT dsp.grantee USERNAME, 'PRIVILEGE: '||privilege SOURCE
FROM dba_sys_privs dsp
WHERE dsp.PRIVILEGE LIKE '%ANY%'
AND dsp.grantee NOT IN
('SYS',
'SYSTEM',
'DBSNMP',
'OUTLN',
'SCHEDULER_ADMIN',
'OEM_MONITOR',
'JAVADEBUGPRIV',
'IMP_FULL_DATABASE',
'EXP_FULL_DATABASE',
'EXFSYS',
'AQ_ADMINISTRATOR_ROLE'
)
AND EXISTS (
SELECT 1
FROM dba_users du
WHERE dsp.grantee = du.username
AND du.account_status = 'OPEN')
ORDER BY 1,2;
Ajánlott bejegyzések:
A bejegyzés trackback címe:
Trackbackek, pingbackek:
Trackback: Dominoqq 2018.08.16. 10:53:59
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.
Angelo_ 2008.10.03. 13:11:24
Tök jó ez a blog, csak így tovább. Nincs véletlenül valami jó kis SQL-ed arra, ami kilistázza az összes aktív session-t, usernév-el, os-usernévvel, sql_id-val (esetleg text is), illetve azzal, hogy az adott sql hány szálon fut? Igazából ez a legutolsó adat amihez trükközni kell, gondoltam, hogy tanulás képpen nekiállok, de nem DBA vagyok és volna elég más dolgom.