[Home] [Help]
select obj.name,
NVL(pol.condition, 'NONE'),
decode(pol.condition_eval, 1, 'STATEMENT',
2, 'SESSION',
3, 'INSTANCE', 'NONE'),
spm.name,
'SYSTEM PRIVILEGE',
'NONE',
'NONE',
'NONE',
decode(bitand(pol.type, 24), 8, 'NO', 16, 'YES', NULL)
from sys.obj$ obj, sys.aud_policy$ pol, sys.system_privilege_map spm
where obj.obj# = pol.policy# and
bitand(pol.type, 1) = 1 and
substr(pol.syspriv, -spm.privilege+1, 1) = 'S'
UNION all
select obj.name,
NVL(pol.condition, 'NONE'),
decode(pol.condition_eval, 1, 'STATEMENT',
2, 'SESSION',
3, 'INSTANCE', 'NONE'),
asa.name,
decode(asa.type, 4, 'STANDARD ACTION',
6, 'XS ACTION',
8, 'OLS ACTION',
10, 'DATAPUMP ACTION',
11, 'DIRECT_LOAD ACTION', 'NONE'),
'NONE',
'NONE',
'NONE',
decode(bitand(pol.type, 24), 8, 'NO', 16, 'YES')
from sys.obj$ obj, sys.aud_policy$ pol, sys.auditable_system_actions asa
where obj.obj# = pol.policy# and
bitand(pol.type, 2) = 2 and
((asa.type = 4 and /* selecting STANDARD ACTION options */
substr(pol.sysactn, asa.action+1, 1) = 'S') or
(asa.type = 6 and /* selecting XS ACTION options */
substr(pol.sysactn,
((select max(action)+1 from sys.auditable_system_actions
where type = 4) + asa.action + 1), 1) = 'S') or
(asa.type = 8 and /* selecting OLS ACTION options */
substr(pol.sysactn,
(((select max(action)+1 from sys.auditable_system_actions
where type = 4) +
(select count(*)+1 from sys.auditable_system_actions
where type = 6)) + asa.action + 1), 1) = 'S') or
(asa.type = 10 and /* selecting DATAPUMP ACTION options */
substr(pol.sysactn,
(((select max(action)+1 from sys.auditable_system_actions
where type = 4) +
(select count(*)+1 from sys.auditable_system_actions
where type = 6) +
(select count(*)+1 from sys.auditable_system_actions
where type = 8)) + asa.action + 1), 1) = 'S') or
(asa.type = 11 and /* selecting DIRECT_LOAD ACTION options */
substr(pol.sysactn,
(((select max(action)+1 from sys.auditable_system_actions
where type = 4) +
(select count(*)+1 from sys.auditable_system_actions
where type = 6) +
(select count(*)+1 from sys.auditable_system_actions
where type = 8) +
(select count(*)+1 from sys.auditable_system_actions
where type = 7) +
(select count(*)+1 from sys.auditable_system_actions
where type = 10)) + asa.action + 1), 1) = 'S'))
UNION all
select obj.name,
NVL(pol.condition, 'NONE'),
decode(pol.condition_eval, 1, 'STATEMENT',
2, 'SESSION',
3, 'INSTANCE', 'NONE'),
aoa.name,
'OBJECT ACTION',
obj2.owner,
obj2.object_name,
obj2.object_type,
decode(bitand(pol.type, 24), 8, 'NO', 16, 'YES')
from sys.obj$ obj, sys.aud_policy$ pol, sys.auditable_object_actions aoa,
sys.aud_object_opt$ opt, sys.dba_objects obj2
where obj.obj# = pol.policy# and
opt.policy# = pol.policy# and
opt.object# = obj2.object_id and
bitand(pol.type, 4) = 4 and /* Audit policy has Object option */
opt.type = 2 and /* Schema Object audit option */
substr(opt.action#, aoa.action+1, 1) = 'S'
UNION all
select obj.name,
NVL(pol.condition, 'NONE'),
decode(pol.condition_eval, 1, 'STATEMENT',
2, 'SESSION',
3, 'INSTANCE', 'NONE'),
u.name,
'ROLE PRIVILEGE',
'NONE',
'NONE',
'NONE',
decode(bitand(pol.type, 24), 8, 'NO', 16, 'YES')
from sys.obj$ obj, sys.aud_policy$ pol, sys.user$ u, sys.aud_object_opt$ opt
where obj.obj# = pol.policy# and
opt.policy# = pol.policy# and
opt.object# = u.user# and
bitand(pol.type, 32) = 32 and /* Audit policy has Role option */
opt.type = 1 /* Role audit option */
UNION all
select obj.name,
NVL(pol.condition, 'NONE'),
decode(pol.condition_eval, 1, 'STATEMENT',
2, 'SESSION',
3, 'INSTANCE', 'NONE'),
'NONE',
'NONE',
'NONE',
'NONE',
'NONE',
decode(bitand(pol.type, 24), 8, 'NO', 16, 'YES')
from sys.obj$ obj, sys.aud_policy$ pol
where obj.obj# = pol.policy# and pol.type = 0
UNION all
select obj.name,
NVL(pol.condition, 'NONE'),
decode(pol.condition_eval, 1, 'STATEMENT',
2, 'SESSION',
3, 'INSTANCE', 'NONE'),
asa.name,
decode(asa.type, 7, 'DV ACTION', 'NONE'),
'NONE',
opt.comp_info,
decode(opt.type, 3, 'REALM',
4, 'RULE_SET',
5, 'FACTOR', 'NONE'),
decode(bitand(pol.type, 24), 8, 'NO', 16, 'YES')
from sys.obj$ obj, sys.aud_policy$ pol, sys.aud_object_opt$ opt,
sys.auditable_system_actions asa
where obj.obj# = pol.policy# and
bitand(pol.type, 64) = 64 and /* Audit Policy has DV object policies */
opt.policy# = pol.policy# and
(asa.type = 7 and /* asa.type = 7 is DV action */
opt.type in (3, 4, 5) and /* object type must be DV : bug 17985613 */
substr(opt.action#, asa.action+1, 1) = 'S')
SELECT OBJ.NAME
,
NVL(POL.CONDITION
, 'NONE')
,
DECODE(POL.CONDITION_EVAL
, 1
, 'STATEMENT'
,
2
, 'SESSION'
,
3
, 'INSTANCE'
, 'NONE')
,
SPM.NAME
,
'SYSTEM PRIVILEGE'
,
'NONE'
,
'NONE'
,
'NONE'
,
DECODE(BITAND(POL.TYPE
, 24)
, 8
, 'NO'
, 16
, 'YES'
, NULL)
FROM SYS.OBJ$ OBJ
, SYS.AUD_POLICY$ POL
, SYS.SYSTEM_PRIVILEGE_MAP SPM
WHERE OBJ.OBJ# = POL.POLICY# AND
BITAND(POL.TYPE
, 1) = 1 AND
SUBSTR(POL.SYSPRIV
, -SPM.PRIVILEGE+1
, 1) = 'S'
UNION ALL
SELECT OBJ.NAME
,
NVL(POL.CONDITION
, 'NONE')
,
DECODE(POL.CONDITION_EVAL
, 1
, 'STATEMENT'
,
2
, 'SESSION'
,
3
, 'INSTANCE'
, 'NONE')
,
ASA.NAME
,
DECODE(ASA.TYPE
, 4
, 'STANDARD ACTION'
,
6
, 'XS ACTION'
,
8
, 'OLS ACTION'
,
10
, 'DATAPUMP ACTION'
,
11
, 'DIRECT_LOAD ACTION'
, 'NONE')
,
'NONE'
,
'NONE'
,
'NONE'
,
DECODE(BITAND(POL.TYPE
, 24)
, 8
, 'NO'
, 16
, 'YES')
FROM SYS.OBJ$ OBJ
, SYS.AUD_POLICY$ POL
, SYS.AUDITABLE_SYSTEM_ACTIONS ASA
WHERE OBJ.OBJ# = POL.POLICY# AND
BITAND(POL.TYPE
, 2) = 2 AND
((ASA.TYPE = 4
AND /* SELECTING STANDARD ACTION OPTIONS */
SUBSTR(POL.SYSACTN
, ASA.ACTION+1
, 1) = 'S') OR
(ASA.TYPE = 6
AND /* SELECTING XS ACTION OPTIONS */
SUBSTR(POL.SYSACTN
,
((SELECT MAX(ACTION)+1
FROM SYS.AUDITABLE_SYSTEM_ACTIONS
WHERE TYPE = 4) + ASA.ACTION + 1)
, 1) = 'S') OR
(ASA.TYPE = 8
AND /* SELECTING OLS ACTION OPTIONS */
SUBSTR(POL.SYSACTN
,
(((SELECT MAX(ACTION)+1
FROM SYS.AUDITABLE_SYSTEM_ACTIONS
WHERE TYPE = 4) +
(SELECT COUNT(*)+1
FROM SYS.AUDITABLE_SYSTEM_ACTIONS
WHERE TYPE = 6)) + ASA.ACTION + 1)
, 1) = 'S') OR
(ASA.TYPE = 10
AND /* SELECTING DATAPUMP ACTION OPTIONS */
SUBSTR(POL.SYSACTN
,
(((SELECT MAX(ACTION)+1
FROM SYS.AUDITABLE_SYSTEM_ACTIONS
WHERE TYPE = 4) +
(SELECT COUNT(*)+1
FROM SYS.AUDITABLE_SYSTEM_ACTIONS
WHERE TYPE = 6) +
(SELECT COUNT(*)+1
FROM SYS.AUDITABLE_SYSTEM_ACTIONS
WHERE TYPE = 8)) + ASA.ACTION + 1)
, 1) = 'S') OR
(ASA.TYPE = 11
AND /* SELECTING DIRECT_LOAD ACTION OPTIONS */
SUBSTR(POL.SYSACTN
,
(((SELECT MAX(ACTION)+1
FROM SYS.AUDITABLE_SYSTEM_ACTIONS
WHERE TYPE = 4) +
(SELECT COUNT(*)+1
FROM SYS.AUDITABLE_SYSTEM_ACTIONS
WHERE TYPE = 6) +
(SELECT COUNT(*)+1
FROM SYS.AUDITABLE_SYSTEM_ACTIONS
WHERE TYPE = 8) +
(SELECT COUNT(*)+1
FROM SYS.AUDITABLE_SYSTEM_ACTIONS
WHERE TYPE = 7) +
(SELECT COUNT(*)+1
FROM SYS.AUDITABLE_SYSTEM_ACTIONS
WHERE TYPE = 10)) + ASA.ACTION + 1)
, 1) = 'S'))
UNION ALL
SELECT OBJ.NAME
,
NVL(POL.CONDITION
, 'NONE')
,
DECODE(POL.CONDITION_EVAL
, 1
, 'STATEMENT'
,
2
, 'SESSION'
,
3
, 'INSTANCE'
, 'NONE')
,
AOA.NAME
,
'OBJECT ACTION'
,
OBJ2.OWNER
,
OBJ2.OBJECT_NAME
,
OBJ2.OBJECT_TYPE
,
DECODE(BITAND(POL.TYPE
, 24)
, 8
, 'NO'
, 16
, 'YES')
FROM SYS.OBJ$ OBJ
, SYS.AUD_POLICY$ POL
, SYS.AUDITABLE_OBJECT_ACTIONS AOA
,
SYS.AUD_OBJECT_OPT$ OPT
, SYS.DBA_OBJECTS OBJ2
WHERE OBJ.OBJ# = POL.POLICY# AND
OPT.POLICY# = POL.POLICY# AND
OPT.OBJECT# = OBJ2.OBJECT_ID AND
BITAND(POL.TYPE
, 4) = 4
AND /* AUDIT POLICY HAS OBJECT OPTION */
OPT.TYPE = 2
AND /* SCHEMA OBJECT AUDIT OPTION */
SUBSTR(OPT.ACTION#
, AOA.ACTION+1
, 1) = 'S'
UNION ALL
SELECT OBJ.NAME
,
NVL(POL.CONDITION
, 'NONE')
,
DECODE(POL.CONDITION_EVAL
, 1
, 'STATEMENT'
,
2
, 'SESSION'
,
3
, 'INSTANCE'
, 'NONE')
,
U.NAME
,
'ROLE PRIVILEGE'
,
'NONE'
,
'NONE'
,
'NONE'
,
DECODE(BITAND(POL.TYPE
, 24)
, 8
, 'NO'
, 16
, 'YES')
FROM SYS.OBJ$ OBJ
, SYS.AUD_POLICY$ POL
, SYS.USER$ U
, SYS.AUD_OBJECT_OPT$ OPT
WHERE OBJ.OBJ# = POL.POLICY# AND
OPT.POLICY# = POL.POLICY# AND
OPT.OBJECT# = U.USER# AND
BITAND(POL.TYPE
, 32) = 32
AND /* AUDIT POLICY HAS ROLE OPTION */
OPT.TYPE = 1 /* ROLE AUDIT OPTION */
UNION ALL
SELECT OBJ.NAME
,
NVL(POL.CONDITION
, 'NONE')
,
DECODE(POL.CONDITION_EVAL
, 1
, 'STATEMENT'
,
2
, 'SESSION'
,
3
, 'INSTANCE'
, 'NONE')
,
'NONE'
,
'NONE'
,
'NONE'
,
'NONE'
,
'NONE'
,
DECODE(BITAND(POL.TYPE
, 24)
, 8
, 'NO'
, 16
, 'YES')
FROM SYS.OBJ$ OBJ
, SYS.AUD_POLICY$ POL
WHERE OBJ.OBJ# = POL.POLICY#
AND POL.TYPE = 0
UNION ALL
SELECT OBJ.NAME
,
NVL(POL.CONDITION
, 'NONE')
,
DECODE(POL.CONDITION_EVAL
, 1
, 'STATEMENT'
,
2
, 'SESSION'
,
3
, 'INSTANCE'
, 'NONE')
,
ASA.NAME
,
DECODE(ASA.TYPE
, 7
, 'DV ACTION'
, 'NONE')
,
'NONE'
,
OPT.COMP_INFO
,
DECODE(OPT.TYPE
, 3
, 'REALM'
,
4
, 'RULE_SET'
,
5
, 'FACTOR'
, 'NONE')
,
DECODE(BITAND(POL.TYPE
, 24)
, 8
, 'NO'
, 16
, 'YES')
FROM SYS.OBJ$ OBJ
, SYS.AUD_POLICY$ POL
, SYS.AUD_OBJECT_OPT$ OPT
,
SYS.AUDITABLE_SYSTEM_ACTIONS ASA
WHERE OBJ.OBJ# = POL.POLICY# AND
BITAND(POL.TYPE
, 64) = 64
AND /* AUDIT POLICY HAS DV OBJECT POLICIES */
OPT.POLICY# = POL.POLICY# AND
(ASA.TYPE = 7
AND /* ASA.TYPE = 7 IS DV ACTION */
OPT.TYPE IN (3
, 4
, 5)
AND /* OBJECT TYPE MUST BE DV : BUG 17985613 */
SUBSTR(OPT.ACTION#
, ASA.ACTION+1
, 1) = 'S')
|
|
|
|