I'm not an oracle expert, but you can also create a table with the records you want to keep .
Something like:
create table pessoa_new as select * from pessoa where idade <= 40;
After that, perform a truncate on the original table:
truncate table pessoa
Note that truncate does not create log in oracle, that is, you will not
able to rollback or commit. Once done, it can not be
undone.
After that, copy the data back into the original table:
alter session set rollback_segment = 'HUGE_RBS';
insert into pessoa as select * from pessoa_new
Or if you prefer, change the old and new table name:
alter table pessoa rename to pessoa_old;
alter table pessoa_new rename to pessoa;
In any case, remember rebuild the indexes and if you choose to rename the tables, consider rebuilding constraints, triggers, etc.