INFORMIX系统维护基本问题解答
我的帖子中有论坛禁止发表的词汇或内容???目录
1.怎样尽快获得INFORMIX公司技术支持? 2
2.怎样正确安装INFORMIX数据库产品? 2
3. ONLINE不能追加汉字怎么办? 4
4.系统管理方面每天应该进行哪些工作? 4
5.平时定期和不定期做的工作有哪些? 5
6.系统使用哪些备份方式? 5
7.INFORMIX数据库零(一、二)级备份和逻辑日志的备份的关系是怎样的? 6
8.如何进行数据库系统的备份?有那些注意事项? 6
9.如何用dbexport工具将数据卸成文本,并装载到其它服务器上? 7
10.如何在不破坏库本身信息情况下(如行级锁等)将数据库卸载到磁带设备,并装载在其它服务器上? 7
11. INFORMIX采用哪些日志备份方式?有哪些注意事项? 8
12.INFORMIX数据库配置信息如何归档? 9
13.什么时候归档数据库配置信息? 10
14.如何使用UPDATE STATISTICS命令优化数据库 10
15.当出现系统性能问题时要从哪些方面考虑? 10
16.如何简单判断共享内存的BUFFER参数是否合理? 10
17.批处理时系统Check-Point时间很长,怎么办? 11
18.如何观察共享内存的使用情况 11
19.如何检查数据库运行状态是否正常? 12
20.如何检查DBSPACE的使用情况? 12
21.数据库的消息日志文件包含什么内容?怎样观察? 13
22.出现故障保留哪些现场信息? 14
23.如何做整个系统的恢复? 14
24.如何使用逻辑日志备份作系统恢复? 16
25.数据库运行实体是Network Down,该怎样解决? 16
26.数据库中有些数据可以看得到但无法删除,怎么办? 16
27.产品安装时出现32776错怎么办? 17
28.安装产品时rootdbs上的逻辑日志无法删除怎么办?(如何增加逻辑日志?如何删除逻辑日志?)……….………………………………………………………………………………………………17
29.如何解决长事务问题? 17
30.系统处于On-Line状态,但执行Create、Update、Delete命令没有反馈怎么办? 18
31.启动系统时提示could not load library ../libsqlshr.a怎么办? 18
32.数据库服务器提示-271错误如何处理? 18
33.如何改变物理日志的大小和位置? 19
34.如何作INFORMIX数据分片? 19
35.系统中包含那几类常见的错误号或返回码? 19
36.如何得到错误号?如何查询错误号? 20
37.INFORMIX常见错误号有哪些,碰到这些错误号该如何处理? 20
INFORMIX系统维护基本问题解答
只好一段段发了:2 怎样正确安装INFORMIX数据库产品?
INFORMIX产品需严格按照如下步骤进行安装:
1) 用root注册,建立informix组和用户,账号和用户号大于100
2) 创建一个informix目录,将宿主和用户组改为informix,例如:
mkdir/home/informix
chowninformix/home/informix
chgrpinformix/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. 如果产品介质是磁带或软盘,将介质插入软驱或磁带机,然后按产品授权许可证上的命令复制产品文件,如:
tarxvf/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及磁盘空间。
3 ONLINE不能追加汉字怎么办?
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卸出的内容装入其它服务器。
7 INFORMIX数据库零(一、二)级备份和逻辑日志的备份的关系是怎样的?
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 文件中。
INFORMIX系统维护基本问题解答
11INFORMIX采用哪些日志备份方式?由那些注意事项?逻辑日志有两种备份方式:自动备份和逻辑备份。
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)
LTAPESIZE204800(K)
确保磁带机与磁带完好可用
逻辑日志与系统备份配合使用,确保系统中包含的逻辑日志的编号与逻辑日志备份带中的编号是连续的。
12 INFORMIX数据库配置信息如何归档?
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
ovtblsovlockovuserthreadovbuffusercpusyscpunumckptsflushes
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-RAidx-RAda-RARA-pgsusedlchreqslchwaits
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)
idkey addrsize ovhdclassblkusedblkfree
130011387874305 80400000 655360808 R 77 3
130021387874306 808000008192000716 V 214
786
1505 1387874308 81400000155648592M 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
Addressnumberflagsfchunknchunksflagsownername
804178a2 1 1 1 1 N informixrootdbs
804178a4 2 1 2 2 N informixcleardbs
804178b1 3 1 3 1 N informixlogdbs
804178a9 4 1 4 1 N informix tmpdbs
active, 8 total
Chunks
Addresschk/dbsoffsetsizefreedpagesflagspathname
8041730a 1 0 0 5000 2261 PO-
/home/informix/rootdbs
8041730c220 50004947 PO-/home/informix/cleardbs
804173a43 2 0 500 497 PO-
/home/informix/logdbs1
8041730c4 3 0 5000 4947 PO-
/home/informix/logdbs
804173a45 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 表示数据不一致
INFORMIX系统维护基本问题解答
21 数据库的消息日志文件包含什么内容?怎样观察?数据库日志文件即Message Log 文件包含了一些系统运行状态信息,其中一些是正常信息,另外一些是异常信息。
常见的正常信息包括:
状态的改变
09:29:07DR:DRAUTO is 0 (Off)
09:29;08INFORMIX-OnLineInitialized – Shared Memory Initialized.
快速恢复信息
09:29:08Physical Recovery Complete :0 Pages Restored.
09:29:08Logical Recovery Started.
09:29:10Logical Recovery Complete.
0 Committed, 0 Rolled Back, 0 Open, 0 Bad Locks
检查点的记录和间隔时间
09:03:24Checkpoint Completed: duration was 5 seconds.
10:04:06Checkpoint Completed: duration was 6 seconds.
配置参数改变信息
18:42:56Onconfig parameter SHMVIRTSIZE modified from 200000 to 8000.
动态分配内存信息
18:42:54Dynamically allocated new shared memory segment (size 8388608)
常见的错误信息:
请查看<<INFORMIX-Online Dynamic Server Administrator’s Guide Version 7.1, Volume2>;>;Chapter 41 Online Message Log Messages
消息日志的观察可以通过两种方法:
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
2
3
4
Archive Information
INFORMIX-OnLine Copyright(C) 1986-1994 Informix Software,Inc.
Initiaization Time 08/22/9717:04:03
System Page Size 2048
Version 3
Archive CheckPoint Time 10/26/9718:59:05
Dbspaces
Numberflagsfchunknchunksflagsownername
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/dbsoffsetsizefreedpagesflags pathname
110 5000 2133 PO- /home/informix/rootdbs
220 5000 4947 PO- /home/informix/cleardbs
330 5000 4947 PO- /home/informix/tmpdbs
440 5000 4947 PO- /home/informix/logdbs
520 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文件是否作了正确的配置。
INFORMIX系统维护基本问题解答
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
Dskreadspagreadsbufreads%cacheddskwritspagwritsbufwrits
%cached
550 70.18 21 21 6 0.00
isamtotopen start read writerewritedelete commitrollbk
14 363 0 0 0 2 0
ovtbls ovlock ovuserthreadovbuffusercpusyscpunumckpts
flushes
0 0 7.42 9.22 3 78
bufwaitslokwaitslockreqsdeadlksdltoutsckpwaitscompress
seqscans
731 0 0 2 0 10
ixda-RAidx-RAda-RARA-pgsused lchreqslchwaits
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(…)FRAGMENTBYROUNDROBININ
dbs1,dbs2;
将未作分片的表改为分片:
ALTERFRAGMENTONTABLEcleardbINITFRAGMENTBY
ROUNDROBININdbs1,dbs2;
35系统中包含那几类常见的错误号或返回码?
系统容易碰到的INFORMIX提示的错误号或返回码有如下几种:
0 表示执行成功
100 表示没有满足条件的记录
-100 -- -199: ISAM(索引顺序访问管理)错误号
-200 -- -999: SQL错误号
-27000 -- 27005: 连接性错误
INFORMIX系统维护基本问题解答
36如何得到错误号?如何查询错误号?1) 参考如下方法获得错误号:
SQL错误号存放在结构sqlca.sqlcode中
ISAM错误号存放在结构sqlca.sqlerrd中
在ESQL/C中得到错误号采用如下方法:
printf(“SQL错误号为: %d\nlSAM错误号为: %d\n”,
sqlca.sqlcode, sqlca.sqlerrd);
2) 得到错误号参考如下方法:
查询<<Informix Error Messages>;>;手册
在命令行查询错误号用finderr error_no,其中error_no.值具体错误号码。
INFORMIX系统维护基本问题解答
37 INFORMIX常见错误号有哪些,碰到这些错误号该如何处理?—201
语法错
SQL命令中出现不正确的语法时,系统提示该错位号。请检查是否有拼写方面的错误。
—202
语句中有非法字符
该字符无法被正确的解释为SQL语句中的一部分,如果出现在执行程序中则有可能是不可打印字符,若如此则请删除该不可打印字符重新执行程序,看是否还有该错误。也可考虑改变目前的字符集,如export LANG=en_US.8859_1解决此问题。
INFORMIX系统维护基本问题解答
辛苦了,谢谢!INFORMIX系统维护基本问题解答
楼主辛苦,建议加精
页:
[1]
2