服务器 频道

Sybase 数据库复制

  第三部分:复制服务器的运行维护

  因为复制服务器是实时在线复制系统,同时又涉及到主结点和复制结点的两个运行数据库,而且往往数据库处理的数据和信息量也很大,而复制服务器本身又是一种比较复杂的技术,所以复制服务器需要专门的高级数据库管理员(DBA)经常地进行高水平和高质量的维护工作,下面仅介绍一些基本的维护和管理知识,对于复杂的维护知识和技术,请大家参考SYBASE数据库随机参考手册《Replication Server Administration Guide》、《Replication Server Commands Reference》。

  一、 数据库复制系统的启动和关闭步骤:

  1、数据库复制系统启动顺序:

  (1)在主点数据库DB1主机 /database/sybase/install目录下执行

  db1% startserver-f RUN_SYSBASE1 启动SYBASE1 SQL Server

  (2) 在复制点数据库DB2主机 /database/sybase/install目录下执行

  db2% startserver-f RUN_SYBASE2 启动SYBASE2 SQL Server

  (3) 在复制服务器RS主机 /database/sybase/install目录下执行

  db2% startserver-f RUN_RSCC 启动RSCC复制服务器

  (4) 在复制服务器RS主机 /database/sybase/install目录下执行

  db2% startserver-f RUN_SYSBASE1_aicntmng_ltm 启动主点数据库LOG传输管理进程

  (5) 检查

  % ps -ef 可看到以上全部进程

  % showserver 可看到SQL Server进程 如SYBASE1 SYBASE2

  (6) 备份服务器: 只用于数据库备份,即dump和load时才用到。 可用Showserver看到。启动命令为:

  db1% startserver -f RUN_BACKUP1

  db2% startserver -f RUN_BACKUP2

  2、数据库复制系统关闭顺序: (与启动顺序相反)

  (1)。db2% isql -Usa -SSYBASE1_aicntmng_ltm

  1> shutdown

  2> go 关闭LTM进程

  (2)。db2% isql -Usa -SRSCC

  1> shutdown

  2> go 关闭复制服务器

  (3)。Db2 % isql -Usa -SSYBASE2

  1> shutdown SYB_BACKUP

  2> go

  1> shutdown

  2> go 关闭复制点数据库SQL服务器

  (4)。db1% isql -Usa -SSYBASE1

  1> shutdown SYB_BACKUP

  2> go 关闭BACKUP服务器

  1> Shutdown

  2> go 关闭主点数据库SQL服务器

  二、 监视复制服务器系统运行状态

  1、在RSCC上监视,用admin who 看所有进程是否正常,主要选项down、suspent、active和awaiting;admin health看连接状态;admin logical_status看逻辑连接方向;admin disk_space看稳定对列及空间占用率

  db1% isql -Usa -SRSCC

  1> admin health

  2> go

  正常状态为:

  Mode Quiesce Status

  NORMAL TRUE HEALTHY

  其中Status一定要为HEALTHY,出现SUSPECT请检查:

  1> admin who_is_down

  2> go 可查到哪个内部线程被挂起,这时,检查RSCC. Log文件.

  1>admin logical_status

  2>go 可检查逻辑连接方向是否正常。

  1>admin disk_space

  2>go 检查已经使用的稳定队列的磁盘空间情况。

  2. 在UNIX下,监视复制服务系统的log文件

  db1% /database/sysbase/install/RSCC.log 复制服务器的LOG文件

  more RSCC.log 检查ERROR

  和/database/sysbase/install/SYBASE1_aicntmng_ltm.log LTM的LOG文件

  db1% more SYBASE1_aicntmng_ltm.log 检查ERROR

  四、常见故障现象与解决方法

  1、复制服务器系统是一个自动运行系统, admin who看到有进程suspend时会自动挂起内部线程, 并在一定时间后自动重试。所以一旦出现问题log增长很快,一分钟内就会多次报错。如:在复制记录时,若发现有相同记录,就会在RSCC. Log文件中报错,并多次尝试复制,log文件快速增长,且阻塞后面排队等待复制的记录。因此,需要人工干预,才能使复制继续进行。假如可以跳过相同的记录复制,留待以后处理,就可首先解网络故障,再执行以下命令。

  isql -Usa -RSCC

  1> resume connection to SYBASE2. aicntmng skip transaction

  2> go

  过一段时间后, 检查SYBASE2. aicutmng是否正常

  1> admin who_is_down

  2> go 或

  1> admin health

  2> go

  2、admin disk_space时队列长时间塞满(2小时以上),是由于 稳定对列空间不足,log塞满空间,稳定对列被塞死,原因是主点DB一次执行了大数据量事务或由于网络终断,复制点出问题,导致多次log在稳定对列中引起阻塞。

  解决:增加稳定对列。或停止复制连接,再重配RS,以清空对列。

  3、复制点CPU占用率一直在100%(时间长达24小时以上),稳定对列中有数据(在复制完成后,稳定对列是自动清空的)这一般是由于复制点资源被耗尽(log、mem、?)

  解决:可检查复制点机器资源,增加相应资源。重起RDS。

  4、主点DB删不掉log,稳定对列空间占满

  由于稳定对列塞死,无法从PDB log中读取log,而为保证一致性,未读入稳定对列的log就无法删除。

  解决:检查稳定对列为何塞死,解决相应问题。应急措施可增加稳定对列空间,删掉主点部分log使主点可继续工作,再解决RS系统上问题,如没空间可增加,先去掉复制:isql -Usa -SSYBASE1

  1> dbcc setturnc (ltm、ignore)

  2> go

  解决问题后需重新设置RS系统。

  【参考文献】

  1、《Replication Server Adminstration Guide》,SYBASE 11.03 随机手册。

  2、《Replication Server Commands Reference》,SYBASE 11.03随机手册。

  3、SYBASE公司相关的数据库复制资料。

  4、SYBASE公司数据库复制的实现培训内资料。

0
相关文章