ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:43.01KB ,
资源ID:6217734      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6217734.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Informix数据库系统维护及双机HDR疑难问题详解解析.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Informix数据库系统维护及双机HDR疑难问题详解解析.docx

1、Informix数据库系统维护及双机HDR疑难问题详解解析Informix数据库疑难问题解答1、数据库日志模式问:一般informix做了双机,那么scp的数据库log用什么方式比较好啊?一种是直接用log,一种用buffer log。答:建议用unbuffered logging的方式,(你们称之为直接用log),可以用onmonitor来确认数据库的日志模式。事实上不论是双机还是单机,informix都推荐使用unbuffered logging,这样可以保证数据库的可用性。其他相关知识:-N No Logging 没有日志-U Unbuffered Logging 非缓冲日志-B Buf

2、fered Logging 缓冲日志-A Unbuffered Logging, Mode ANSI ANSI模式No Logging 没有日志 -“没有日志”模式只向逻辑日志写很少的信息,它只记录执行的DDL语句,这些语句影响到的行并不被写入日志中,只记录命令本身以及返回的代码。一个不带日志的数据库环境可以具有很高的吞吐率,但在发生严重的实例失败时没有能力重建对数据库的修改。写到磁盘上的修改才是可以得到的全部信息。对实例中不带日志数据库的恢复只能到最后一次创建的实例备份中进行。Unbuffered Logging 非缓冲日志 -使用“非缓冲日志”模式的数据库环境只要事务提交,就会将包含该事务

3、信息的物理日志和逻辑日志缓冲区刷新到磁盘上。 -使用非缓冲日志,即使出现严重的实例错误,数据完整性和一致性也可以在事务级得到保证。但是因为每一次提交事务都会导致缓冲区被刷新到磁盘上,所以增加了磁盘I/O。另外,因为刷新是按照当前事务的进度将整个缓冲区内容都写到逻辑日志中,所以逻辑日志的页面中会有很多没有用的数据。日志填充得很快,但其中包含的“真正”数据却比缓冲日志数据库环境少得多。Buffered Logging 缓冲日志 -使用“缓冲日志”模式的数据库环境将在逻辑日志和物理日志缓冲区中保留这些事务信息,直到该缓冲区填满,或者发生检查点操作,或者是当事务还没有被写往日志之前关闭了产生该事务的用

4、户连接。 -有这样一种情况可以强迫缓冲日志数据库写出它的事务信息:因为实例中只有一组逻辑日志缓冲区,当实例中的一个非缓冲日志数据库提交一个事务时,缓冲日志信息会随着非缓冲日志信息一起被写出到磁盘上。 -在“缓冲日志”数据库环境中,每个事务所造成的磁盘I/O大大降低,因此实例会运行得较快,但是因为事务信息存储在共享内存中,严重的实例错误就会很危险,当实例的共享内存被释放时,那些还没有写到磁盘上的事务信息就都丢失了。非缓冲日志模式和缓冲日志模式的操作方式完全相同,其不同点在于何时将日志记录写到磁盘上,Unbuffered Logging, Mode ANSI ANSI模式 - ANSI模式的操作与

5、非缓冲日志一样,但它还强制与ANSI事务处理方式一致。ANSI一致性包括这样一些特点和规则,如对引用表的唯一属主命名,表级权限的不同缺省值,游标读和更新能力的不同,以及character和decimal数据类型对数据类型越界或定义语句如何反应的不同。 OnLine Dymanic Server在ANSI数据库环境中并不严格强制遵从所有的ANSI标准,如果你执行一条非ANSI的SQL语句,实例会产生一条警告信息,但仍然往下处理。除非操作环境要求使用ANSI标准,否则使用ANSI模式不会得到任何好处。如何改变日志模式用onmonitor改变日志模式onmonitor - Logical-Logs

6、- Database用ontpae改变日志模式ontape s L 0 N cem2 将数据库”cem2”从-U,-B,-A其中一种模式改变到-N模式,创建0级备份ontape s L 0 U cem2 将数据库”cem2”从-N改变到-U模式,创建0级备份ontape s L 0 B cem2 将数据库”cem2”从-N改变到-B模式,创建0级备份ontape s L 0 A cem2 将数据库”cem2”从-N改变到-A模式,创建0级备份ontape工具在-U,-B,-A三种模式中任何一种改变到另一种不需创建系统备份;要完全从不带日志模式改成带日志模式,或者反过来,需要创建一个0级备份;用

7、ondblog改变日志模式:ondblog工具只是设置一个标志,表示在下次0级备份之后将数据库日志模式改成什么。ondblog工具的选项如下:nolog 将数据库改为不带日志模式unbuf 非缓冲日志buf 缓冲日志ansi ANSI日志模式cancel 取消前面作出的改变日志模式的请求附加选项:1.用空格相隔的一些数据库名,这些数据库的日志模式将被改变。2.f选项跟一个文件名,该文件中包含要改变日志模式的数据库名,这些数据库名在文件中单独列出,一个占一行。如果没有f加文件名,也没有列出用空格相隔的数据库名,ondblog工具在下一次0级备份之后将把实例中所有数据库都改成所要求的日志模式。 不

8、管是使用ontape工具,还是使用ondblog 和ontape的组合改变数据库的日志模式,该实例都不必处于quiescent状态,但是在试图改变日志模式的时候,不能有任何活动用户线索连接在该实例上。否则的话,就会产生一个”-107”号错误。 如果ontape命令已经执行来改变数据库的日志模式,而中途又将其中断,则就用户连接来说,该数据库仍然是关闭的,直到创建一个完全的实例备份为止,不管是否要改变日志模式。2、如何在HDR系统中修改参数配子文件(onconfig)?首先把主从数据库都宕下来然后分别修改,在重新启动数据库。注意:1)HDR中,主从数据库的参数一定要一致,否则就会出现启动或者同步等

9、各种问题,这个问题已经在安徽工程中得到证实。2)如果数据库已经因为修改参数出现问题,那么需要将以前的参数恢复过来,然后重新启动数据库,有时候需要重建HDR关系,根据具体情况看。3、在select的时候,where条件是不是有限制?在select的时候,where条件是不是有限制阿,就是条件不能大于18个?我这里报了这个错误Identifier too long - maximum length is 18?答:用where条件时一般没有什么限制,您说的这个报错是指对象名字所用的字符长度超出了限制,象索引名、表名、列名和数据库名等等,它们的识别名在7.31的版本里不得超过18个字符,在9版本的数

10、据库里面已经扩大到128字符了。4、关于INFORMIX的运行负荷进行度量的问题问:INFORMIX中有没有一些检查数值,可以用来对INFORMIX的运行负荷进行度量,尤其是数据的吞吐量和响应时间。答:关于性能的问题,有下面的方法可以试试看,有什么问题请反馈,希望把一些监控的信息放在反馈的附件中,便于分析问题,谢谢。常用的监控informix 的命令有:onstat -g glo onstat -g iof onstat -g iov 常用的监控操作系统的命令有:sar -d sar -u sar -qonstat的数据必须取一个时段的差值才有意义。在系统较忙时执行之。 比如取100秒进行分析

11、,那么 onstat -g glo ;sleep 100;onstat -g glo onstat -p;sleep 100;onstat -p 然后将前后两组参数对应相减,得到过去100系统使用情况。 比如:usercpu参数(用户使用cpu的时间,也就是cpu在过去100秒内共为用户提供服务的时间和)假设差值为75,syscpu20那么这意味着说明系统比较繁忙。相反如果usercpu20,syscpu0.79,说明系统就相对轻松多了。5、informix数据库主备切换的解决方法问题描述根据经验丰富的工程师多次实践,发现,在某些informix数据库版本的HDR结构中存在如下问题:在主机数据

12、库由于某些原因(宕机、关闭等)需要切换到原有的从机数据库的时候,原从机数据库变成主机数据库(OnlinePRI),同时使用onstat l的时候可以看到当前主机数据库中的一个逻辑日志状态变为“U-”,如下图所示:address number flags uniqid begin size used %used2057480a0 1 U-B- 14332 3061dd 25000 25000 100.002057480bc 2 U-C-L 14333 30c385 25000 16115 64.462057480d8 3 U-B- 14316 31252d 25000 25000 100.002

13、057480f4 4 U-B- 14317 3186d5 25000 25000 100.00205748110 5 U-B- 14318 31e87d 25000 25000 100.0020574812c 6 U-B- 14319 324a25 25000 25000 100.00205748148 7 U-B- 14320 32abcd 25000 25000 100.00205748164 8 U-B- 14321 330d75 25000 25000 100.00205748180 9 U-B- 14322 336f1d 25000 25000 100.0020574819c 10

14、U-B- 14323 33d0c5 25000 25000 100.002057481b8 11 U-B- 14324 34326d 25000 25000 100.002057481d4 12 U-B- 14325 349415 25000 25000 100.002057481f0 13 U-B- 14326 34f5bd 25000 25000 100.0020574820c 14 U-B- 14327 36de05 25000 25000 100.00205748228 15 U-B- 14328 361ab5 25000 25000 100.00205748244 16 U-B- 1

15、4329 300035 25000 25000 100.00205748260 17 U- 14330 355765 25000 1 0.0020574827c 18 U-B- 14331 35b90d 25000 25000 100.00问题分析该问题已经经informix售后技术支持确认并非informix的bug,而是在设计informix 数据库时将onconfig文件的Ltapedev设置的参数设置为/dev/null,即不起动备份逻辑日志的功能的问题。这样的设置是告诉informix该数据库系统不需要(手工)备份日志,于是系统会做假备份,使上面的视图中flags 一列显示为UB状态

16、(正常状态)。但是,事实上,这样的设置不论在单机还是是在HDR系统中都存在一定的问题。解决方案1(首推方案)从宕机时间和informix技术的角度,首推下面的测试操作方案(该方案在其他用户已经得到成功解决问题的验证): 1、中断HDR关系,并对原主机上的数据库进行系统0级备份; 2、将原主备机上数据库的配置文件中的LTAPEDEV由/dev/null改成非空的路径文件名; 3、如果系统不需要真正的逻辑日志备份,将2中所用的非空文件做一个链接指向/dev/null;否则该文件为真正的可读写的磁带设备路径或熟文件。 4、改动完成后重启数据库,并重新建立原主备机的HDR关系; 5、对主备机进行切换操

17、作,测试原问题是否存在,即确认当前日志是否会在切换到下一个日志后自动备份,而不会出现只是“U”,没有“B”的状态。另外,请测试当日志文件使用完后是否会自动变成U-B-状态,如果未变化手动执行ontape -a是否可以备份逻辑日志等。 注:A)若需要强行将当前使用的日志切换到下一个日志文件,可用onmode -l的命令,并配合onmode -c来 使用; B)请注意观察online.log日志中的记录有关逻辑日志使用和备份的内容; C)所有操作只需在当前的主机上进行。这种解决方案的优点是,宕机时间短,因为不需要对应用系统的重新编译,所以实施风险小。缺点是,按照上述方案测试成功后,需要每天给系统做

18、手工备份(使用ontape a命令),不过这个操作可以和数据库备份(如果每天对数据库做数据备份)合并在一起做。解决方案2升级数据库到对此类问题有所改善的版本,如果有其他数据库版本发现此类问题,还需要单独评价。这种方案的优点是,解决问题的手续简单(只需要升级数据库),缺点是对于新版本数据库带来的问题还不太确定,每个新的版本都会解决一些老问题,但同时不可避免得会有些新的问题,有些我们也许会碰到,有的也许应为应用的特殊性刚好不会碰到;另外,升级数据库后,需要对应用重新编译,由此带来的风险不能给出很好的评估。故障解决通常,单纯的解决在主机数据库由于某些原因(宕机、关闭等)需要切换到原有的从机数据库的时

19、候,原从机数据库变成主机数据库(OnlinePRI),同时使用onstat l的时候可以看到当前主机数据库中的一个逻辑日志状态变为“U-”的问题(在不发生其他问题的时候),我们可以使用下述方法,排除故障:1,在切换后的主机(原来的备机)上作0级备份,以备修复操作有问题时可以恢复数据库2,切到标准模式,即,使用命令onmode -d stand,这么做主要是为了切断HDR关系3,将切换后的主机(原来的备机)数据库的配置文件中的LTAPEDEV由/dev/null改成非空的路径文件名。4,设置LTAPEDEV参数时,如果系统不需要真正的逻辑日志备份,将3中所用的非空文件做一个链接指向/dev/nu

20、ll;否则该文件为真正的可读写的磁带设备路径或熟文件。5,改动完成后重启数据库,重新启动数据库,做逻辑日志的备份,ontape -a(该状态为UB)6,再down数据库,然后重起,做0级备份,重建HDR关系6、数据库(OnLine)的启动和关闭OnLine共有六种运行模式(Mode):Off-Line, Quiescent, On-Line, Read-Only, Recovery和Shutdown。Off-Line模式:表示OnLine没有运行。Quiescent模式:相当于UNIX操作系统的单用户状态,此时不能进行数据访问,只能进行备份、增删日志文件等管理活动。On-Line模式:表示 O

21、nLine处于正常工作(在线)状态,能够向用户提供数据访问服务。Read-Only模式:表示当前OnLine处于只读状态,当使用Informix的数据复制(Data Replication)功能时,从服务器(Secondary Server)会处于这种状态。Recovery模式:是一种短时间的临时状态。它发生在OnLine从Off-Line向Quiescent模式转移的过程中,在这种模式下,主要完成数据库的快速恢复。Shutdown模式:是一种短时间的临时状态。它发生在OnLine从On-Line向Quiescent模式或从On-Line(或Quiescent)向Off-Line模式转移的过程

22、中。最常用的模式转换命令有两个:从Off-Line模式到On-Line模式,即数据库的启动。Oninit从On-Line模式到Off-Line模式,即数据库的关闭。onmode -ky上面的选项y表示当仍有用户连在Server上时,不再要求确认,直接断开连接。完整的模式转换命令如下图所示:如果需要查询当前Server所处的 模式,可以用以下命令:onstat -如果当前Server处于Off-Line模式,会显示:shared memory not initialized for INFORMIXSERVER xxx在其它模式下,会显示出所处的模式,例如:INFORMIX-OnLine Ver

23、sion 7.24.FC5 - On-Line - Up 02:59:21 - 14040 Kbytes7、数据库(OnLine)的状态查询onstat通过读取OnLine的共享内存结构,来提供关于OnLine的各种统计信息。这些统计信息也可以通过直接访问sysmaster 数据库中的SMI(System Monitoring Interface)表来得到,但是用onstat命令更加直观,这也是Informix的一个优点。onstat命令的选项非常复杂,这里只介绍最常用的。onstat -列出onstat所有选项的简要说明。onstat i进入交互式状态,用命令q退出。onstat r 每隔重

24、复执行一次,直至用interrupt key(一般为C)强行中断。缺省为5。onstat 显示当前server的版本号、所处的模式、连续运行时间和共享内存的大小。onstat V显示当前server的版本信息和产品号。onstat c显示当前server启动时使用的配置文件内容。因为在server启动后,配置文件$ONCONFIG可能被修改,因此可能和这里显示的内容不同。onstat m显示消息日志文件online.log的最后20行。onstat u显示当前用户的情况。onstat d显示所有dbspace和chunk的基本情况。包括每个dbspace的名字、由哪些chunk组成、每个chu

25、nk的大小、可用空间、是否镜像等等。onstat b显示当前buffer区的使用情况。在该命令输出信息的最后,会有XXXX buffer size的字样,这就是OnLine中page的大小(即配置文件中BUFFERS参数的单位)。onstat p显示一些统计信息。如一共进行了多少次读写操作,cache的命中率,消耗的CPU资源等。onstat l查看逻辑日志和物理日志的大小,使用情况。8、数据库(OnLine)的空间管理Online初始化时,自动建立了一个名为rootdbs的dbspace。该rootdbs存储Online的管理信息,包括物理日志、逻辑日志等。当你建立一个数据库或表时,如果不指

26、定dbspace,作为缺省,该库或表建立在rootdbs中。所以,如果你想将库或表建立在某个dbspace中,则必须在SQL语句中指定dbspace名字。如数据库名为stores,我们将这个数据库建立在workdbsdbspace中,SQL语句如下:create database stores in workdbs; 另外,建chunk或dbspace时,要指定原始磁盘设备名路径,所需磁盘空间大小,以及该块磁盘空间在原始磁盘设备中的偏移量。其中,偏移量非常关键,要小心设置,否则容易造成chunk块之间空间上的重叠与覆盖。 例如:假定原始磁盘设备/informixdbs1有500M空间,其中ro

27、otdbs用去前100M,如果要在/informixdbs1中建立一个新的chunk,偏移量应大于100M。1) 用onspaces命令建立dbspace$onspaces -c -d dbspace名字 -p 磁盘设备 -o 偏移量 -s 尺寸 其中:-c: 表示建立新的dbspace-d: dbspace名字-p: 原始磁盘设备全路径名,如/informixdbs1-o: 偏移量,以K字节为单位-s: dbspace中第一个chunk 尺寸,以K字节为单位2) 用onspaces命令增加chunk$onspaces -a dbspace名字 -p 原始磁盘设备 -o 偏移量 -s 尺寸 其

28、中:-a: 表示为某个dbspace增加一个chunk, 后跟dbspace名字-p: 原始磁盘设备全路径名,如/informixdbs1-o: 偏移量,以K字节为单位-s: chunk的尺寸,以K字节为单位 例如某数据库系统,在原始磁盘设备/informixdbs1上建立三个DBSPACE:rootdbs:Online初始化时缺省建立,第一个chunk尺寸为100M, 偏移量为0;workdbs:存放应用数据库数据,第一个chunk尺寸为100M,偏移 量为100M;tmpdbs:存放系统临时文件数据,第一个chunk尺寸为50M,偏移量为200M;*tmpdbs必须在online初始化之前

29、建立;建立命令如下:$onspaces -c -d workdbs -p /informixdbs1 -o 100000 -s 100000;$onspaces -c -d tmpdbs -p /informixdbs1 -o 200000 -s 50000;9、数据库(OnLine)的日志管理数据库日志方式无日志方式(对应非事物性应用)无缓冲区日志方式带缓冲区日志方式符合ANSI标准日志方式可使用ontape命令修改数据库日志方式用ontape打开事务日志:$ontape -s -U stores; 打开数据库stores日志,日志方式为无缓冲区日志;用ontape结束日志:$ontape

30、-N lifeins; 将数据库lifeins改为无日志方式。 物理日志的管理物理日志保存数据被修改前的映象。物理日志的位置和大小可以改变。使用onparams命令改变物理日志的位置和大小,在Online进入静态方式后执行:$ onparams -p -s size -d dbspace -y其中 -p: 表示物理日志-s: 新的尺寸,后跟以K字节为单位的物理日志的大小-d: 说明存放物理日志的dbspace名字-y: 对所有的提问以“Yes”回答注意:分配给物理日志的空间必须是连续的,因此,改变之前要确认dbspace有足够的空间来存放物理日志。 逻辑日志的管理逻辑日志保存数据在修改后的映象,逻辑日志空间的尺寸为逻辑日志文件尺寸与逻辑日志文件个数的乘积。Online初始化后,已有逻辑日志文件的尺寸不可修改,要改变逻辑日志空间大小,只能修改逻辑日志文件个数,新增加的逻辑日志文件尺寸可以设为新的值,逻辑日志文件个数不得少于3个。(1)、 用onparams 增加逻辑日志文件$ onparams -a -d rootdbs新增加的逻辑文件状态是A(A表示新增加的意思)。必须建立rootdbs的0级备份后,新增加的逻辑日志文件才可使用。(2)、 增加一个具有新的尺寸的逻辑日志文件$onparams -a -d rootdbs -s新的日志尺

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1