There is no way to assure you can get data for that historical range because-
This depends upon the settings of SQL agent where you decided to keep history based on certain conditions , unless left default which again may or may not go that time back.
If you are lucky enough and msdb has the information still stored for jobs 60 days old, you can simply ...
It seems that SQL Server Agent will report failure for job with step encountering error with severity other than 0, 1, or 10 (see demo below). I don't have a 2012 instance handy - tested with SQL Server 2016. In your case there was a corruption error (8956) with severity 16. The job execution showing failed should be expected. I suspect based on quick ...
create or replace procedure p1 as
for u in (select username from dba_users where account_status in ('EXPIRED', 'EXPIRED(GRACE)') and username not in ('SYS', 'SYSTEM', '...'))
execute immediate 'alter user "' || u.username || '" account lock';
For 12c and higher you could use the ORACLE_MAINTAINED='N' for ...