We've seen this a few times. I don't know what causes it but the following is what we do to clear it.
truncate table sec_session_properties;
drop table sec_session_properties;
truncate table sec_sessions;
create table sec_session_properties (
session_id references sec_sessions not null,
module varchar2(50) not null,
property_name varchar2(50) not null,
property_value clob,
-- transmitted only across secure connections?
secure_p char(1) check(secure_p in ('t','f')),
primary key(session_id, module, property_name),
foreign key(session_id) references sec_sessions on delete cascade
);