【故障处理】ORA-01882: 未找到时区区域 %s

和许多网友一样,今天遇到了ora-01882问题,查了matelink解决了!

环境:
Oracle server端版本:
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端版本:
OS:windows XP 32bit
DB client:Oracle 10.2.0.1

 

现象:
--客户端查询报错:
SQL> select * from dba_scheduler_jobs;
ERROR:
ORA-01882: 未找到时区区域 %s

未选定行

SQL> select * from v$timezone_file;

FILENAME        VERSION
------------ ----------
timezlrg.dat          4

--登录server端查询正常
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.00.01.937819 下午 +08:00

 

分析:
通过查找资料,参考这个网友的分析的文章
http://blog.chinaunix.net/uid-20274021-id-1969654.html
--根据我的具体问题,重点参考文章中蓝色部分,如下:
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 to 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

--问题原因应该是oracle客户端版本太旧,存在bug所致。

--通过matelink找到Note 417893.1,使用红色部分的解决方案
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 for
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 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 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 the actual directory is in the ORACLE_HOME key.

once you have the directory you can check for
%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 -> 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.

解决方法:
Windows 32 bit ( NT4/2000/XP/Vista) 平台 
1.下载相应版本的DST V4补丁文件,如下:
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.解压缩补丁包 p5731535_10203_WINNT.zip
在files\oracore\zoneinfo目录下找到这三个文件:readme.txt, timezone.dat and timezlrg.dat

3.copy上面三个文件到你的客户端oracle的%ORACLE_HOME%\oracore\zoneinfo目录,把原来文件替换掉。

4.重新启动你oracle客户端连程序或database,是直接重启了我的电脑。
因为我是pl/sql developer连接的,重启连接程序后再连报错,所以直接重启了下我的电脑,再次连接后查询正常

 

时间: 2024-07-30 10:56:48

【故障处理】ORA-01882: 未找到时区区域 %s的相关文章

iOS推送获取不到设备token: 未找到应用程序的“aps-environment”的权利字符串

今天在调试利用腾讯出的信鸽推送系统做iOS的推送消息时,发现真机调试时提示"未找到应用程序的"aps-environment"的权利字符串",网上搜了搜原因大致是因为: APP id和mobileprovision对应不上. 按照信鸽官网的教程http://developer.xg.qq.com/index.php/IOS_%E8%AF%81%E4%B9%A6%E8%AE%BE%E7%BD%AE%E6%8C%87%E5%8D%97我已经成功配置好了APP ID,但是

IIS提示未找到提供程序

  Win7系统 IIS 调试ASP(aspcmsgbk25) 错误号:3706 提示 "未找到提供程序 该程序可能未正确安装"解决办法 . 有两种报错形式 一.错误号:3706 错误描述:未找到提供程序.该程序可能未正确安装. 二."ADODB.Connection 错误 '800a0e7a' 未找到提供程序.该程序可能未正确安装. " 错误的原因在于在64位系统中,IIS7应用程序池默认没有启用32位程序,也就是说如果使用的是64位操作系统,而没有64位的Jet

Android中R资源未找到至java文件报错

R资源, 是本地xml资源的引用列表, 修改时, 有可能Gradle没有生成, 相应的R资源; 则会出现R资源未找到的错; 导致Java文件异常, 报错. 可以使用: Sync Project with Gradle Files, 即同步项目; 如果未成功, 则应该清除缓存(Catches), 重启项目. 即: File->Invalidate Caches / Restart... 具体参见: http://blog.csdn.net/caroline_wendy/article/detail

XP系统开机后显示未找到comctl32.dll文件怎么办

  XP系统开机后显示未找到comctl32.dll文件怎么办 1.首先到网上下载comctl32.dll文件或到朋友那边拷贝一下这个文件,然后将下载或拷贝过来的存在路径"C:Windows---System32目录下"; 2.接着将文件放到目录下,然后打开开始菜单中的运行选项打开运行对话框;电脑常识 3.最后在打开的运行对话框中输入"regsvr32 comctl32.dll",回车之后即可.

Win7系统显示“Win7*.Vxd文件未找到”怎么办

  有的用户反应在w7系统中经常出现"Win7*.Vxd文件未找到"提示窗口,这给我们操作系统带来巨大麻烦,出现这种故障提示很多用户也不知道该如何解决,下面小编针对系统提示"Win7*.Vxd文件未找到"进行分析以及解决支招介绍. 原因分析: VxD的简写是virtual X driver,其实也就是虚拟设备驱动程序.一旦计算机显示"Win7*.Vxd文件未找到"的提示,那么最常见的原因都是因为win7 64位旗舰版在卸载软件的时候没有彻底删除或

Win7 32位系统出现提示“Win7*.Vxd文件未找到”怎么办

  1.首先在运行对话框中输入"regedit"回车进入注册表; 2.在打开的注册表中,点击菜单上方的"编辑--查找",然后在查找目标搜索框中查找你未找到的文件win7*.Vxd; 3.查找到之后把win7*.Vxd文件从注册表中删除,然后退出注册表就可以了.

java环境配置及jps命令未找到

最近基于CentOS 7下安装hadoop集群,碰到了java环境变量的问题,同时也出现了jps命令无法找到的情况.简要描述一下基于CentOS 7下Java环境的配置及jps命令未找到的处理. 一.Java环境配置 在安装好了CentOS 7之后,Java环境已经安装好(如没有,则选择的安装类型不包括) 如下,我们可以查看Java的版本 [root@namenode ~]# java -version openjdk version "1.8.0_65" OpenJDK Runtim

spring maven 异常-maven未找到spring-framework-beans-factory-Aware 的类文件

问题描述 maven未找到spring-framework-beans-factory-Aware 的类文件 异常信息如下: 补充:已引入spring-beans包,如下图 出错的java文件源代码如图 解决方案 看下是不是你的spring的版本有问题

javascript-js中属性未找到Type Uncatch rror

问题描述 js中属性未找到Type Uncatch rror 3C 是js引入的不对还是代码写错了请看图答题. 解决方案 js 动态改变imput type属性 解决方案二: 是js代码有问题,检查下这个length属性操作的代码,只有array对象才有这个属性的. 解决方案三: 可否给出报错的js文件?