数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
创建实体化视图产生ORA-600 [ksmovrflow], [kkznxddl.begin]错误的解决方法

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

晚上测试实体化视图复制,测试环境中的master site是Oracle10g,MV site是Oracle9201,当在MV site上创建快速刷新的实体化视图时,报ORA-600错误。

SQL> CREATE MATERIALIZED VIEW KAMUS.ACCOUNT2004 REFRESH FAST WITH PRIMARY KEY  AS SELECT * FROM   KAMUS.ACCOUNT2004@orcl;

CREATE MATERIALIZED VIEW KAMUS.ACCOUNT2004 REFRESH FAST WITH PRIMARY KEY  AS SELECT * FROM   KAMUS.ACCOUNT2004@orcl

ORA-00600: internal error code, arguments: [ksmovrflow], [kkznxddl.begin], [], [], [], [], [], []

查metalink,发现又是一个bug,这个bug只有当在Oracle8或者9中创建基于Oracle10g的实体化视图时才会发生。

原因:

Oracle10g的master table中创建主键时候显式指定了主键的名称。如下

alter table table_name add constraint < constraint name> primary key (< col>);

解决方法:

删除这个主键,然后创建一个不指定名称的主键,由Oracle自动命名,如下

alter table ACCOUNT2004 add primary key(OCCURTIME, ACCTID, CURRENCYID);

这样产生的主键名称就变成SYS_CXXXX。

之后重新在MV site上创建实体化视图,成功。


 




相关文章

相关软件