出错原因:

使用高级复制时,在源端启动复制支持,执行语句:REPADMIN@bys1>execute dbms_repcat.generate_replication_support('gp','test' ,'table');

这一步时输入了错误的表名或者用户名。

错误提示:

此后,在执行在源端添加复制节点操作时,有如下出错提示:

REPADMIN@bys1>execute dbms_repcat.add_master_database(gname=>'rep',master=>'bys2' ,use_existing_objects=>true ,copy_rows=>false ,propagation_mode=>'synchronous');

BEGIN dbms_repcat.add_master_database(gname=>'rep',master=>'bys2' ,use_existing_objects=>true ,copy_rows=>false ,propagation_mode=>'synchronous'); END;

*

ERROR at line 1:


ORA-02055: distributed update operation failed; rollback required
ORA-23308: object GP.T does not exist or is invalid

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95

ORA-06512: at "SYS.DBMS_REPCAT_MAS", line 460

ORA-06512: at "SYS.DBMS_REPCAT_MAS", line 1572

ORA-06512: at "SYS.DBMS_REPCAT_MAS", line 2283

ORA-06512: at "SYS.DBMS_REPCAT", line 146

ORA-06512: at line 1

REPADMIN@bys1>select gname ,dblink ,masterdef ,master from dba_repsites where gname='REP';

select gname ,dblink ,masterdef ,master from dba_repsites where gname='REP'

                                             *

ERROR at line 1:

ORA-00604: error occurred at recursive SQL level 1

ORA-02067: transaction or savepoint rollback required

ORA-00604: error occurred at recursive SQL level 1

ORA-02067: transaction or savepoint rollback required

REPADMIN@bys1>rollback;

Rollback complete.

REPADMIN@bys1>select gname ,master ,status from dba_repgroup where gname = 'REP';

GNAME                          M STATUS

------------------------------ - ---------

REP                            Y QUIESCED

错误分析:

此时从dba_repobject;中可以查看到输入的有GP用户的T表,事实上是没有创建此表的。所以才会出现上面的错误:ORA-23308: object GP.T does not exist or is invalid

REPADMIN@bys1>select sname,oname,status,gname from dba_repobject;

SNAME                          ONAME                          STATUS

------------------------------ ------------------------------ ----------

GNAME

------------------------------


GP                             T                              ERROR
REP

GP                             TEST                           VALID

REP

GP                             TEST$RP                        VALID

REP

GP                             TEST$RP                        VALID

REP

错误解决:

删除错误配置的表和用户:

REPADMIN@bys1>execute DBMS_REPCAT.DROP_MASTER_REPOBJECT (sname=>'gp',oname=>'T',type=>'TABLE');

PL/SQL procedure successfully completed.

验证:

REPADMIN@bys1>col same for a10

REPADMIN@bys1>col sname for a10

REPADMIN@bys1>col oname for a10

REPADMIN@bys1>col gname for a10

REPADMIN@bys1>select sname,oname,status,gname from dba_repobject;

SNAME      ONAME      STATUS     GNAME

---------- ---------- ---------- ----------

GP         TEST       VALID      REP

GP         TEST$RP    VALID      REP

GP         TEST$RP    VALID      REP

此时,再执行在源端添加复制节点的操作就可以顺利完成了。

REPADMIN@bys1>execute dbms_repcat.add_master_database(gname=>'rep',master=>'bys2' ,use_existing_objects=>true ,copy_rows=>false ,propagation_mode=>'synchronous');

PL/SQL procedure successfully completed.

REPADMIN@bys1>col dblink for a10

REPADMIN@bys1> select gname ,dblink ,masterdef ,master from dba_repsites where gname='REP';

GNAME      DBLINK     M M

---------- ---------- - -

REP        BYS1       Y Y

REP        BYS2       N Y

高级复制实验配置添加复制节点操作时报错:ORA-23308: object GP.T does not exist or is invalid的更多相关文章

  1. svn执行clean up 操作时报错 "Previous operation has not finished; run 'cleanup' if it was interrupted"解决如下!

    今天在项目中更新的时候,突然间爆了一个svn的这个错误,当时提示我去clean up操作,结果我执行clean up操作时候,还是报错,后来坚持出来,是因为ios项目中的一个图标出了问题,使svn进入 ...

  2. redis cluster 添加/删除节点操作

    RedisCluster 添加/删除节点 添加节点新配置两个测试节点8008和9009 [root@--- ~]# /usr/local/redis-/bin/redis-server /u02/re ...

  3. 对ArrayList操作时报错java.util.ConcurrentModificationException null

    用iterator遍历集合时要注意的地方:不可以对iterator相关的地方做添加或删除操作.否则会报java.util.ConcurrentModificationException 例如如下代码: ...

  4. clipboard复制剪贴板功能,以及用requirejs时报错---Uncaught ReferenceError: Clipboard is not defined

    zeroclipboard是走的flash插件,手机浏览器是不支持的,所以不得不舍弃之,用clipboard,clipboard不需要flash就可以完成复制剪切等功能,而且可以兼容pc,移动端,下面 ...

  5. Windows Cluster 添加新节点--验证报错

    今天给既有Windows Cluster 添加节点时,验证总是不通过.报错信息为 防火墙未正确配置为故障转移群集.现将处理步骤汇总如下. 1.错误具体信息 报错的位置 --[验证警告] 的步骤中发现错 ...

  6. AlwaysOn配置时在连接步骤时报错(35250)

    1.错误描述 1XX.XXX.XXX.241(主节点) 1XX.XXX.XXX.242(从节点) 添加节点需要在主节点上执行的,错误代码:35250 报错截图 2.网上相关介绍都是怀疑端口5022的问 ...

  7. Cognos配置oracle类型内容库时报错

    Cognos初次安装,创建内容库为Oracle数据库类型的时候,报下面的错误 [Content Manager database connection][ ERROR ] The database c ...

  8. MySQL执行插入操作时报错1366 - Incorrect string value

    今天在测试mysql时,发现插入数据的问题,下面和大家分享下解决方法: 首先看问题原因: [Err] 1366 - Incorrect string value: '\xCF\xD6' for col ...

  9. angular使用canvas操作时报错

    最近,用 angular 前端框架为应用登录新增图形验证码认证,由于没有现成的插件,于是便使用canvas+js操作,也是可以正常使用,但是在编译阶段却有个报错: ERROR in src/app/l ...

随机推荐

  1. 如何在MyEclipse中部署struts2的环境

    总记不住一些部署struts2框架的细节,下面就做一个总结:其实很简单,只要几步:1.下载的strutsXXX(版本号)-zip文件中解压app目录中有一个struts2-blank.war文件,解压 ...

  2. Linux命令之ifconfig

    许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改.Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config).通常需 ...

  3. CentOS 7 +Nginx

    一:安装前的准备工作  安装 pcre-devel环境 #yum -y install pcre-devel 安装 openssl  环境   #yum -y install openssl open ...

  4. 非常值得学习的java 绘图板源代码

    package minidrawpad; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; impor ...

  5. WordPress下载安装简单配置实例

    1.下载https://cn.wordpress.org/ 2.复制wp-config-sample.php为wp-config.php 3.创建一个wordpress数据库 4.修改wp-confi ...

  6. 读Flask源代码学习Python--config原理

    读Flask源代码学习Python--config原理 个人学习笔记,水平有限.如果理解错误的地方,请大家指出来,谢谢!第一次写文章,发现好累--!. 起因   莫名其妙在第一份工作中使用了从来没有接 ...

  7. Activity篇章参考

    附上学习这部分知识的时候收集的一些比较好的链接: Task and backStack|Android Developer adb shell dumpsys activity 单个apk多进程 Ac ...

  8. android DatePickerDialog theme

    网上搜索了下没有找到DatePickerDialog的各种 Theme 的样例.我就一个一个试了下,传上图片 DatePickerDiaolog有两个构造函数分别是: DatePickerDialog ...

  9. 使用QueueUserWorkerItem实现的线程池封装

    此线程池所依赖的线程类,请参看<一个Windows C++的线程类实现>: http://blog.csdn.net/huyiyang2010/archive/2010/08/10/580 ...

  10. _.remove的用法

    var array = [1, 2, 3, 4]; var evens = _.remove(array, function(n) { return n % 2 == 0; }); console.l ...