用如下的方式可以審計執行drop動作的事件:
/**
 * drop語句的審計日誌表
 */
create table drop_log
(
    session_id int not null,  -- sessionid
    drop_time  date,  -- drop的時間
    ip_address varchar2(20),  -- ip地址
    object_owner varchar2(30),  -- 對象的擁有者
    object_name varchar2(30),  -- 對象名稱
    object_type varchar2(20),  -- 對象類型
    drop_by_user varchar2(30) -- 執行drop語句的用戶
);create or replace trigger drop_info 
after drop on mfg0513user.schema  -- 在mfg0513user用戶上創建審計drop的觸發器
begin 
    insert into drop_log
     (session_id,
     drop_time,
     ip_address,
     object_owner,
     object_name,
     object_type,
     drop_by_user)
     values(USERENV('SESSIONID'),
     sysdate,
     SYS_CONTEXT('USERENV','IP_ADDRESS'),
     sys.dictionary_obj_owner,
     sys.dictionary_obj_name,
     sys.dictionary_obj_type,
     sys.login_user);    
end;執行drop的語句我沒有辦法給你抓出來,就像你說的那樣,v$sql不紀錄DDL語句,
不過對象名稱和對象類型都可以抓出來,我想這對你來說應該足夠了.另外:create和alter動作都可以按照上面的方式建類似的表和類似的觸發器做到.
希望對你有所幫助.