最近在客户的开发环境上遇到一个奇怪的问题, 启动之后,alert日志中经常出现类似如下的日志信息:
Errors in file e:\app\administrator\diag\rdbms\hydeezyg\hydeezyg\trace\hydeezyg_ora_9064.trc (incident=1):
ORA-00600: 内部错误代码, 参数: [qcisSetPlsqlCtx:tzi init], [], [], [], [], [], [], [], [], [], [], []
Errors in file e:\app\administrator\diag\rdbms\hydeezyg\hydeezyg\trace\hydeezyg_ora_9064.trc:
ORA-00600: 内部错误代码, 参数: [qcisSetPlsqlCtx:tzi init], [], [], [], [], [], [], [], [], [], [], []
在前端登录时也提示:
ORA-01804: 时区信息无法初始化。
问题出现背景:
1. 客户的测试,开发环境的数据库在同一个数据库服务器上,某一天,客户重装了操作系统(数据文件,控制文件,参数文件等都在磁盘上,并未丢失)
2. 操作系统重装完成之后,我们的售后找我把库拉起来.
3. 我以为开发环境安装的数据库软件是11.2.0.4的版本,安装11.2.0.4之后尝试启动数据库,提示要startup upgrade
这时我才意识到客户的数据库是11.2.0.1的版本
4. 卸载11.2.0.4, 重装11.2.0.1, 其中的一个库OPEN之后并无问题,另外一个库提示ORA-00600 qcisSetPlsqlCtx:tzi init]
检查, 搜索MOS, 看到了一篇文档:
ORA-600 [qcisSetPlsqlCtx:tzi init] after Database Restart (文档 ID 362036.1)
A) Oracle version 11.2 and higher:
A.1) check if the required DSt patch is applied/available in the $ORACLE_HOME
In 11.2 there are no timezlrg.dat and timezone.dat, this is normal and intended.
please do NOT make any symbolic links for timezlrg.dat and timezone.dat or copy any of the files in \oracore\zoneinfo\ and rename them to timezlrg.dat and timezone.dat
in 11.2 there should be NO timezlrg.dat and timezone.dat in $ORACLE_HOME/oracore/zoneinfo/ (unix) or %ORACLE_HOME%\oracore\zoneinfo\ (windows)
Oracle 11.2.0.1 has by default all RDBMS DST updates from DSTv1 to DSTv11 included in the software installation.
Oracle 11.2.0.2 through 11.2.0.4 has by default all RDBMS DST updates from DSTv1 to DSTv14 included in the software installation.
Oracle 12.1.0.1 and 12.1.0.2 has by default all RDBMS DST updates from DSTv1 to DSTv18 included in the software installation.
These files are found in $ORACLE_HOME/oracore/zoneinfo and have a prefix indicating the DST version.
For example timezlrg_4.dat is the DSTv4 "large" file, timezlrg_11.dat is the DSTv11 "large" file.
connect and check:
select NAME, VALUE$ from SYS.PROPS$ where NAME like ('DST_%_TT_VERSION');
DST_SECONDARY_TT_VERSION -> should normally be 0 , if this has a value then also check if it is applied
DST_PRIMARY_TT_VERSION -> required TZ file
if DST_PRIMARY_TT_VERSION is for example "16" then check if
$ORACLE_HOME/oracore/zoneinfo or %ORACLE_HOME%\oracore\zoneinfo
* contains timezone_16.dat and timezlrg_16.dat if not then apply the missing DSTv16 patch
* the files are readable for the ORACLE OS user , if not adjust permissions
NOTE: this does not means you always need to apply DSTV16, the needed patch is depending on the version found by the select.
List of all DST patch numbers: Note 412160.1 "Updated DST transitions and new Time Zones in Oracle Time Zone File patches" / H) Overview of what DST version is by default used / included in what Oracle RDBMS version and all DST patch numbers
Again do NOT create yourself any timezlrg.dat and timezone.dat files or links.
其中提到了timezone的时区信息必须有时区文件信息一一对应
检查了一下, 以下是输出信息:
SQL> col name format a30
SQL> col value$ format a10
SQL> select NAME, VALUE$ from SYS.PROPS$ where NAME like ('DST_%_TT_VERSION');
NAME VALUE$
------------------------------ ----------
DST_PRIMARY_TT_VERSION 14
DST_SECONDARY_TT_VERSION 0
这样,就必须有时区信息文件
E:\app\Administrator\product\11.2.0\dbhome_1\oracore\zoneinfo\timezlrg_14.dat
E:\app\Administrator\product\11.2.0\dbhome_1\oracore\zoneinfo\timezone_14.dat
对应
检查安装目录之后,果然没有这两个文件。
从旧的安装目录拷贝至新的目录之后,重新启动,就再未出现这个问题
Errors in file e:\app\administrator\diag\rdbms\hydeezyg\hydeezyg\trace\hydeezyg_ora_9064.trc (incident=1):
ORA-00600: 内部错误代码, 参数: [qcisSetPlsqlCtx:tzi init], [], [], [], [], [], [], [], [], [], [], []
Errors in file e:\app\administrator\diag\rdbms\hydeezyg\hydeezyg\trace\hydeezyg_ora_9064.trc:
ORA-00600: 内部错误代码, 参数: [qcisSetPlsqlCtx:tzi init], [], [], [], [], [], [], [], [], [], [], []
在前端登录时也提示:
ORA-01804: 时区信息无法初始化。
问题出现背景:
1. 客户的测试,开发环境的数据库在同一个数据库服务器上,某一天,客户重装了操作系统(数据文件,控制文件,参数文件等都在磁盘上,并未丢失)
2. 操作系统重装完成之后,我们的售后找我把库拉起来.
3. 我以为开发环境安装的数据库软件是11.2.0.4的版本,安装11.2.0.4之后尝试启动数据库,提示要startup upgrade
这时我才意识到客户的数据库是11.2.0.1的版本
4. 卸载11.2.0.4, 重装11.2.0.1, 其中的一个库OPEN之后并无问题,另外一个库提示ORA-00600 qcisSetPlsqlCtx:tzi init]
检查, 搜索MOS, 看到了一篇文档:
ORA-600 [qcisSetPlsqlCtx:tzi init] after Database Restart (文档 ID 362036.1)
A) Oracle version 11.2 and higher:
A.1) check if the required DSt patch is applied/available in the $ORACLE_HOME
In 11.2 there are no timezlrg.dat and timezone.dat, this is normal and intended.
please do NOT make any symbolic links for timezlrg.dat and timezone.dat or copy any of the files in \oracore\zoneinfo\ and rename them to timezlrg.dat and timezone.dat
in 11.2 there should be NO timezlrg.dat and timezone.dat in $ORACLE_HOME/oracore/zoneinfo/ (unix) or %ORACLE_HOME%\oracore\zoneinfo\ (windows)
Oracle 11.2.0.1 has by default all RDBMS DST updates from DSTv1 to DSTv11 included in the software installation.
Oracle 11.2.0.2 through 11.2.0.4 has by default all RDBMS DST updates from DSTv1 to DSTv14 included in the software installation.
Oracle 12.1.0.1 and 12.1.0.2 has by default all RDBMS DST updates from DSTv1 to DSTv18 included in the software installation.
These files are found in $ORACLE_HOME/oracore/zoneinfo and have a prefix indicating the DST version.
For example timezlrg_4.dat is the DSTv4 "large" file, timezlrg_11.dat is the DSTv11 "large" file.
connect and check:
select NAME, VALUE$ from SYS.PROPS$ where NAME like ('DST_%_TT_VERSION');
DST_SECONDARY_TT_VERSION -> should normally be 0 , if this has a value then also check if it is applied
DST_PRIMARY_TT_VERSION -> required TZ file
if DST_PRIMARY_TT_VERSION is for example "16" then check if
$ORACLE_HOME/oracore/zoneinfo or %ORACLE_HOME%\oracore\zoneinfo
* contains timezone_16.dat and timezlrg_16.dat if not then apply the missing DSTv16 patch
* the files are readable for the ORACLE OS user , if not adjust permissions
NOTE: this does not means you always need to apply DSTV16, the needed patch is depending on the version found by the select.
List of all DST patch numbers: Note 412160.1 "Updated DST transitions and new Time Zones in Oracle Time Zone File patches" / H) Overview of what DST version is by default used / included in what Oracle RDBMS version and all DST patch numbers
Again do NOT create yourself any timezlrg.dat and timezone.dat files or links.
其中提到了timezone的时区信息必须有时区文件信息一一对应
检查了一下, 以下是输出信息:
SQL> col name format a30
SQL> col value$ format a10
SQL> select NAME, VALUE$ from SYS.PROPS$ where NAME like ('DST_%_TT_VERSION');
NAME VALUE$
------------------------------ ----------
DST_PRIMARY_TT_VERSION 14
DST_SECONDARY_TT_VERSION 0
这样,就必须有时区信息文件
E:\app\Administrator\product\11.2.0\dbhome_1\oracore\zoneinfo\timezlrg_14.dat
E:\app\Administrator\product\11.2.0\dbhome_1\oracore\zoneinfo\timezone_14.dat
对应
检查安装目录之后,果然没有这两个文件。
从旧的安装目录拷贝至新的目录之后,重新启动,就再未出现这个问题
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8520577/viewspace-2152605/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8520577/viewspace-2152605/