Like many netizens, today encountered a ora-01882 problem, checked matelink solved!
Environment:
Oracle server version:
SQL> select * from v $ version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0-64bi
PL/SQL Release 10.2.0.5.0-Production
CORE 10.2.0.5.0 Production
TNS for Linux: Version 10.2.0.5.0-Production
NLSRTL Version 10.2.0.5.0-Production
Oracle client version:
OS: windows XP 32bit
DB client: Oracle 10.2.0.1
Symptom:
-- Client query error:
SQL> select * from dba_scheduler_jobs;
ERROR:
ORA-01882: Time Zone zone % s not found
Unselected row
SQL> select * from v $ timezone_file;
FILENAME VERSION
----------------------
Timezlrg. dat 4
-- Log on to the server and check whether the query is normal.
SQL> Select job_name, LAST_START_DATE From Dba_Scheduler_Jobs Where job_name = 'gather _ STATS_JOB ';
JOB_NAME LAST_START_DATE
------------------------------------------------------------
GATHER_STATS_JOB 15-1-13 10.0020.1.938519 PM +
Analysis:
By searching for information, refer to the analysis article of this netizen
-- Based on my specific questions, refer to the Blue section in the article as follows:
Please make sure you have the error using the sqlplus found in the oracle_home on the server (!!! This is important !!!). IF and only if that is the case run the fix script found below directly on the server.
If you do NOT have a ORA-01882 when using the sqlplus found in the oracle_home on the server but you DO have it when connecting from a remote client then it means the remote client has not been updated v3 or higher. in that case running the script will NOT solve the issue, you then need to update the client's DST version.
For windows clients see Note 417893.1 How To Apply The V4 DST Patches To Windows Clients or Servers
-- The cause is that the oracle client version is too old and there is a bug.
-- Find Note 417893.1 using matelink and use the solution in red
How To Apply The V4 DST Patches To Windows Clients or Servers [ID 417893.1]
If you need to patch windows clients or servers then can download the patch
Windows for each version you have and simply copy the 3 needed files.
Note that there are different patches for 32bit/64 bit x86 and 64 bit Itanium
To see on what platform you are you can use
Select platform_id, platform_name from v $ database;
-> Windows 32 bit is platform 7 (Microsoft Windows IA (32-bit ))
-> Windows x86 64 bit is platform 233 (Microsoft Windows Server 2003 (64-bit AMD64 and Intel EM64T ))
-> Windows Itanium is platform 206 (Microsoft Windows XP (64-bit Itanium) or
208 (Microsoft Windows Server 2003 (64-bit Itanium ))
Or you can start "winver"
A x86 64 bit AMD64/EMT64 will mention "x64 edition"
To see if it's a Itanium system:
Click Start, right-click My Computer, and then click Properties.
In the System Properties window, click the General tab.
Note the first line under Computer:
Itanium or Itanium 2 appears on this line if it's a Itanium system.
Above information is provided as-is. Please contact Microsoft if you have
Any questions regarding this
A) Windows 32 bit (NT4/2000/XP/Vista)
--------------------------------------
1) Download the Windows 32 bit server patch for your version.
For a 9.2.0.X client or server (9.2.0.1 to 9.2.0.8) download the 9.2.0.8 patch
Containing the DST V4 files: https://updates.oracle.com/download/5845928.html
For a 10.1.0.X client or server (10.1.0.1 to 10.1.0.5) download the 10.1.0.5 patch
Containing the DST V4 files: https://updates.oracle.com/download/5728221.html
For a 10.2.0.X client or server (10.2.0.1 to 10.2.0.3) download the 10.2.0.3 patch
Containing the DST V4 files: https://updates.oracle.com/download/5731535.html
2) Unzip the patch, and locate the 3 files readme.txt, timezone. dat and timezlrg. dat
In the patch, for 9.2 and 10.2 they are in the "files \ oracore \ zoneinfo"
Directory of the uncompressed patch.
3) For a server install we recommend to backup the % ORACLE_HOME % \ oracore \ zoneinfo directory.
3) Copy the 2. dat files and the readme.txt file that were found in step 2
Into the % ORACLE_HOME % \ oracore \ zoneinfo directory on your clients or server.
Please make sure you copy the correct version.
The files from the 9.2 patch for a 9.2.0.X client or server.
The files from the 10.1 patch for a 10.1.0.X client or server.
The files from the 10.2 patch for a 10.2.0.x client or server.
4) Restart the client applications (in case of client install)
Or database (in case of a server install ).
B) Windows 64-bit x86 (AMD64 and EMT64)
---------------------------------------
1) Download the Windows 64-bit x86 (AMD64 and EMT64) (XP/2003) server patch for your version.
For a 10.2.0.X client or server (10.2.0.1 to 10.2.0.3) download the 10.2.0.3 patch
Containing the DST V4 files: https://updates.oracle.com/download/5731537.html
2) Unzip the patch, and locate the 3 files readme.txt, timezone. dat and timezlrg. dat
In the patch, for 10.2 they are in the "files \ oracore \ zoneinfo" directory
The uncompressed patch.
3) For a server install we recommend to backup the % ORACLE_HOME % \ oracore \ zoneinfo directory.
3) Copy the 2. dat files and the readme.txt file that were found in step 2
Into the % ORACLE_HOME % \ oracore \ zoneinfo directory on your clients or server.
Please make sure you copy the correct version.
The files from the 10.2 patch for a 10.2.0.x client or server.
4) restart the client applications (in case of client install)
Or database (in case of a server install ).
C) Windows 64 bit Itanium
-------------------------
1) Download the Windows 64 bit Itanium server patch for your version.
For a 9.2.0.X client or server (9.2.0.1 to 9.2.0.8) download the 9.2.0.8 patch
Containing the DST V4 files: https://updates.oracle.com/download/5845932.html
For a 10.1.0.X client or server (10.1.0.1 to 10.1.0.5) download the 10.1.0.5 patch
Containing the DST V4 files: https://updates.oracle.com/download/5731205.html
-> This is not out yet.
For a 10.2.0.X client or server (10.2.0.1 to 10.2.0.3) download the 10.2.0.3 patch
Containing the DST V4 files: https://updates.oracle.com/download/5731536.html
2) Unzip the patch, and locate the 3 files readme.txt, timezone. dat and timezlrg. dat
In the patch, for 9.2, 10.1 and 10.2 they are in the "files \ oracore \ zoneinfo"
Directory of the uncompressed patch.
3) For a server install we recommend to backup the % ORACLE_HOME % \ oracore \ zoneinfo directory.
3) Copy the 2. dat files and the readme.txt file that were found in step 2
Into the % ORACLE_HOME % \ oracore \ zoneinfo directory on your clients or server.
Please make sure you copy the correct version.
The files from the 9.2 patch for a 9.2.0.X client or server.
The files from the 10.1 patch for a 10.1.0.X client or server.
The files from the 10.2 patch for a 10.2.0.x client or server.
4) restart the client applications (in case of client install)
Or database (in case of a server install ).
Remarks:
--------
* There is no easy way to identify a client's version.
The Oracle_Home can be read from the registry under
HKEY_LOCAL_MACHINE \ SOFTWARE \ Oracle
If you have there HOMEx (HOME0, HOME1, HOME2) you know this is 8, 8i or 9i
The actual directory is in the ORACLE_HOME key.
If you have KEY _ <oracle_home_name> then this is 10.1 or 10.2,
Again the actual directory is in the ORACLE_HOME key.
Once you have the directory you can check
% Oracle_home % \ inventory \ Components21 \ oracle. rsf \ 9.2.0.1.0-> 9i
% Oracle_home % \ inventory \ Components21 \ oracle. rsf \ 10.1.0.2.0-> 10.1
% Oracle_home % \ inventory \ Components21 \ oracle. rsf \ 10.2.0.1.0-& gt; 10.2
* For Instant Clients on Windows you need to download a NEW version from OTN.
Http://www.oracle.com/technology/software/tech/oci/instantclient/index.html
At the moment only the 10.2.0.3 Instant client has the V3 fixes on board.
You CANNOT patch a Instant Client with above method.
Setting ORA_TZFILE will not help-ORA_TZFILE is ignored by the Instant Client.
On Unix it is possible to generate yourself a new instant client from a patched env,
But not on windows.
Solution:
Windows 32 bit (NT4/2000/XP/Vista) Platform
1. Download the DST V4 patch file of the corresponding version, as shown below:
For a 10.2.0.X client or server (10.2.0.1 to 10.2.0.3) download the 10.2.0.3 patch
Containing the DST V4 files: https://updates.oracle.com/download/5731535.html
2. decompress the patch package p5731535_10203_WINNT.zip
Find the three files in the files \ oracore \ zoneinfo Directory: readme.txt, timezone. dat and timezlrg. dat.
3. copy the preceding three files to the % ORACLE_HOME % \ oracore \ zoneinfo directory of your oracle client and replace the original files.
4. restarting your oracle client connection program or database directly restarts my computer.
Because I am connecting to pl/SQL developer, I restarted the Connection Program and then reported an error, so I restarted my computer. After the connection, the query was normal.