本文共 1228 字,大约阅读时间需要 4 分钟。
开发报告测试库上执行一段sql遇到以下错误
select ID,name
,decode(sign(sysdate-nvl(begin_date,sysdate)) + sign(nvl(invite_end_date,sysdate)-sysdate),2,1,0) showInviteCode From JUSTIN where IS_DELETE = 0 and NVL(MAIL_DNS,' ')<> ' 'order by convert(name,'ZHS16CGB231280','UTF8') ORA-01482: unsupported character set刚开始被错误提示信息误导了,以为是字符集不支持;查看视图发现不是这回事SQL> select * from v$nls_valid_values where parameter='CHARACTERSET' and value='ZHS16CGB231280'; PARAMETER VALUE ISDEPRECATED------------------------------ ------------------------------ ------------CHARACTERSET ZHS16CGB231280 FALSE查看alert log也没有发现有价值的东西,metalink上搜一把,有篇文章说是内存错误,trace file里会出现ora-4031;
但是alert log里的ora-4031错误是12个小时之前报的了,不会到现在还存在吧;尝试情况shared_poolSQL> alter system flush shared_pool;System altered.
但是依然报错,将shared_pool增大到300mSQL> show parameter shared_poolNAME TYPE VALUE
------------------------------------ ----------- ------------------------------shared_pool_reserved_size big integer 12Mshared_pool_size big integer 240MSQL> alter system set shared_pool_size = 300m;System altered.
这次执行成功了看来这个covert函数跟shared_pool还是有很大关系的来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15480802/viewspace-704766/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15480802/viewspace-704766/