May be this additional information is also helpful
The oerr utility shows this for the ORA-01804 error:
ORA-01804: failure to initialize timezone information
Cause: The timezone information file was not properly read.
Action: Please contact Oracle Customer Support.
The first thing to do is to check if ORA_TZFILE is set and if it is, remove it and restart the database and listener. Oracle will then try to load the $ORACLE_HOME/oracore/zoneinfo/timezlrg.dat file.
If for some reason the file that Oracle wants to use is not available then this is the cause of the problem.
If the file is present then an alternative reason for the error could be that Oracle cannot load the file because of permission problems.
If all above is correct then it might be a .dat file that is corrupt.