Hi,
You can be able to find out the user who has done any DDL activity on the database only if you write the database level trigger.This is new feature introduced in Oracle 8i(8.1.5.0)onwards and it works very fine in Oracle 8.1.7.0 without any problem.You have to create a database level trigger which will fire if any user executes a DDL statement and it captures the entire information of that user i.e sid,serial#,osname,username,machine,terminal,object_name,object_owner,ipaddress and stores in a table for viewing.
If you want to have that trigger do mail me,will send it to you.

Regards,
Rohit Nirkhe,Oracle/Apps DBA,3
OCP 8i,OCP 9i
[email protected]