I am using 10.2.0.4 and your query works for me. Here's how I tested it with minor modifications to make it a bit faster;
in sqlplus>
var c1 varchar2(10)
var c2 varchar2(30)
var c3 varchar2(30)
var c4 varchar2(30)
var c5 varchar2(30)
var c6 varchar2(30)
var c7 varchar2(30)
-- to get all objects that you have access to
begin
select null,null,'VIEW','TABLE','SYNONYM','PROCEDURE','FUNCTION'
into :c1,:c2,:c3,:c4,:c5,:c6,:c7
from dual;
end;
/
-- to get SCOTT objects only
begin
select 'SCOTT',null,'VIEW','TABLE','SYNONYM','PROCEDURE','FUNCTION'
into :c1,:c2,:c3,:c4,:c5,:c6,:c7
from dual;
end;
/
SELECT null, OWNER, OBJECT_NAME,
CASE WHEN OWNER IN ('SYS','SYSTEM','CTXSYS','DMSYS','EXFSYS','OLAPSYS','ORDSYS','MDSYS','WKSYS','WK_TEST','WMSYS','XDB')
THEN 'SYSTEM '
ELSE '' END || OBJECT_TYPE
FROM ALL_OBJECTS WHERE OBJECT_TYPE IN ('VIEW','TABLE','SYNONYM')
AND (1<2 OR (1>2))
AND (LOWER(OWNER) = LOWER(NVL

c1,OWNER)))
AND (OBJECT_NAME = NVL

c2,OBJECT_NAME))
--AND (LOWER(OWNER) = LOWER

c1) OR (1<2))
--AND (OBJECT_NAME = :c2 OR (1<2))
AND ((CASE WHEN OWNER IN ('SYS','SYSTEM','CTXSYS','DMSYS','EXFSYS','OLAPSYS','ORDSYS','MDSYS','WKSYS','WK_TEST','WMSYS','XDB')
THEN 'SYSTEM '
ELSE '' END) || OBJECT_TYPE IN

c3,:c4,:c5,:c6,:c7))
ORDER BY 2, 3
/
Somehow, the following predicates are too slow to run and unnecessary.
--AND (LOWER(OWNER) = LOWER

c1) OR (1<2))
--AND (OBJECT_NAME = :c2 OR (1<2))
Do you have a way to modify this SQL?
Robbie
"The rule is, not to besiege walled cities if it can possibly be avoided" -- Art of War