Informix TRAIN 文档详解(4)
来源:互联网 作者:2 出处:综艺读书 2006-11-17五、数据库服务器系统的安全机制
在一个运行的数据库服务器系统中,有可能会出现以下三种数据库服务器系统故障:
1.由于主机服务器的非正常停机,例如断电等,而导致的数据库服务器系统异常;
|
|
|||
2.由于主机服务器系统的存放数据磁盘故障,而导致的数据库服务器系统异常;
3.由于主机服务器的关键部件故障,而导致的数据库服务器系统异常。
对于以上三种数据库服务器系统异常,OnLine采用如下四种方案来实现数据库服务器系统高可靠性:
1.快速数据恢复机制使得主机服务器在非正常停机后的重启时,将未提交的事务滚回,以恢复停机前的数据一致性;
2.数据库空间镜像机制使得主机服务器在存放数据一个磁盘发生故障时,能借助镜像数据空间继续工作,数据库系统管理员可以在适当的时候去恢复故障的磁盘;
3.远程数据复制机制将一个主机服务器上数据库系统复制到远地的备份服务器上,当本主机服务器故障时,数据库服务器系统借助远地的备份服务器继续工作;
4.增量数据备份,使得数据库系统管理员可以在监控和联机状态下进行三个等级的数据备份。当系统需要使用磁带数据备份恢复时,快速而有效。OnLine动态服务器7.1不但支持数据库系统的冷恢复,还支持数据库系统管理员的热恢复,即允许数据库管理员在联机状态下,恢复损坏的数据库空间。
远程数据复制
镜像数据存储块是数据库服务器系统的高可用性的一种方案。OnLine动态服务器7.1为数据库系统提供的另一种高可用性方案是远程数据复制。通过网络连接起来的计算机系统的互为备份来提高数据库服务器系统的可用性。
在这两个数据库服务器系统中,主数据库服务器PriamryServer可以接受数据的读写操作,例如select、insert、update和delete,而备份数据库服务器SecondServer仅可以接受读的操作,例如select。通常有主数据库服务器来承担企业事务处理的操作和批量数据修改的操作,备份数库据服务器承担企业内部的决策支持作业。为了提高主机服务器的利用率,可以在这两个主机服务器上分别建两个数据库服务器系统,使得一台主机服务器在作备份数据库服务器的同时作主数据库服务器,或者在作主数据库服务器的同时作备份数据库服务器。两个数据库服务器必须通过TCP/IP网络协议来联接,两台数据库服务器可以在同一个局域网上也可以在广域网上,两台数据库服务器的底层可以用多种物理方法互联,例如以太网、X.25网等等。
数据复制的原理是,当一个事务操作在主数据库服务器上进行的时候,将数据变化的轨迹从数据库服务器系统的逻辑日志缓冲区(Log.LogBuf)中复制到复制缓冲区(DataReplicationBuffer,DRBuf)中,然后通过计算机网络送到远地的备份数据库服务器的逻辑日志缓冲区中,再由备份数据库服务器对其操作,写入备份数据库服务器的数据库系统中。因此数据复制机制的前提是这两个数据库必须带有日志。平时,主数据库服务器处于online状态,而备份数据库服务器则处于readonly状态。当主数据库服务器非正常关闭时,备份数据库服务器进入online状态。
两个数据库服务器系统的数据库空间组织、数据存储块结构、大小以及数据库日志必须完全一致。由于两台主机服务器的硬件结构可能不一,因此在数据库服务器系统定义时,请不要直接使用设备名。在建立数据库服务器系统时,将磁盘设备名联接到一个别名上,如#ln-s/dev/rdsk/1s0online1
这样可使两台数据库服务器具有相同数据库空间名和数据存储块名。
两个数据库服务器系统的切换分手动(MANUAL)和自动(AUTO)两种方式,而自动切换又分保留方式(RETAINTYPE)和对换方式(REVERSETYPE)。手动切换方式当主数据库服务器关闭以后需要数据库管理员启动备份数据库服务器,使之进入online状态;自动切换方式当主数据库服务器关闭以后,备份数据库服务器会自动进入online状态,当主数据库服务器系统恢复后,如果我们采用保留方式,那么备份数据库服务器通过Shutdown状态回到Readonly状态,主数据库服务器启动后进入Online状态,两个数据库服务器系统的责能不变;如果我们采用对换方式,那么备份数据库服务器保持Online状态不变,主数据库服务器启动后进入Readonly状态,相当于原备份数据库服务器上升为主数据库服务器,而原主数据库服务器降级为备份数据库服务器,两个数据库服务器的责能对换。可以看到,手动方式需要管理员的控制才能切换,所以它不会因网络的不稳定而错误切换;自动方式不需要管理员干预切换,如果主数据库服务器系统应答超时太小,可能会引起备份数据库服务器错误地进入Online状态,因此那些预想的当主数据库服务器系统非正常关闭时,要求备份数据库服务器零时间(极短时间)等待启动在实际意义上是不可行的,通常数据库服务器系统的应答超时可为15秒至60秒。对自动方式的系统,当主数据库服务器系统恢复后,采用保留方式时,备份数据库服务器需要经过Shutdown状态才能进入Readonly状态,当有大量联机用户工作时,这个状态的时间也许是比较常的;而采用对换方式时,备份数据库服务器系统保持Online状态不变,原主数据库服务器启动以后进入Readonly状态,因此相对于保留方式,它对联机用户操作的影响较小。
建立数据库复制系统的步骤是:
首先使用ln命令分别在两台主机服务器建立完全相同的数据存储块名;
第二在Quiescant状态下对主数据库服务器系统作0级数据备份和逻辑日志备份;
第三将主数据库服务器系统定义为Primary并使之进入Online状态;
第四将主数据库服务器系统的0级数据备份用冷恢复到备份数据库服务器上;
第五经备份数据库服务器定义为Secondary;
第六将主数据库服务器系统的逻辑日志备份恢复到备份数据库服务器上并使之进入Readonly状态。
下面我通过一个例子来说明数据库服务器复制系统的建立过程。
主数据库服务器和备份数据库服务器都建立在SCOUNIX3.2.4.2的操作系统环境上,它们分别名为server_A和server_B,它们的号分别为101和102。
第一步:建立数据库服务器,有三个数据库空间,它们是rootdbs、workdbs和logdbs,分别用于存放数据库系统的描述信息、用户数据和数据库日志。每个数据库空间都只对应于一个数据存储块,它们所对应的磁盘都分别被联接到别名rootchuck1、workchuck1和logchuck1。将两个数据库服务器系统关闭。在设定DATAREPLICATION的屏幕中,将Interval设置为15秒,表示每15秒钟将主数据库服务器系统的数据传输至备份数据库服务器,将Timeout设置为15秒,表示应答时间大于15秒钟时,备份数据库服务器系统进入OnLine状态,同时将Auto设置为1,表示自动切换并取保留方式。
DATAREPLICATION:MakedesiredchangesandpressESCtorecordchanges.
PressInterrupttoabortchanges.PressF2orCTRL-Fforfield-levelhelp.
DATAREPLICATIONPARAMETERS
Interval[15]
Timeout[15]
Auto[1]
Lost&Found[/usr/informix/etc/dr.lostfound]
第二步:启动主数据库服务器server_A,使之进入Quiescent状态。然后用ontape-s和ontape-a作0级数据备份和逻辑日志备份,逻辑日志备份时当前的逻辑日志文件也要备份。
第三步:用onmode-dprimaryserver_B设置该数据库服务器为server_B的主数据库服务器,然后使用命令onmode-m使server_A进入OnLine状态。
第四步:将0级备份磁盘装入备份数据库服务器的驱动器中,用ontape-p命令将备份恢复到备份数据库服务器上,当数据库服务器提示是否备份逻辑日志时,回答N。
第五步:用onmode-dsercondaryserver_A设置该数据库服务器为server_A的备份数据库服务器。
第六步:将逻辑日志备份磁盘插入备份数据库服务器的驱动器中,用命令ontape-l来滚回0级数据备份以后的数据操作。全部操作结束后,备份数据库服务器便进入Readonly状态。
接下来我们验证所做的数据库复制系统。取两台终端,1号终端登录server_A,2号终端登录server_B。
第七步:在1号终端上使用命令dbaccessdemo7-log建立演示数据库stores7。在2号终端上,在dbaccess中选择Database菜单,反复选择Select项,在15秒钟以后,屏幕上将出现stores7的数据库名字。
第八步:在1号终端上,在dbaccess中选择QueryLanguage菜单中的New项,输入
insertintocustomer(fname,lname)values("AA","BB");
然后再按ESC键,退出SQL的编辑状态。在2号终端上,也在dbaccess中选择QueryLanguage菜单中的New项,输入
selectcount(*)fromcustomerwherefname="AA"andlname="BB" 。然后再按ESC键,退出SQL的编辑状态。
我们在1号终端上,按两下R,然后在2号终端上反复地按R,大约15秒钟,2号终端的屏幕会显示出计数为2。
第九步:在1号终端上,退出dbaccess,然后输入命令onmode-ky,关闭主数据库服务器系统。在2号终端上,我们现按!,然后输入onstat-ur,我们将先看到数据库服务器的状态为Readonly,然后变成Recovery,最后变成Online,这时我们按DEL键。我们再次选择New,输入命令:insertintocustomer(fname,lname)values("CC","DD")
然后再按ESC键,退出SQL编辑状态,按三次R,接着我们退出dbaccess。在命令行输入命令onstat-ur。
现在我们在1号终端上输入命令oninit和onstat-ur。1号终端上马上显示数据库服务器系统为Fastrecovery。这时2号终端上显示数据库服务器系统的状态变为Shutdown。几分钟后,1号终端上显示上显示主数据库服务器系统的状态回到Online,而2号终端上则显示备份数据库服务器系统的状态回到原先的Readonly。
第十步:我们在1号终端上,再次进入dbaccess,选择QueryLanguage中的New项,输入 selectfname,lnamefromcustomerwherefname="CC" 运行该语句。终端屏幕上将显示出数据“CC”和“DD”。
至此我们的例子做完了。当关闭数据库服务器复制系统时,我们应该先备份数据库服务器后主数据库服务器。而启动时则应先主数据库服务器后备份数据库服务器。
·开发优质高效的Informix数据库应用程序(4) 11-17
·开发优质高效的Informix数据库应用程序(3) 11-17
·开发优质高效的Informix数据库应用程序(2) 11-17
·Informix TRAIN 文档详解(5) 11-17
·Informix TRAIN 文档详解(4) 11-17
·Informix TRAIN 文档详解(3) 11-17
·Informix TRAIN 文档详解(2) 11-17
·Informix的监控和管理命令(2) 11-17
·Informix 5的安装及初始配置(2) 11-17
|
|||
| ·ACDSEE专题教程-下载使用 ·迅雷专题教程-下载使用 ·Windows XP频道 ·Windows Vista频道 ·Windows 2000频道 ·win2003频道 ·Freebsd频道 ·Oracle频道 |
·Linux频道 ·Windows频道 ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·Linux基础知识 |
||
| · 秘密:Vista隐蔽的动态屏保 · 腾讯开发新电子宠物--QQ熊 · 惠普否认2999元PC有价无货 |
· 驱逐Win系统“流氓”文件 · WinXP中获取未使用的IP地址 · 尝试format C:格式化硬盘? |
| · 在DOS下恢复回收站中的文件 · 拯救WinXP崩溃的救命稻草 · Linux系统中超级权限的应用 |
· 搜狗PK谷歌:谁能代言拼... · 昨日重现,一键GHOST轻松.. · 实现Web迅雷在空闲时杀毒 |
| · AVIFile函数制做AVI文件 · VC中链接动态链接库的方法 · 熊猫烧香核心源码(Delphi) |
· DateDiff函数祥解 · JavaScript去除空格的三种 · js效果 图片加载进度实时.. |
| · SQL Server数据库优化方案 · Oracle的初学者入门心得 · JSP连接Mysql数据库 |
· Photoshop为美女做艺术处理 · 用Freehand创建发光字特效 · 设计自己的个性QQ动态表情 |




