Такие вещи нужно правами на таблицу регулировать. Например:
GRANT INSERT, UPDATE, DELETE ON schema.tablename TO  username; --Дать права
REVOKE INSERT, UPDATE, DELETE ON schema.tablename FROM username; --Отозвать права
upd
Запись в специальный журнал это будет домашнее задание. 
create or replace trigger MY_TRIGGER_NAME
  before insert or update or delete
     on MY_TABLE_NAME
begin
  if user in ( 'BAD_USER', 'ANGRY_USER' ) then raise_application_error( -20001,'You do not have access to modify this table.' );
  end if;
end;