网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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常见错误代码分析解决.
.RedHat Advance Server 3上安装o.
.9i新特性之二安全篇.
.Oracle内部工具Block Corruption.
.ORACLE 常用的SQL语法和数据对象.
.Windows ORACLE 9I OCFS RAC VMW.
.ORACLE SQL性能优化系列 (二).
.案例讨论:Oracle两表连接.
.从SQL SERVER 向ORACLE 8迁移的技.
.Original: How to duplicate da.
.Linux环境主要数据库简介.
.内置XML能成为oracle的救世主吗?.
.使用新的list分割方法提高灵活性.
.定时执行存储过程对库表及索引进.
.Lilo错误详解.
.Oracle数据库访问限制绕过漏洞.
.如何用智能优化器提高Oracle的性.
.all installing oracle9i docume.
.Rails 上的 HR 模式.
.ORACLE8的分区管理(zt).

高级复制/物化视图复制中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>
  
  供参考。

上一篇:应对RMAN-06026错误,使用dbms_backup_restore进行恢复 人气:783
下一篇:对即将上线的Oracle10g ASM生产数据库进行备份恢复测试 人气:481
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐