Description:
HP-UX 11i 64 PA-RISC平台,Oracle 9.2.0.6。
alter session set NLS_SORT='SCHINESE_PINYIN_M';
报ORA-12705: invalid or unknown NLS parameter value specified。
alter session set NLS_SORT='GENERIC_M'; -->正常
alter session set NLS_SORT='GBK'; -->正常
分析过程:
1. 核查NLS_LANG,ORA_NLS33的设置,以及$ORA_NLS33对应的目录和文件权限
2. 使用localbuilder验证本地*.nlb文件是否正常
3. 核查oracle软件安装和是否有升级
以上发现均不存在问题。
进一步测试:
1. 将该库全备至测试环境,恢复并启动,
结果: alter session set NLS_SORT='SCHINESE_PINYIN_M'; -->正常
2. 从测试环境创建相同版本的实例,全备并恢复到此问题服务器上,启动,
结果: alter session set NLS_SORT='SCHINESE_PINYIN_M'; -->正常
经过查找资料,在metalink上发现Bug 4648650,特征和服务器情况类似。
因是生产服务器,故一开始没有考虑重启数据库,鉴于Bug 4648650的描述,安排在合适的时间重启了数据库
结果: alter session set NLS_SORT='SCHINESE_PINYIN_M'; -->正常
Bug 4648650:
SGA NLS handle inconsistencies may be seen under high concurrency
leading to symptoms such as:
NLS related errors like:
ORA-12705: invalid or unknown NLS parameter value specified
Potential wrong results from queries using the NLS structure