免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 22807 | 回复: 78
打印 上一主题 下一主题

sybase replication server问题(急!急!) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-09 16:32 |只看该作者 |倒序浏览
5可用积分
之前sybase工程过来给我单位装了sybase replication server同步,但是仅留下了10来个PDF文档,也没个目录什么的,现在我们系统升级了,需要增加几个表,并修改几个表结构
单位也不肯为了这点事情就购买新服务,老服务到齐了,哎
因为当初sybase工程师仅给我们做了2个库的表数据同步定义,所以变更表结构和新增表不会同步;

我们目前总共有2个节点,主服务器,备份服务器,rs装在备份服务器上,没有图形界面,都是后台操作,我的思路是:
1、先找到当初sybase工程师给我们创建的数据库复制定义(就是create database replication definition 创建的那个)
2、然后用alter database replication 命令修改先过滤掉需要修改表结构的几个表
3、修改完表结构后,把新增表创建完成,再用alter database replication 命令把这几个表加进去

问题出来了:
1、我上面的思路是否可行
2、我不知道怎么查看数据库复制定义,不知用哪个命令能找到
3、我看了一些文档,虽然有alter database replication 命令介绍,但是不知道怎么用来添加复制表,sybase给的命令手册里只有过滤即删除复制表的例子,希望高手给写个成功的例子
4、按照以上步骤怎么做,我需要重新启动rs吗?如果需要,请告诉我重启sybase数据库和rs的步骤,因为我是首次接触这个工具,这才刚刚接触了几天,希望高手能写的详细点儿,最好能注明每个命令的作用和参数代表什么意思

最佳答案

查看完整内容

这不就满足你的要求了嘛,不用着急了,依样画葫芦下周保你成功我也得下班回家了

论坛徽章:
7
数据库技术版块每日发帖之星
日期:2015-08-09 06:20:00数据库技术版块每日发帖之星
日期:2015-11-03 06:20:00数据库技术版块每日发帖之星
日期:2016-02-20 06:20:00数据库技术版块每日发帖之星
日期:2016-07-13 06:20:00数据库技术版块每日发帖之星
日期:2016-07-31 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
2 [报告]
发表于 2012-05-09 16:32 |只看该作者
本帖最后由 Eisen 于 2012-05-10 17:09 编辑

这不就满足你的要求了嘛,不用着急了,依样画葫芦下周保你成功

我也得下班回家了

论坛徽章:
7
数据库技术版块每日发帖之星
日期:2015-08-09 06:20:00数据库技术版块每日发帖之星
日期:2015-11-03 06:20:00数据库技术版块每日发帖之星
日期:2016-02-20 06:20:00数据库技术版块每日发帖之星
日期:2016-07-13 06:20:00数据库技术版块每日发帖之星
日期:2016-07-31 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
3 [报告]
发表于 2012-05-09 17:22 |只看该作者
1. 思路完全可行,不过要保证在alter table和alter replication definition之间者短时间内,对table没有write操作
2. 进入RSSD库,使用rs_helprep命令可以查看所有replication definition,如果太多,可以简单些用
select objname from rs_objects where phys_tablename=  tbname来先查到相关deinition名字,再用rs_helprep defname来确认到底是哪一个
3. 添加新复制定义不能用alter replication definition,得用create replication definition,详情参看我以前的科普贴-- http://bbs.chinaunix.net/thread-1771511-1-1.html

4. 无论create还是alter replication ..都无需重起RS。

论坛徽章:
0
4 [报告]
发表于 2012-05-09 17:55 |只看该作者
rs_helprep

Replication Definition Name    PRS                  Primary DS.DB                                                 Primary Table        Replicate Table      Type
---------------------------    ---                  -------------                                                 -------------        ---------------      ----
rs_classes                     JIFEIRS              JIFEI_RSSD.JIFEIRS_RSSD                                       rs_classes                                Tbl  
rs_columns                     JIFEIRS              JIFEI_RSSD.JIFEIRS_RSSD                                       rs_columns                                Tbl  
rs_databases                   JIFEIRS              JIFEI_RSSD.JIFEIRS_RSSD                                       rs_databases                              Tbl  
rs_dbreps                      JIFEIRS              JIFEI_RSSD.JIFEIRS_RSSD                                       rs_dbreps                                 Tbl  
rs_dbsubsets                   JIFEIRS              JIFEI_RSSD.JIFEIRS_RSSD                                       rs_dbsubsets                              Tbl  
rs_erroractions                JIFEIRS              JIFEI_RSSD.JIFEIRS_RSSD                                       rs_erroractions                           Tbl  
rs_funcstrings                 JIFEIRS              JIFEI_RSSD.JIFEIRS_RSSD                                       rs_funcstrings                            Tbl  
rs_functions                   JIFEIRS              JIFEI_RSSD.JIFEIRS_RSSD                                       rs_functions                              Tbl  
rs_objects                     JIFEIRS              JIFEI_RSSD.JIFEIRS_RSSD                                       rs_objects                                Tbl  
rs_routes                      JIFEIRS              JIFEI_RSSD.JIFEIRS_RSSD                                       rs_routes                                 Tbl  
rs_systext                     JIFEIRS              JIFEI_RSSD.JIFEIRS_RSSD                                       rs_systext                                Tbl  

select objname , phys_tablename from rs_objects   
没有表名啊                                       
objname                        phys_tablename     
-------                        --------------     
rs_classes                     rs_classes         
rs_columns                     rs_columns         
rs_databases                   rs_databases      
rs_dbreps                      rs_dbreps         
rs_dbsubsets                   rs_dbsubsets      
rs_erroractions                rs_erroractions   
rs_funcstrings                 rs_funcstrings     
rs_functions                   rs_functions      
rs_objects                     rs_objects         
rs_routes                      rs_routes         
rs_systext                     rs_systext         


还有个问题,我不是想增加复制定义,我是想在复制定义里增加表,就像文档里
create database replication definition ... with ... replicate table in(tab1,tab2...)

不知道在alter时怎么用,我看例子里有过滤的,但是没有增加的
alter database replication definition ...with ... not replicate table in(tab1)
因为是正式库,我没有其他环境,时间又比较近,所以我不敢随便乱测试,不知道是不是
alter database replication definition ...with ...  replicate table in(tab1) 这样就添加了一个新表吗?还是把原来定义的表给覆盖了啊,我不敢随便测

还有我在执行以下命令是报了这个错不知道是怎么回事

1> sp_setreptable xwrep_test, true
2> go
Msg 9137, Level 16, State 2:
Server 'APCHUANBO3', Procedure 'sp_setreptable', Line 513:
LTM trunc. point not yet established with DBCC SETTRUNC().  Until the LTM trunc. point is established, changes to the object 'xwrep_test' may not be replicated.
The replication status for 'xwrep_test' is set to true, owner_off.

1> create subscription xwrep_test_sub for rep_test with replicate at JIFEI.bohai
2> go
Msg 15249, Level 12, State 0:
Server 'JIFEIRS':
Can not use active or standby connection names for subscriptions



论坛徽章:
0
5 [报告]
发表于 2012-05-09 22:21 |只看该作者
首先请确认你比较过主服务器和备份服务器两边的表结构。

难道用的是warm standby 和sp_setreptable而不是sp_reptostandby?
请给出下面命令的输出。

在主服务器的主库(PDB)
isql -U
use your_db_name
go
sp_help_rep_agent your_db_name
go

在Replication Server上
admin logical_status
go


论坛徽章:
7
数据库技术版块每日发帖之星
日期:2015-08-09 06:20:00数据库技术版块每日发帖之星
日期:2015-11-03 06:20:00数据库技术版块每日发帖之星
日期:2016-02-20 06:20:00数据库技术版块每日发帖之星
日期:2016-07-13 06:20:00数据库技术版块每日发帖之星
日期:2016-07-31 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
6 [报告]
发表于 2012-05-09 23:50 |只看该作者
哈。看懂了。那个replicate table in(tab1,tab2...)是db replication definition的东西,果然是MSA架构,不是单纯的table replication阿。那其实也挺简单,用 rs_helpdbrep检查

论坛徽章:
0
7 [报告]
发表于 2012-05-10 07:38 |只看该作者
是的,不但要看他的replication用的是warmstandby还是MSA,而且还要看replication是怎样定义的。

论坛徽章:
0
8 [报告]
发表于 2012-05-10 08:55 |只看该作者
用MSA的话,其实很简单的,用sybase central中的RM插件,很方便的就可以完成增加表复制等相关功能。

论坛徽章:
0
9 [报告]
发表于 2012-05-10 09:33 |只看该作者
1> sp_help_rep_agent bohai
2> go
Replication Agent Recovery status
dbname                         connect dataserver             connect database               status                         rs servername                  rs username
------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------
bohai                          APCHUANBO3                     bohai                          not active                     JIFEIRS                        bohai_rep_agent
Replication Agent Process status
dbname                         spid        sleep status                   retry count last error
------------------------------ ----------- ------------------------------ ----------- -----------
bohai                          43          end of log                     0           0
Replication Agent Scan status
dbname                         start marker                   end marker                     current marker                 log recs scanned oldest transaction
------------------------------ ------------------------------ ------------------------------ ------------------------------ ---------------- ------------------------------
bohai                          (7628872,14)                   (7628873,3)                    (7628873,3)                    0                (-1,0)
Replication Agent Configuration
dbname   auto start  rs servername    rs username        connect dataserver  connect database   scan batch size scan timeout retry timeout skip ltl errors batch ltl   send warm standby xacts        send maint xacts to replicate  ha failover   skip unsupported features      short ltl keywords    send buffer size   priority    send structured oqids   data limits filter mode  schema cache growth factor
-------- ----------- ---------------- ------------------ ------------------- ------------------ --------------- ------------ ------------- --------------- ----------- ------------------------------ ------------------------------ ------------- ------------------------------ --------------------- ------------------ ----------- ----------------------- ------------------------ ------------------------------
bohai    true        JIFEIRS          bohai_rep_agent    APCHUANBO3          bohai              1000            15           60            false           true        true                           false                          true          false                          false                 2k                 5           false                   off                      1
Replication Agent Security Configuration
dbname                         security mechanism             unified login                  msg confidentiality            msg integrity                  msg replay detection           msg origin check               msg out-of-sequence check      mutual authentication
------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------
bohai                          n/a                            false                          false                          false                          false                          false                          false                          false
(return status = 0)



admin logical_status
go   
               
Logical Connection Name   Active Connection Name   Active Conn State   Standby Connection Name     Standby Conn State   Controller RS       Operation in Progress   State of Operation in Progress   Spid
------------------------- ------------------------ ------------------- --------------------------- -------------------- ------------------------------------------- -------------------------------- -----
[108] APCHUANBO3.bohai    [108] APCHUANBO3.bohai   Active/             [110] JIFEI.bohai           Active/              [16777317] JIFEIRS  None                    None


使用rs_helpdbrep命令没数据

其实我只是想在原有的数据库复制定义下面(database replication definition)增加和删除表,这样做起来最简单,因为是生产库,而且时间又很紧,以我的认知觉得这样只需要用1条命令就(alter database replication definition)就能实现,但是不知道对不对,而且当初sybase工程师来装的时候我也不再现场,又不知道 数据库复制定义的名称是什么,所以请教各位,而且我上面说过了,我没有图形界面,无法用图形界面连接,所以只能是命令行执行,请几位前辈高手指点,谢谢

论坛徽章:
0
10 [报告]
发表于 2012-05-10 09:41 |只看该作者
我不懂你们说的warmstandby还是MSA,毕竟我才接触2、3天,只是看了些资料,所以我认为sybase的人肯定不可能用一个个表复制定义这种办法来进行复制,后来发现可以整个数据库复制,所以我就猜测是用的数据库复制这种批量的方式,以我的浅显认知,就想出了这个思路来增加和删除需要复制的表,但是我又不知道这样是否可行,而且也不知道该执行哪些命令才能最终达到这个目的,所以请各位前辈高手能说的仔细点,假如想要达到这个目的需要什么样的命令,如果需要确认什么信息也请一起发出来,我执行后把结果发给你们,并且请各位前辈高手能给我解释下,越详细越好,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP