First, determine the set you want to delete. Is that set defined by date? by expired jobs? Whatever is relevant to you.
Then you can use that sql in a scheduler job. Or you could package it in a shell script and run it from cron.
You could even write a pl/sql procedure with appropriate error handling, and built in limiters (time, # of rows, etc.) and schedule that in a job, or call it from a cron.
Performance may be the biggest issue in a table this size, so make sure your delete statement uses an appropriate index. For example, if you are ageing out records by an event_date, make sure there is an index on event_date.