INFORMIX技术指南与支持
INFORMIX技术指南与支持
目录
1.怎样尽快获得INFORMIX公司技术支持? (3)
2.怎样正确安装INFORMIX数据库产品? (3)
3. ONLINE不能追加汉字怎么办? (5)
4.系统管理方面每天应该进行哪些工作? (5)
5.平时定期和不定期做的工作有哪些? (6)
6.系统使用哪些备份方式? (6)
https://www.360docs.net/doc/e012713071.html,RMIX数据库零(一、二)级备份和逻辑日志的备份的关系是怎样的? (7)
8.如何进行数据库系统的备份?有那些注意事项? (7)
9.如何用dbexport工具将数据卸成文本,并装载到其它服务器上? (8)
10.如何在不破坏库本身信息情况下(如行级锁等)将数据库卸载到磁带设备,并装载在其它服务器上? (8)
11. INFORMIX采用哪些日志备份方式?有哪些注意事项? (9)
https://www.360docs.net/doc/e012713071.html,RMIX数据库配置信息如何归档? (10)
13.什么时候归档数据库配置信息? (11)
14.如何使用UPDATE STATISTICS命令优化数据库 (11)
15.当出现系统性能问题时要从哪些方面考虑? (11)
16.如何简单判断共享内存的BUFFER参数是否合理? (11)
17.批处理时系统Check-Point时间很长,怎么办? (12)
18.如何观察共享内存的使用情况 (12)
19.如何检查数据库运行状态是否正常? (13)
20.如何检查DBSP ACE的使用情况? (13)
21.数据库的消息日志文件包含什么内容?怎样观察? (14)
22.出现故障保留哪些现场信息? (15)
23.如何做整个系统的恢复? (15)
24.如何使用逻辑日志备份作系统恢复? (17)
25.数据库运行实体是Network Down,该怎样解决? (17)
26.数据库中有些数据可以看得到但无法删除,怎么办? (17)
27.产品安装时出现32776错怎么办? (18)
28.安装产品时rootdbs上的逻辑日志无法删除怎么办?(如何增加逻辑日志?如何删除逻辑日志?) (18)
29.如何解决长事务问题? (18)
30.系统处于On-Line状态,但执行Create、Update、Delete命令没有反馈怎么办? (19)
31.启动系统时提示could not load library ../libsqlshr.a怎么办? (19)
32.数据库服务器提示-271错误如何处理? (19)
33.如何改变物理日志的大小和位置? (20)
34.如何作INFORMIX数据分片? (20)
35.系统中包含那几类常见的错误号或返回码? (20)
36.如何得到错误号?如何查询错误号? (21)
https://www.360docs.net/doc/e012713071.html,RMIX常见错误号有哪些,碰到这些错误号该如何处理? (21)
1. 怎样尽快获得INFORMIX公司技术支持?
客户在遇到问题,希望寻求INFORMIX公司技术支持的同时,要做好两件事情,第一,可能保留故障现场,设置好调制解调器,请求INFORMIX响应中心远程登录诊断;第二,收集必要的信息。
需要收集的信息有:
(1)单位名称及联络方法,包括电话、传真及联络人。
(2)问题的描述,包括
?故障现场信息
?控制台信息
?应用程序的故障描述
?Online Message Log里的错误信息,例如
13:49:07 listener-thread:err = -952:User?s password is not correct for the
database server.
(3)硬件平台、操作系统及详细版本号,如:
?硬件平台:HP9000/800 K250 4CPU
?操作系统:HP-UX B10.20
(4)INFORMIX产品版本号、系列号
?Online:7.12.UC1 AAB#J123456
?ESQL/C:7.12.UC1 AAB#Jxxxxxx
(5) 相应的环境变量信息, 如.profile的内容或env命令的结果。
(6)$ONCONFIG配置文件,$INFORMIXDIR/etc/$ONCONFIG文件。
(7)Online还有响应时收集onstat -g all及onstat -a的结果,Online没有响应时收集oncheck -pr的输出结果。
INFORMIX公司响应中心的联络方法:
?联络电话;010-********转响应中心,800-810-4369(IFMX)。
传真电话:010-********转响应中心。
?工作时间内,周一至周五9:00~6:00,任何售后技术问题都可以打电话找响应中心
咨询或远程登录诊断。
?非工作时间,包括节假日及下班后,紧急问题可以寻求INFORMIX响应中心帮
助解决,包括电话咨询和登录诊断。
?如果需要INFORMIX工程师远程拨号访问,用户需签署“拨号访问和保密协议”,
授权INFORMIX进入用户系统,同时提供正确设置的Modem参数及发生故障
系统的informix账号的口令。
2 怎样正确安装INFORMIX数据库产品?
INFORMIX产品需严格按照如下步骤进行安装:
1)用root注册,建立informix组和用户,账号和用户号大于100
2)创建一个informix目录,将宿主和用户组改为informix,例如:
mkdir /home/informix
chown informix /home/informix
chgrp informix /home/informix
设置必要的环境变量:
export INFORMIXDIR=/home/informix
3)cd $INFORMIXDIR,按照INFORMIX UNIX产品安装手册中要求的次序,依次执行安装步骤。
?产品安装次序原则上是:
第一应用开发工具如4GL、ISQL,低版本到高版本;
第二SQL API产品如ESQL/C、ESQL/COBOL、CLI,低版本到高版本;
第三数据库服务器产品(ONLINE、SE);
第四其它附加产品如语言支持等。
?拷贝文件。
a.如果产品介质是CD-ROM,需将该CD Mount到一个合适的目录下,然后
按产品授权许可证上的命令复制产品文件,如:
mount /dev/cd0 /mnt
tar xvf /mnt/ONLINE.TAR或cpio -icvdumB < /mnt/ONLINE.CPI
b.如果产品介质是磁带或软盘,将介质插入软驱或磁带机,然后按产品授
权许可证上的命令复制产品文件,如:
tar xvf /dev/rmt/0m或cpio –icvdumB < /dev/rmt/0m
?执行相应安装命令,例如
./installonline
?按照提示输入系列号和关键字
4) 调整内核参数。根据$INFORMIXDIR/release/ONLINE_7.1中的建议值,调整操作系统
内核参数,调整后一般需要重新启动系统。
5)用informix用户注册,修改.profile文件,一般增加如下几项:(Bourne shell为例)
?export INFORMIXDIR=/usr/informix
?export PATH=$INFORMIXDIR/bin:$PATH
?export INFORMIXSERVER=clearing
?export ONCONFIG=onconfig.clr
?如果ONLINE是7.2以上版本,需再加上以下三个环境变量
export DB_LOCALE=zh_CN.gb
export CLIENT_LOCALE=zh_CN.gb
export SERVER_LOCALE=zh_CN.gb
6) 划分磁盘空间,做ONLINE配置的准备工作。ONLINE的数据空间DBSPACE是以
CHUNK为单位增加的,需要特别注意的是每个CHUNK的大小不能超过2GB。
如果使用cooked file,采用以下步骤:
a.cat /dev/null > chunk1
b.chmod 660 chunk1
c.chown informix chunk1
d.chgrp informix chunk1
如果使用raw device,采用以下步骤:
a.使用系统工具建立一个没有mount上的生设备,可以是分区或逻辑卷,并链结成另
一个名字如rchunk1_link。
b.chmod 660 rchunk1_link
c.chown informix rchunk1_link
d.chgrp informix rchunk1_link
7)编辑$INFORMIX/etc/sqlhosts文件,格式大致如下:
demo_on onipcshm on_hostmame on_servername #ONLINE
demo_se seipcpip se_hostname sqlexec #for SE
如果使用网络配置,还需编辑/etc/services、/etc/hosts文件
8)运行onmonitor配置和初始化ONLINE。
Onmonitor ---〉Parameters ---〉Initialize ---〉按菜单提示逐个填写,然后初始化ONLINE 及磁盘空间。
3ONLINE不能追加汉字怎么办?
Online在5版本时可以存储任何字符串,包括所有中文字符串与英文字符串,不加任何限制,不需安装其它附加产品,不必设置其它环境变量。
Online在7.2版以前遵从X/Open的NLS(Native Language Support)的标准支持中文(XPG3规范),不必安装附加语言支持产品。这是一种单字节的支持方式,前提是操作系统也要支持NLS,换句话说,Online是基于操作系统支持中文的。一般设置操作系统环境变量LANG 之后,重新启动Online后,原来的数据库即可处理中文,有时也要设DBNLS环境变量。不同的操作系统的LANG的设置方法一般不同,下面列出HP和SCO上的设法:SCO UNIX:export LANG = english_us.8859
HP-UX:export LANG = en_US.iso88591
ONLINE在7.2以上版本采用GLS(Global Language Support)的方式支持中文,GLS是基于X/Open的XPG4规范之上开发的,这是一种多字节的全球语言支持方式。在安装完Online 之后,必须正确安装Informix - Language Supplement ZHCN产品,并设置适当的环境变量,然后启动ONLINE,重新建立数据库,才可处理汉字。方法如下:
1)按照INFORMIX产品安装方法,最后安装Informix Language Supplement ZHCN。
2)一般设置下面三个环境变量:
export DB_LOCALE=zh_CN.gb
export CLIENT_LOCALE=zh_CN.gb
export SERVER_LOCALE=zh_CN.gb
除了这三个环境变量之外,DBLANG=en_us.8859-1可以指定Informix产品内部使用英文。
3)正常启动ONLINE。
4)重新建立数据库。
4系统管理方面每天应该进行哪些工作?
1)数据库系统备份
每天要进行数据库系统的零级备份和逻辑日志的连续或自动备份。
2)数据库系统状态监测
?监测控制台上出现的有关数据库系统的一些信息,如逻辑日志满等。
?监测数据库系统Message Log(一般为online.log文件)文件中有否异常信息。
?监测数据库系统DBSPACES使用情况。
3)必要的清理
?日志文件的清理:数据库系统由ONCONFIG中MSGPATH指定的Message Log
文件,备份后,如没有发现异常,可以清理掉。
?临时文件的清理:
a.有ONCONFIG中DUMDIR指定的目录如/tmp下包含的一些数据库服务器产
生的临时文件:
af.xxx
gcore
shmem.xxx
b.产生在/tmp目录下的临时文件:
VP.servername.nnC
buildsmi.xxx
.inf.servername
oncatlgr.out.pidnum
5平时定期和不定期做的工作有哪些?
?数据库系统配置文件的归档
?数据库系统性能的监测
?数据库系统资源的监测
6系统使用哪些备份方式
使用系统零级备份和文本备份。
使用INFORMIX ontape备份工具做数据库系统的零级备份,该工具具有以下特性:
?系统一级的备份
?增量备份
?系统备份与逻辑日志备份设备分离
?逻辑日志的自动或连续备份
?系统级或DBSPACE级的恢复
使用INFORMIX dbexport工具作文本备份,该工具具有以下一些功能:
?将整个数据库卸成文本文件(文本备份或转移)
?将数据库中的数据或数据库的描述卸到磁盘或磁带
?将数据库的数据卸到磁带,同时将数据库结构的描述卸到磁带
通过dbimport工具可以将由dbexport卸出的内容装入其它服务器。
7INFORMIX数据库零(一、二)级备份和逻辑日志的备份的关系是怎样的?
1)系统的零(一、二)级备份,是数据库系统一级的备份,它备份的是数据库系统的结构和数据,是备份那一时刻数据库系统的状态,其中包含备份时刻的当前逻辑日志的内容和状态。
2)逻辑日志记录的是所有对库增、删、改的动作,是对数据库操作的逻辑记录。
3)利用数据库系统的零、一、二级备份可以在需要时将系统恢复到备份那一时刻的状态,随后可以再利用逻辑日志的备份将系统恢复到系统最后时刻的一致状态。
8如何进行数据库系统的备份?有那些注意事项?
INFORMIX数据库系统备份采用ontape为备份工具,分零级备份、一级备份和二级备份。零级备份是对整个系统的备份;一级备份是对系统在零级备份基础上的增量备份;二级备份则是在一级备份基础上对系统的备份。三种备份的步骤类似,以零级备份为例,过程如下:?将用于作0级备份的磁带插入指定的磁带机。
?以informix用户注册,执行如下命令:
$ontape -s
Please enter the level of archive to be performed(0,1,or2)
输入0,按回车键
Please mount tape 1 on /dev/rmt/0m and press Return to continue.
确认磁带已准备好,按回车键
percent done
percent done
…
percent done
Please label this tape as number 1 in the arc tape sequence.
This tape contains the following logical logs:
Program over
如果一盘磁带无法备完所有数据,则可能出现如下情况:
percent done
Tape is full…
Please label this tape as number 1 in the arc tape sequence.
This tape contains the following logical logs:
Please mount tape 2 on /dev/rmt0 and press Return to continue…
这时请放好第二盘磁带,否则系统会提示
warming: previous tape is still mounted!
Please mount tape 2 on/dev/rmt0 and press Retum to continue…
Percent done
Please label this tape as number 2 in the arc tape sequence.
Program over.
则改磁带包含了零级备份与以前的逻辑日志。
?请正确标记号此盘磁带,并请妥善保存。
作零级备份需注意如下一些事情:
?在备份之前,确信已将$INFORMIXDIR/etc/onconfig.clr文件中的数据库备份设备设
置成用以作0级备份的磁带设备,并设置正确的块尺寸(TAPEBLK)与磁带容量(TAPESIZE):
TAPEDEV /dev/rmt/0m
TAPEBLK 512 (K)
TAPESIZE 2048000 (K)
?确认磁带机与磁带完好可用
?注意不要覆盖仍然有用的备份磁带
9如何用dbexport工具将数据卸成文本,并装载到其它服务器上?
(1)卸载文本的步骤如下:
?用informix用户注册
?dbexport cleardb -o WORKDIR -ss
?当系统提示dbexport completed!数据卸载完毕。
其中:
-ss确保数据库的建库信息或建表信息被保留如日志模式、初始extent尺寸、lock mode、表所在dbspace等。
-o指定存放卸载数据的目录数据存放在目录cleardb.exp目录下,其中包含cleardb.sql和形如*.unl的文件,提示信息存放在dbexport.out文件中。
(2)装载文本的步骤如下:
?用informix用户注册确保数据库处于On_Line状态,服务器上没有同名数据库。
?dbimport cleardb -i WORKDIR。当系统dbimport completed!提示数据装载完
毕。
其中:
-i 指定从何处装载。
10如何在不破坏库本身信息情况下(如行级锁等)将数据库卸载到磁带设备,并装载在其它服务器上?
1)卸载的步骤如下:
?用DBA用户注册
?将存放数据的磁带插入磁带机,确认磁带及磁带机完好可用。
?dbexport cleardb –t /dev/rmt/0m -b 512k -s 2048000k -ss
当系统提示dbexport completed!数据卸载完毕。
其中:
-ss 确保数据库的建库信息或建表信息被保留如日志模式,初始extent尺寸,lockmode,表所在dbspace
-t 磁带设备/dev/rmt/0m
-s 磁带容量2G
-b 块大小512KB
提示信息存放在dbexport.out文件中
2)装载的步骤如下:
?用DBA用户注册
?将存放卸载数据的磁带放在磁带机上,确认磁带机正常,确认数据库系统处于
On_Line状态,服务器上没有同名数据库。
?$ dbimport cleardb –t /dev/rmt/0m –b 512k –s 2048000k
?当系统dbimport completed 提示数据装载完毕!提示信息存放在dbimport.out文
件中。
11 INFORMIX采用哪些日志备份方式?由那些注意事项?
逻辑日志有两种备份方式:自动备份和逻辑备份。
1)逻辑日志自动备份步骤如下:
?将用于作逻辑日志的磁带插入指定的磁带机
?以DBA注册
?执行如下命令
$ontape –a
Performing automatic backup of logical logs.
Please mount tape 1 on /dev/rmt/1m and press Return to continue
确信磁带已准备好,按回车键
Do you want to back up the current logical log?(y/n)y
输入y,按回车键
Please label this tape as number 1 in the log tape sequence.
This tape contains the following logical logs:
- 22
Program over
?请正确标记好备份磁带及包含的逻辑日志号如21-22,并请妥善保存。
2)逻辑日志连续备份步骤如下:
?将用于作逻辑日志备份的磁带插入指定的磁带机
?以informix注册
?执行如下命令
$ontape –c
Performing continuous backup of logical logs.
Please mount tape 1 on /dev/rmt/1m and press Return to continue…
确信磁带已准备好,按回车键
如果想停止备份按CTRL+C:
Interrupt received…
This tape contains the following logical logs:
- 30
(OR This tape contains no log data)
Program over.
?请正确标记好此盘磁带,并请妥善保存。
3)作逻辑日志备份需注意如下一些事项:
?在备份之前,确信已将$INFORMIXDIR/etc/$ONCONFIG文件中的逻辑日志备份
设备设置成用以备份逻辑日志的磁带设备(可能与系统备份为同一设备),并设置
正确的尺寸(LTAPEBLK)与磁带容量(LTAPESIZE),如:
LTAPEDEV /dev/rmt/1m
LTAPEBLK 512 (K)
LTAPESIZE 204800 (K)
?确保磁带机与磁带完好可用
?逻辑日志与系统备份配合使用,确保系统中包含的逻辑日志的编号与逻辑日志备份
带中的编号是连续的。
12INFORMIX数据库配置信息如何归档?
1)数据库系统的配置信息包括以下一些内容:
?数据库配置文件:$INFORMIXDIR/etc/$ONCONFIG
?网络配置方式文件:sqlhosts
?磁盘空间的划分:onstat –d执行结果
?数据库运行环境变量:.profile或env的结果
2)可采用如下方法备份配置信息:
数据库配置文件和网络配置方式文件在$INFORIXDIR/etc目录下,磁盘空间划分可通过作此盘划分时的记录得到,或通过命令onstat –d得到;数据库运行环境变量可查看$INFORMIXDIR/.profile文件或通过env命令查得。
?用informix或同组用户注册
?将onstat -d运行结果定向到dbspaces_clr
$onstat –d > dbspaces_clr
?$tar cvf <设备名>
$INFORMIXDIR/etc/$ONCONFIG
$INFORMIXDIR/etc/sqlhosts
$INFORMIXDIR/dbspaces_clr
$INFORMIXDIR/.profile
?将以上备份的内容同时打印成文件归档
?记录备份的日期和相关信息
13什么时候归档数据库配置信息?
1)数据库第一次正常运行后,备份配置信息。
2)数据库系统的配置信息发生改变时需要归档数据库配置信息。
?配置文件$ONCONFIG内容改变如NUMCPUVPS由4改为3,LOCKS由30000
改为100000等。
?网络配置文件sqlhosts信息改变时,如主机名改变。
?增加DBSPACES和CHUNKS
?环境变量改变,如增加DBDATE=Y2MD/
14如何使用UPDATE STATISTICS命令优化数据库
数据库系统内部存在一系列系统表,其中一部分存储数据分布统计值,当每天或每周或由大量数据更新操作后,这些统计值已经过时,需要及时更新,Update Statistics就是用于指示数据库服务器执行更新任务。该任务应该在业务已全部作完时运行。
UPDATE STATISTICS操作如下:
?用informix用户注册
?dbaccess→Query-Language→SelectDatabase→相应的数据库→New→键
入”Update Statistics”
?ESC→Run (该命令需要一些时间)
15当出现系统性能问题时要从哪些方面考虑?
系统运行效率是多个方面决定的,当出现效率低时,可以从以下几个方面考虑:
?调整数据库配置参数
?运行UPDATE STATISTICS
?优化数据库设计如INDEX,FRAGMENTATION等
?优化应用程序
?提高硬件配置
16如何简单判断共享内存的BUFFER参数是否合理?
?用informix用户注册
$onstat -p
RSAM Version 7.12.UC1 --On-Line-- Up 01:30:32 -- 10680 Kbytes
Profile
dskreads pagreads buferads %cached dskwrits bufwrits %cached
95 1211 93.64 7 7 2 2 0.00
isamtot open start read write rewrite delete commit rollbk
84 114 436 0 0 0 0
ovtbls ovlock ovuserthread ovbuff usercpu syscpu numckpts flushes
0 0 0 0 8.91 6.21 1 36
bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
0 2530 0 0 0 0 7
ixda-RA idx-RA da-RA RA-pgsused lchreqs lchwaits
0 0 0 10 42624 41
?观察bufreads %cached和bufwrits %cached值,如前者小于95%,后者小于85%,
则需要考虑增加BUFFERS个数。
17批处理时系统Check-Point时间很长,怎么办?
?用informix用户注册
?$vi $INFORMIXDIR/etc/$ONCONFIG,调整以下参数:
LRU_MAX_DIRTY 60→ 20
LRU_MIN_DIRTY 50→ 5
?重新启动数据库服务器
$onmode –ky
$oninit
?确认系统处于On-Line状态
$onstat -
18如何观察共享内存的使用情况
?用informix用户注册
?执行命令
$onstat –g seg
RSAM Version 7.10.UC1 --On-Line-- Up 01:57:26 – 10680 Kbytes
Segment Summary;
(resident segments are not locked)
id key addr size ovhd class blkused blkfree
13001 1387874305 80400000 655360 808 R 77 3
13002 1387874306 80800000 8192000 716 V 214
786
1505 1387874308 81400000 155648 592 M 16 3
?class表示共享内存的内容
R–驻留部分
V–虚拟部分
M–信息部分
size表示各部分的大小
blkused表示已经用的块数量
blkfree空闲块的数量
?持续观察共享内存的情况,如果V部分blkfree值很小或V段很多,则需要考虑增加
SHMVIRTSIZE值。
19如何检查数据库运行状态是否正常?
INFORMIX数据库系统主要有5种状态:
?Off-Line
?Quiescent
?On-Line
?Shutdown
?Recovery
查看系统运行状态按如下步骤进行:
?以DBA用户注册
?执行如下命令
$onstat –
如系统作如下提示,则正常运行
RSAM Version 7.12.UC1 – On-Line – Up 03:38:53 – 10680 Kbytes
如其中On-Line位置为其它信息,或提示
shared memory not initialized for INFORMIXERVER …clearing?
则系统运行不正常,请速予解决。
也可通过如下命令查看:
执行如下命令:
$onmonitor
INFORMIX-OnLine: Status Parameters Dbspaces Mode Force-Ckpt
…
Status menu to view INFORMIX-OnLine.
--------------------On-Line-----Press CTRL-W for Help.----
?系统正常运行时的状态应该为On-Line状态
20如何检查DBSPACE的使用情况?
查看数据库系统的Dbspaces和Chunks的分布和使用情况:
1)以informix用户注册
2)执行以下命令:
$onstat –d
RSAM Version 7.12.UC1 – On-Line – Up 00:04:33 – 10680 Kbytes
Dbspaces
Address number flags fchunk nchunks flags owner name
804178a2 1 1 1 1 N informix rootdbs
804178a4 2 1 2 2 N informix cleardbs
804178b1 3 1 3 1 N informix logdbs
804178a9 4 1 4 1 N informix tmpdbs
active, 8 total
Chunks
Address chk/dbs offset size free dpages flags pathname
8041730a 1 0 0 5000 2261 PO-
/home/informix/rootdbs
8041730c 2 2 0 5000 4947 PO- /home/informix/cleardbs
804173a4 3 2 0 500 497 PO-
/home/informix/logdbs1
8041730c 4 3 0 5000 4947 PO-
/home/informix/logdbs
804173a4 5 4 0 500 497 PO-
/home/informix/tmpdbs
active, 8 total
3) 观察查看结果:
?chk/dbs:
前一数字表示chunk编号,后一数字表示dbspace编号,如dbspace 编号相同则表示器响应前面编号chunk属同一dbspace。
?size:指改chunk的大小,单位为page(2K)
?free:指改chunk的空闲空间
?flags:表示目前chunk状态
3)注意事项
?如某一dbspace的所有chunk空闲很小,则需要增加chunk
?flags正常为PO-,否则为异常
?异常的情况
flags第二位:
D – Down 表示改CHUNK宕掉了
I – Inconsistent表示数据不一致
21数据库的消息日志文件包含什么内容?怎样观察?
数据库日志文件即Message Log文件包含了一些系统运行状态信息,其中一些是正常信息,另外一些是异常信息。
常见的正常信息包括:
?状态的改变
09:29:07 DR:DRAUTO is 0 (Off)
09:29;08 INFORMIX-OnLine Initialized – Shared Memory Initialized.
?快速恢复信息
09:29:08 Physical Recovery Complete :0 Pages Restored.
09:29:08 Logical Recovery Started.
09:29:10 Logical Recovery Complete.
0 Committed, 0 Rolled Back, 0 Open, 0 Bad Locks
?检查点的记录和间隔时间
09:03:24 Checkpoint Completed: duration was 5 seconds.
10:04:06 Checkpoint Completed: duration was 6 seconds.
?配置参数改变信息
18:42:56 Onconfig parameter SHMVIRTSIZE modified from 200000 to 8000.
?动态分配内存信息
18:42:54 Dynamically allocated new shared memory segment (size 8388608)
常见的错误信息:
请查看<
消息日志的观察可以通过两种方法:
1.命令方式:onstat –m
2.直接用vi等命令查看消息日志文件,通常情况该文件名是:
$INFORMIXDIR/online.log。
22出现故障保留哪些现场信息?
1)控制台信息
2)应用程序出现的故障现象,如SQL错误号、ISAM错误号等。
3)消息日志文件信息。
4)由$INFORMIXDIR/etc/$ONCONFIG中DUMDIR指定的目录如/tmp下包含一些由数据库服务器产生的临时文件:
af.xxx
gcore
shmen.xxx
5)产生在/tmp目录下的临时文件:
VP.servername.nnC
buildsmi.xxx
.inf.servername
oncatlgr.out.pidnum
23如何做整个系统的恢复?
直接从零级备份磁带作系统恢复。
恢复零级备份步骤如下:
?将准备恢复的零级备份磁带插入指定的磁带机
?用DBA注册
$ontape –r
Please mount tape 1 on /dev/rmt/0m and press Return to continue…<回车>
Archive Tape Information
Tape type: Archive Backup Tape
Online version: INFORMIX-OnLine Version 7.12.UC1
Archive date: Sun Oct 26 18:59:03 1997
User id: informix
Terminal id: /dev/ttyp3
Archive level: 0
Tape device: /dev/rmt/0m
Tape blocksize (in k): 512
Tape size (in k): 204800
Tape number in series: 1
Spaces to restore:1 [rootdbs ]
2[cleardbs ]
3[tmpdbs ]
4[logdbs ]
Archive Information
INFORMIX-OnLine Copyright(C) 1986-1994 Informix Software,Inc. Initiaization Time 08/22/97 17:04:03
System Page Size 2048
Version 3
Archive CheckPoint Time 10/26/97 18:59:05
Dbspaces
Number flags fchunk nchunks flags owner name
1 1 1 1 N informix rootdbs
1 2 2 N informix cleardbs
3 1 1 3 N informix tmpdbs
3 1 1
4 N iinformix logdbs
Chunks
Chk/dbs offset size free dpages flags pathname
1 1 0 5000 2133 PO- /home/informix/rootdbs
2 2 0 5000 4947 PO- /home/informix/cleardbs
3 3 0 5000 4947 PO- /home/informix/tmpdbs
4 4 0 5000 4947 PO- /home/informix/logdbs
5 2 0 5000 4947 PO- /home/informix/cleardbs1
Continue restore? (y/n) y
Do you want to back up the logs? (y/n)y
放入另外一盘逻辑日志备份带
Please mount tape 1 on /dev/rmt/0m and press Retum to continue…
Would you like to back up any of logs 15 – 24? (y/n) y
Logical logs 15 – 24 may be backed up.
Enter the id of the oldest log that you would like to backup? 20
Please label this tape as number 1 in the log tape sequence.
This tape contains the following logical logs:
20 – 24
Log salvage is complete, continuing restore of archive.
Restore a level 1 or 2 archive (y/n) Do you want to restore log tapes?
(y/n)n
24如何使用逻辑日志备份作系统恢复?
如果系统从0级(或1、2级)恢复后,需要逻辑日志的恢复,步骤如下:
系统恢复文成后,提示是否需要逻辑日志的恢复,一定回答:是。
Do you want to restore log tapes?(y/n)y
Roll forward should start with log number 23
Please mount tape 1 on /dev/rmt/1m and press Return to continue…
<回车>
Do you want to restore another log tape? (y/n) y
Program over.
25数据库运行实体是Network Down,该怎样解决?
当出现如下错误时,请从以下几个方面考虑解决图径:
1)$INFORMIXDIR/bin下的文件的权限不正确,请重新按正确方法安装产品。
2)系统网络配置有问题,请注意开机时有否提示网络配置方面的问题,如TCP是否正常工作。
3)检查/etc/host.equiv文件是否作了正确的配置。
26数据库中有些数据可以看得到但无法删除,怎么办?
这是由于在该表上,设置了记录级只读锁,如果其它用户正在操作该记录,则其它用户不能操作。
(1)用informix用户注册
(2)dbaccess->Query Language->Database->New
set lock mode to wait 10;
delete from table_name (具体删除语句)
27产品安装时出现32776错怎么办?
安装INFORMIX产品之前,必须正确设置INFORMIXDIR环境变量,例如:
?用root注册
?按如下命令设置环境变量
#export INFORMIXDIR=/home/informix
28安装产品时rootdbs上的逻辑日志无法删除怎么办?(如何增加逻辑日志?如何删除逻辑日志?)
INFORMIX数据库系统可用逻辑日志的个数不能小于三个,将rootdbs上的逻辑日志移动到其它dbspace上时,请按照如下步骤进行:
1)用informix用户注册。执行N次如下命令,在logdbs增加N个大小为10M的逻辑日志:
$onparams –a –d logdbs –s 10000 –y
2) 作一次零级备份,使得逻辑日志状态有A变为F
$ontape –s(方法参见零级备份部分)
3)删除rootdbs上的逻辑日志
$onparams –d –l logid –y
4) logid值逻辑日志的ID号,可通过onstat –l命令查的。
5)通过命令onstat –l确认逻辑日志已成功移动到logdbs。
29如何解决长事务问题?
系统出现长事务时由于一个事务占用的逻辑日志空间超过ONCONFIG种的长事务深水位线(LTXHWM)。请从以下几个方面考虑解决长事务问题:
?优化程序,减小一个事务的长度。
?增加必要的逻辑日志个数,以满足大事务的需要。
?调整长事务深水位线LTXHWM和排它长事务深水位线LTXEHWM,一般
LTXHEM为50%、LTXEHWM为60%即可。
?及时备份逻辑日志。
备份逻辑日志与增加逻辑日志方法的方法如下:
?onmonitor-> Parameter->Add_log
?onparams –a -d logdbs -s 10000-y
30系统处于On-Line状态,但执行Create、Update、Delete 命令没有反馈怎么办?
使用命令onstat –l或onstat –m查看逻辑日志是否全部占满,如果时,备份逻辑日志,命令是ontape-a。
使用命令onstat-d查看是否DBSPACE没有空间,如果是,增加DBSPACE空间。
否则,联系INFORMIX响应中心。
31启动系统时提示could not load library ../libsqlshr.a怎么办?
请重新正确安装INFORMIX产品。
32数据库服务器提示-271错误如何处理?
请从如下两个方面解决所发现的错误:
1)检查是否有足够的锁资源:
?用INFORMIX注册
$onstat –p
RSAM Version 7.10.UC1 -- On-Line – Up 03:10:27 – 10680 Kbytes
Profile
Dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits
%cached
550 70.18 21 21 6 0.00
isamtot open start read write rewrite delete commit rollbk
14 363 0 0 0 2 0
ovtbls ovlock ovuserthread ovbuff usercpu syscpu numckpts
flushes
0 0 7.42 9.22 3 78
bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress
seqscans
731 0 0 2 0 10
ixda-RA idx-RA da-RA RA-pgsused lchreqs lchwaits
9 9 9 93832 264
?如果lokwait/lockreqs大于1%,则需要增加LOCKS数量。
2)检查磁盘是否还有可用空间:
?检查dbspace是否已满
?用操作系统命令df -k命令检查文件系统是否已满
33如何改变物理日志的大小和位置?
1)用informix用户注册
2)将数据库该为Quiescent状态
$onmodes –sy
3)查看数据库是否处于Quiescent状态
$onstat –
4)将物理日志改变到logdbs大小为20MB
$onparams –p –s 20000 –d logdbs
WARNING: INFORMIX-OnLine must be off-line to modify physical log.
Do you really want to shutdown? (y/n) y
Shutting down, please wait…
Initializing, please wait…
Recovering, please wait…
5)快速恢复后系统处于Quiescent状态时系统改为On-Line状态
$onmode –my
6)确认系统处于ON-LINE状态
$onstat –
34如何作INFORMIX数据分片?
Fragmentation通过DDL语言实现,假设将cleardb表分布在dbs1、dbs2两个dbspaces上,作法如下:
1)用DBA注册:
?建表时指定:
CREATE TABLE cleardb(…)FRAGMENT BY ROUND ROBIN IN
dbs1,dbs2;
?将未作分片的表改为分片:
ALTER FRAGMENT ON TABLE cleardb INIT FRAGMENT BY
ROUND ROBIN IN dbs1,dbs2;
35系统中包含那几类常见的错误号或返回码?
系统容易碰到的INFORMIX提示的错误号或返回码有如下几种:
0 表示执行成功
100表示没有满足条件的记录
-100 -- -199:ISAM(索引顺序访问管理)错误号
-200 -- -999:SQL错误号
-27000 -- 27005:连接性错误