您的位置:首页 > 数据库 > Oracle

高级复制时出现“ORA-01846: 周中的日无效”的错误

2006-12-15 22:36 316 查看
         近段时间在研究Oracle的高级复制,使用环境是Oracle9.2+win2003,在配置复制的时候发现一个奇怪的错误ORA-01846, 下面就讲一下我是如何排除该错误的。

       我os是中文win2003,在安装oracle的时候采用默认安装的方式(默认是中文环境)。安装完成后,开始建立要复制的表a,并且该表上建立触发器insert_a,并且触发器中使用了函数next_day(),该函数的第二个参数我使用中文'星期日',在执行插入操作的时候可以正确触发该触发器,同理我如果把该参数该为英文'sunday'则会出现ORA-01846错误,此时察看nls_language 参数是中文,说明错误是预期的。但是一旦我配置了复制后,就会在trace文件中产生一个ORA-01846的错误信息。在网上google该错误,没有什么好的发现,没办法。怀疑是oracle复制的时候内部的一个bug,否则为什么正常插入的时候不会出现该错误,而在复制的时候才会出现呢?把系统的所有参数列出来看,发现了一个不对劲的地方,就是有两个参数是americ,其中一个是版图参数,另一个是语言参数(具体是什么名字不记得了),于是就是用《Oracle初始化参数文件 》中叙述的方法修改参数文件,然后再次复制ok了。当然此时再回想一下发现在安装数据库的时候就可修改该参数的,就是列出所有参数中修改。

   虽然在复制中修改了该错误,不过还是有很多地方搞不清楚,到底oracle中有多少参数是控制语言和版图的,他们之间是怎么一个关系,是不是存在不同参数控制不同功能的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐