网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle SQL*Loader 使用指南(转.
.在ORACLE的存储过程中如何做简单.
.Oracle数据库处理身份管理解决方.
.为 PL/SQL 构建代码分析实用工具.
.Sql*plus技巧之SPOOL应用.
.Oracle 11g for linux X86的SILE.
.详细讲解RHEL AS4安装Oracle 10R.
.Oracle 9i在Red Hat7.1和7.2上的.
.如何在OEMS中成功提交作业.
.ORACLE大數据類型的操作之一CLOB.
.Oracle学习笔记(一).
.oracle中关于null排序的问题.
.NULL 小议.
.经典的问题与解答(3).
.如何彻底删除Oracle.
.核心模块.
.SQL*Report 1.1 Error Messages .
.数据库系统紧急故障处理方法.
.寻找发展方向 数据分析的5大技术.
.Oracle诊断案例4-Sql_trace.

物化视图高级复制中ORA-23313错误解决

发表日期:2008-2-9



  在进行复制组创建的过程中出现如下错误:
  SQL> begin
  2 dbms_repcat.create_mview_repgroup(
  3 gname=>'reptest',
  4 master=>'db001.d-link',
  5 propagation_mode => 'ASYNCHRONOUS');
  6 end;
  7 /
  begin
  *
  ERROR 位于第 1 行:
  ORA-23313: 在 PUBLIC 没有控制对象组 "REPTEST"."db001.d-link"
  ORA-06512: 在"SYS.DBMS_SYS_ERROR", line 105
  ORA-06512: 在"SYS.DBMS_REPCAT_SNA_UTL", line 1690
  ORA-06512: 在"SYS.DBMS_REPCAT_SNA", line 64
  ORA-06512: 在"SYS.DBMS_REPCAT", line 1262
  ORA-06512: 在line 2
  
  反复检查后发现问题还是出现在db link上,在测试中发现:
  SQL> connect system/pass@db002 ;
  已连接。
  SQL> select owner,db_link from dba_db_links ;
  
  OWNER   DB_LINK
  ---------- --------------------
  PUBLIC   DB001.Q-LINK
  MVADMIN  DB001.Q-LINK
  DEV001   DB001.Q-LINK
  
  SQL> connect system/pass@db001 ;
  已连接。
  SQL> select owner,db_link from dba_db_links ;
  
  OWNER   DB_LINK
  ---------- --------------------
  PUBLIC   DB002.Q-LINK
  REPADMIN  DB002.Q-LINK
  
  SQL> connect mvadmin/pass@db002
  已连接。
  SQL> select * from dev001.test001@db001 ;
  
     A B
  ---------- --------------------
     1 wanghui
     2 zhangyun
  
  SQL> select * from dev001.test001@db001.q-link ;
  select * from dev001.test001@db001.q-link
                  *
  ERROR 位于第 1 行:
  ORA-00933: SQL 命令未正确结束
  
  SQL>
  
  当引用类似"db001.q-link"的db link时,Oracle出现错误,这时候我怀疑"-"这个非凡字符Oracle在db link 中无法正确识别。
  
  告诉他加上双引号(""),也就是:
  select * from dev001.test001@"db001.q-link" ;
  
  此时结果正常。
  
  Ok,现在我基本确认是域名的问题。
  
  通过使用类似命令更改了域名以后,恢复正常:
  alter database rename global_name to DB002.QLINK;
  
  此后搜索Metalink,真还找到了类似问题描述,Note:274162.1
  The above problem is known to arise due to the presence of the '-' character in the domain name. Upon renaming the domain to a name that doesn't contain this character, the above problem disappears. 搞笑的是,Oracle说:
  The cause of this occurance is not clear. 报告中的影响范围为:
  Oracle Net Services - Version: 8.1.7.4 to 8.1.7.4
  Solaris Operating System (SPARC 32-bit)
  
  但是看来9i中问题同样存在,本例的数据库版本为:
  SQL> select * from v$version ;
  BANNER
  ----------------------------------------------------------------
  Oracle9i Enterprise Edition Release 9.2.0.1.0 - ProdUCtion
  PL/SQL Release 9.2.0.1.0 - Production
  CORE 9.2.0.1.0 Production
  TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
  NLSRTL Version 9.2.0.1.0 - Production
  
  SQL>
  
  供参考。

上一篇:查询条件句使用in比较好还是exists 人气:917
下一篇:在RHEL上安装Oracle 10g AS 3 Step-by-Step 人气:884
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐