We have an OEM job that we run after each system-wide Unix password change to verify success on all hosts.
The OEM Job is run against Dynamic Groups of hosts. In this example I’ve limited it to the group DBHosts.
The job consists of a very simple call for
The Credentials for the job contain the new password, of course.
The job quickly tries to connect to each host with that named named credential and either succeeds or throws an error. The Job’s screen output provides immediate feedback to the operator, but I need to share the list of exceptions with Operations so they can correct it.
Job results are stored in sysman.mgmt$job_step_history. We can run a simple query to find our exceptions. The list I sent to Operations excluded the end_time and status.
SELECT target_name, end_time, status FROM sysman.mgmt$job_step_history WHERE job_name LIKE 'CHECK ORACLE PASSWORD%' AND status NOT IN ( 'Succeeded' ) AND end_time > SYSDATE - 7 ORDER BY target_name;