Why does Oracle have the wrong time zones? Chicago is off by an hour, Denver is off by an hour, etc.
The Linux server's time as well as Oracle's sessiontimezone and dbtimezone are correct.
Oracle's current_date does differ from sysdate by an hour. They should be the same.
SELECT tzabbrev, SUBSTR(tz_offset(tzname), 1, 6), tzname FROM v$timezone_names tz WHERE tzname = 'America/Denver';
LMT -07:00 America/Denver
MST -07:00 America/Denver
MWT -07:00 America/Denver
MDT -07:00 America/Denver
These should all be -06:00!