You can delete repeating and non-repeating timers by using the DELETE_TIMER Built-in subprogram.
/*
** Builtin: DELETE_TIMER
** Example: Remove a timer after first checking to see if it
** exists
*/
PROCEDURE Cancel_Timer (tm_name VARCHAR2) IS
tm_id TIMER;
BEGIN
tm_id:=Find_Timer(tm_name);
IF NOT Id_Null(tm_id) THEN
Delete_Timer(tm_id);
ELSE
Message('Timer '||' has already been cancelled.');
END IF;