Query running more than 120 seconds can be killed (terminated) by having a dbms_job that executes another procedure to kill a session.

The view v$session_longops has SID, SERIAL#, start_time, elapsed_seconds, time_remaining columns.
If elapsed_time > 120, call the killing_session procedure.

I have not done it so far. But I got the idea how to do it.

Very soon you will see the complete procedure here.