That's right, probes assign the dev_id to the alarms.
Difficult to say what may be going wrong in your environment, but I wouldn't suspect it's the oracle probe version since the dev ids are in place. I'm also seeing correct behavior with oracle 4.91.
If the dev_id in the alarm corresponds to the one in CM_DEVICE and there are no conflicts such as duplicate dev_ids, it should display under the correct device. The query to the DB is like this:
SELECT
nimid,
visible,
nimts,
supptime,
suppcount,
level,
message,
nas_alarms.dev_id,
met_id,
subsys,
sid,
source,
hostname,
prid,
hub,
nas,
domain,
robot,
origin,
assigned_to,
assigned_by,
assigned_at,
user_tag1,
user_tag2,
custom_1,
custom_2,
custom_3,
custom_4,
custom_5,
i18n_token,
i18n_data,
cs_id
FROM
nas_alarms
left join cm_device on nas_alarms.dev_id = cm_device.dev_id
ORDER BY level DESC
-jon