将系统从off-line模式变为on-line模式oninit -iy
(初始化数据库,删除所有dbspace和chunk)oninit -s(
脱机-->静态)onmode -ky offlineonmode -sgraceful shutdown-->quiescent(联机到静态,让用户处理完成)
onmode -u
immediate shutdown-->quiescent(联机到静态,所有用户立即终止)
onmode -m
quiescent--->onlineonmode -z sid 删除某session onmode -l 将当前正在使用的逻辑日志下移onmode -c
强制执行检查点 *** 作即onmonitor->force ckpt onstat - 查看服务器状态onstat -d查看dbspace和chunk情况onstat -l
查看逻辑日志onstat -F查看写入磁盘的页刷新和类型情况,从共享内存缓冲区向磁盘写入页面有三种方式(fg:前台写 LRU:队列写 chunk:块写)onstat -R
打印LRU队列onstat -p显示系统的基本I/O与性能配置文件onstat -c查看onconfig文件onstat -m查看消息日志onstat -f
查看受DATASKIP影响的dbspaceonstat -x查看事务onstat -k
显示所有活动的锁onstat -g sub_option 运行多线索选项
onstat -g ses/sql onstat -r <value>每隔<value>秒后重复选项 onstat -g act
显示系统中所有的活动线索 onstat -g ath -r 2 每隔两秒显示系统中所有的活动的线索 onstat -i 交互方式 >sql>sql sidipcs
查看共享内存情况ipcrm
删除某个共享内存ipcrm -m id ipcrm -s id
Ontape命令:
1)零级(一级或二级)备份$>ontape -s$>ontape -s -L 0$>ontape -s -L 1$>ontape -s -L
2自动备份逻辑日志文件 $>ontape -a
3)连续逻辑日志备份(日志文件写满一个,online系统自动备份一个,你可以插盘磁带到磁带机上,让IDS自动备份。
要占用磁带机)$>ontape -c
4)备份恢复(对应零级备份或一级备份或二级备份)$>ontape -r (详细过程见ontape恢复文挡)
5)备份恢复几个DBSPACE(一定要存在逻辑日志备份,否则物理恢复完后,还是不能用)$>ontape -r -D dbs1 dbs2 。。。
6)配置HDR时使用的物理恢复$>ontape -p
7)修改数据库日志模式$>ontape -s -B db_name 修改为buffer_log 即缓冲日志模式$>ontape -s -U db_name
修改为unbuffer_log 即非缓冲日志模式$>ontape -s -N db_name
修改为无日志模式 数据库不含日志,即不支持事务,对数据库的任何修改都不会记录到逻辑日志中去$>ontape -s -A db_name
修改为ansi logging模式,从个模式无法改到其它模式,因此一般不要用该项。oncheck 命令 oncheck -pe
extendoncheck -ceoncheck -cr reserved pagesoncheck -cd TBLspace data rows including bitmaponcheck -ci
table indexes databases对逻辑日志的 *** 作:以informix用户登录, $ onmode -uy (由Online切换到Quiescent状态,所有用户立即中止)
onmode -m (切换到Online) $ onparams -a -d logdbs -s 100000 其中logdbs为dbspaces 名,-s 100000 表示增加了100M空间。
再连续执行4遍上述命令,这样新的逻辑日志空间总共为500M,可以用 onstat -l 查看逻辑日志情况,接下来就要删除前面3个旧逻辑日志,
删除前做一个0级备份 # ontape -s -L 0 执行该命令做0级备份,建议: 如果允许可以每天在业务系统结束工作
后做一次0级备份,做完备份后管理好备份磁带,做好标记。 $ onparams -d -l logid
logid 为逻辑日志id号,可以用onstat -l 查看,然后就可根据id号删 除3个旧逻辑日志。
将当前正在使用的逻辑日志下移$onmode -l 三、DBSPACE及数据库导入导出1.增加一个新的dbspace:(datadbs,15M, 偏移为0)
onspaces -c -d datadbs -p /home/informix/datadbs -o 0 -s 150002.
在datadbs这一个dbspace中增加一个chunk:(datadbs_chunk1)onspaces -a datadbs -p /home/informix/datadbs_chunk1 -o 0 -s 150003.将上述chunk删除onspaces -d datadbs -p /home/informix/datadbs_chunk1 -o 0 4.删除dbspace(仅当要删除的dbspace空间没有数据时才可删除)onspace -d datadbs 导出数据库: 用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
指定从何处装载。如何在不破坏库本身信息情况下(如行级锁等)将数据库卸载到磁带设备,并装载在其它服务器上?1)
p 卸载的步骤如下:用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 文件中。
重建表格:1) dbschema -d dbname -t tabname -ss tabname.sql /*将表格结构放进tabname.sql*/编辑此文件并在create table
语句末尾增加新的区域长度暂时将生成表格索引的tabname.sql部分标为说明语句,即在索引句前后加上“{}”,
例如:{ create index xl on customer(last_name)create index x2 on customer(cust_nbr)}
最好在后面生成索引,因为这样表格能快速装入,索引能在连续磁盘空间生成,使其更加有效。
2)锁定表格lock table tabname in exclusive mode
3)用SQL UNLOAD 将表格卸载到磁盘或磁带中unload to file_or_tape_path select * from tabnameunload to "/usr/data/unload/customer.unl" select * from customer
检查表中的行数(用SQL中的Table/Info命令),验证卸载是否成功。比较这个数与装入完成后SQL显示的消息。用此验证file_or_tape_path中的行数:wc -l file_or_tape_path
4)删除表格
5)用dbacess生产表格并运行tabname.sql。这时不要生成索引
6)用SQL的LOAD FROM 或用 dbload重新装入表格load from file_or_tape_path insert into tabnameload form "/usr/data/unload/customer.unl" insert into customer
对于日志数据库,上面的装入语句可能产生长事务或“to many lock”错误。
这时建议用dbload之类的实用程序将数据插入表中。dbload的 -n 选项强制在插入一定行后进行commit work(建议选1000行)。
检查表中的行数(用SQL中的Table/Info命令),验证装入是否成功。7)如要生产索引,运行第一步中标为说明语句的tabname.sql部分。
8)更新表格统计信息 update statistics on tabname
语法 oninit [-s] [-i] [-p] [-y]
oninit 将系统从off-line模式变为on-line模式
oninit -s 将系统从off-line模式变为quiescent模式
oninit -i 初始化系统
oninit -p 在共享内
存初始化时,不搜索,删除临时表
oninit -y 对提示自动回答yes
oninit -v 加入这个选项显示oninit处理过程
oninit-- 键入此命令可以获得使用帮助
oninit命令用来改变系统的运行模式。其中-i选项用于初始化系统的root dbspace。注意,root-dbspace一旦被初始化,则等于整个数据库系统被初始化。
如果用户希望在计算机启动时自动自动启动动态服务器系统,请在系统初启文件(在许多UNIX系统中为/etc/rc)中加入oninit命令(不加任何选项)。
onmode 命令
语法: onmode [-k] [-m] [-s] [-u] [-y]
onmode -k 执行立即shutdown,将系统变为off-line模式
onmode -m 将系统从quiescent模式变为on-line模式
onmode -s 执行graceful shutdown
onmode -u 执行immediate shutdwon
onmode -y 对提示自动回答yes
onmode 命令同样用于改变动态服务器的运行模式。除了上述选项外,onmode还有很多与改变系统运行模式无关的选项。
利用onspaces命令创建数据空间
语法: onspaces -c [-b] [-d] [-z] [-m] [-o] [-p] [-s] [-t]
-c 创建blobspace或dbspace
-b blobspace blobspace名
-d dbspace dbspace名
-g page size blobpages大小
-m mirror 镜像设备设的全路径名和偏移量(KB)
-o offset 偏移量(KB)
-p pathname chunk设备的全路径名
-s sizedbspace大小(KB)
-t创建临时dbspace
onspaces 命令用于创建数据空间、临时空间和存储blob数据的空间(blobspace)。键入onspaces--可以获得该命令的联机帮助。
利用onstat -D或onstat -d可以看到系统中的关于数据空间的重要信息。包括:chunk的状态、空闲、每一chunk读写的次数。
系统中可能包括的多个系统空间,特别当进行数据分片后,我们建议用户最好能利用命令行来创建数据空间。
可以利用如下命令创建数据空间:
onspaces -c -d datadbs1 -o 0 -p /dev/rrvol3 -s 60000
可以用如下的方式创建临时数据空间:
onspaces -c -d tempdbs1 -t -o 0 -p /dev/rrvol5 -s 80000
在系统中,临时数据空间非常重要,通常情况下,应将多个临时数据空间分布在独立的物理设备上。
利用onspaces命令删除数据空间
增加或删除chunks
语法: onspaces -a -d [-m] [-o] [-p]
-a spacename 为dbspace新增chunk
-m pathname镜像设备的全路径名和偏移量(KB)
-o offset 主设备的偏移量(KB)
P>
-p pathname chunk设备的全路径名
-s sizechunk大小
-d spacename 删除chunk
-o offset chunk设备的偏移量(KB)
onspaces不仅能创建数据空间还能删除数据空间、临时数据空间或存储blob数据的空间。在删除数据空间时,必须首先保证它是无用的,即该数据空间上无数据库或表。
如需删除数据空间,请键入如下命令:onspaces -d dbspace_name /blobspace_name
数据空间最初由一个chunk(first chunk)构成,一旦其空间用尽,用户必须追加chunk为了提高系统性能,用户在为数据空间分配chunk时需要计算以保证它的大小能适应未来的需要,否则在追加chunk的时候,它与先前的chunk在物理上不一定相邻,导致增加读取数据的时间。关于如何计算空间需求将在以后章节中阐述。利用 onspaces命令可以对数据空间增加或者删除chunk,除此之外,利用该命令还可以完成如下任务:启动镜像、中止镜像或改变chunk的状态。
例如可以用如下命令为数据空间增加chunk:
onspaces -a -d datadbs1 -0 60002 -p /dev/rrvol3 -s 60000
再如可以用如下方式从数据空间中删除chunk:
onspaces -d datadbs1 -o 60002 -p /dev/rrvol3 -s 60000
onparams 命令
语法:onparams -a -d -p [-d] [-s] [-l]
-a 新增逻辑日志
-d dbspace 指定日志存放的dbspace
-s size 新增逻辑日志的大小(KB)
-d 删除逻辑日志
-l logid 指定删除一个逻辑日志
-p 改变物理日志
-d dbspace 新物理日志存放的dbspace名
-s size物理日志大小(KB)
系统在初始化时自动地在root dbspace中创建逻辑日志和物理日志。在DBMS系统中,尤其在OLTP环境下,数据库的 *** 作非常频繁,日志中必须记录大量的信息,所以用户最好能将多个日志文件分布在不同的设备上。有一种非常简单的方法:即按所需大小创建逻辑日志,同时创建一个较小的物理日志,系统初始化完毕后,再将物理日志移至其它设备。关于如何确定所需的物理日志的大小,将在以后的章节详述。利用onstat -l命令可以看出系统中所有新增的逻辑日志被标识为A。这些逻辑日志只有在系统进行归档后才会真正被使用。为了激活这些逻辑日志有一种简单的方法:执行一次"伪"归档。具体步骤如下:将参数TAPEDEV设置为/dev/null然后运行一次ontape -s。也可以执行onbar -F命令。由于伪归档并不真正归档系统信息,所以千万要适时地对系统进行真正的归档 *** 作。
只有在逻辑日志真正无用时才能将其删除。利用onstat -l 可以看出所有的空闲日志被标记为F。如果逻辑日志中包含事务回滚或快速恢复所需的信息,该逻辑日志是不能被删除的。利用onstat -l命令可以看出接受当前事务的日志被标记为C。如果逻辑日志包括最后一个检查点记录,它也是不能被删除的,只有当检查点记录被写入下一个日志忠并且上一个日志被备份后,该日志才能被删除。利用onstat -l命令可以看出包含最后一个检查点记录的日志被标记为L。用户可以利用
onmode -c命令强制写检查点记录直至最后一个检查点记录被写入所要求的日志为止。
onstat 工具
显示动态服务器共享内存中的信息
涉及少量磁盘I/O *** 作
将对系统性能的影响极小
提供关于系统有价值得信息
命令行交互式监控系统
在本章中将讲解onstat 的各种重要选项,请熟悉它们的使用
onstat 命令是一种非常有用的系统实时监控工具。该命令直接从共享内存的数据结构中读取信息,报告当时的系统状况。通常onstat 命令不会进行磁盘I/O *** 作,也不会对系统资源加锁,所以它对系统性能的影响减少到最小。简言之,onstat是informix提供的一种交互式的系统监控工具。
onstat 的一些常用选项:
onstat -- 列出所有选项
onstat -i 设置进入交互模式
onstat - 显示运行模式和数据库引擎状态
onstat -g sub_option 运行多线索选项
onstat -r 每隔秒后重复选项
onstat -g act 显示系统中所有的活动线索
onstat -g ath -r 2 每隔两秒显示系统中所有的活动的线索
系统监控界面
sysmaster数据库在系统初始化时自动创建
数据库中包括指向系统共享内存结构数据字典信息
提供瞬时的系统性能和状态信息
提供SQL界面了解数据字典信息
允许管理员将系统管理工作自动化
用于执行重复性的监控任务
系统监控界面(system Monitoring Interface --SMI)是一种基于SQL的系统工具,
用户通过SMI可以非常方便地获取系统信息。系统在初始化时,自动地在root dbapace创建sysmaster系统数据库。
每一系统包括一个sysmaster数据库,该数据库中的大部分表为虚表,是指向共享内存中数据结构的指针。利用SMI可以自动监控系统,特别是在执行重复任务时。
sysmaster数据库是只读的,即不允许对其进行INSERT UPDATE,或DELETE *** 作。所有用户都拥有对该数据库的查询权限。
在系统初始化后,用户一定要注意检查sysmaster数据库是否建立成功。创建sysmaster数据库的信息都保存在消息日志文件中(online.log)请注意由于所有的DDL语句都将被记录在日志中,
所以一定要在日志文件中留出足够的空间以保证创建sysmaster所需。
sysmaster数据库模式记录在$INFORMIXDIR/etc/sysmaster.sql文件中。
oncheck 命令
检查动态服务器磁盘上的数据结构
定位并修补损坏的索引和数据
有磁盘I/O *** 作
一些 *** 作在处理时将在表上加锁
oncheck命令用于修复磁盘上损坏的索引和数据页,该命令也可用于检查并打印系统的数据结构。在使用oncheck时一定要当心,因为改命令的某些选项会对表加共享锁,例如:oncheck -pt
>
为防止对系统的损坏,系统会对所有共享内存中的数据进行一次一致性检查。一旦发现数据页出现一致性错误或发现索引错误,系统将把问题和可能的解决方案(利用oncheck)写入消息日志文件,并返回isam错误代码105。
如果发现一致性错误信息,用户应该立即关闭系统并按消息日志文件中的提示运行oncheck。如果oncheck运行失败,则应尝试卸出表再重新装入;如果是索引得问题,则应先删除索引再重建之。如果所有这些步骤都失败了,只有根据原有的系统归档备份来恢复系统。
下面的命令可以提供extend信息:
oncheck -pe
在onstat –l中,flag位表示了逻辑日志的状态,
A表示新加了还不能使用的日志
F表示空闲的可以使用的日志,一般是在0级备份之后才有这样的状态
U表示已经使用的逻辑日志
L表示当前的日志文件包含一个检查点
C表示正在使用当前的日志文件
B表示已经备份的日志文件
所有错误可以用finderr+错误代码查到,英文的,这里中文注释便于理解。-100 错误的描述:C—ISAM错误;向具有唯一索引的字段加入一个重复值。
系统的 *** 作:该语句不被处理。
更正的方法:检查是否用iswrite,isrewrite,isrewcurr或isaddindex的方法,向一个具有唯一索引的字段加入一重复值。
-101 错误的描述:C-ISAM错误;文件没有打开。
系统的 *** 作:该语句不被处理。
更正的方法:检查C-ISAM错误:C-ISAM文件是否已用isopen调用打开,或者是否向一个以只读打开的C-ISAM文件中执行写 *** 作。
-102 错误的描述:C—ISAM错误:C—ISAM函数含有非法参数
系统的 *** 作:该语句不被处理
更正的方法:检查C—ISAM调用的第一个参数,是否超出相应的值域
-103 错误的描述:C—ISAM错误;非法的关键字说明(太多的分量或太长)
系统的 *** 作:该语句不被处理。
更正的方法:检查组成该关键字说明的一个或多个元素,是否超出相应的值域。(每个关键字的说明最多允许8个分量和120个字符)
-104 错误的描述:C—ISAM错误:打开文件太多
系统的 *** 作:该语句不被处理。
更正的方法:在UNIX系统中(以及多数DOS系统中),每个进程打开文件夹的最大个数为20。
-105 错误的描述:C—ISAM错误:C—ISAM文件格式有误。
系统的 *** 作:该语句不被处理。
更正的方法:C—ISAM文件的格式已被破坏,对该文件运行bcheck程序,修复被破坏了的索引。如果bcheck不能修复该文件,须从后援存储介质上重新装入数据。
-106 错误的描述:C—ISAM错误;非互斥访问。
系统的 *** 作:该语句不被处理。
更正的方法:当要增加或删除一个索引时,必须以互斥访问打开文件。
-107 错误的描述:C—ISAM错误:记录被锁住。
系统的 *** 作:该语句不被处理。
更正的方法:由该调用请求的文件或记录不能被访问,这是因为该文件被其它用户锁住。请稍等一会儿,再提出请求。
如果确定该表未被使用,那么也许需要将文件tablename.lok的内容清空。(该文件包含在某五时刻被锁住的表中记录的信息。当一个用户访问该表,一般要清除这一文件,有时文件未被清除,结果其它人不能访问该表。)可以将文件/dev/null复以上述文件中,以删除所有表记录的锁
-108 错误的描述:C—ISAM错误;关键字已经存在。
系统的 *** 作:该语句不被处理。
更正的方法:试图增加一个已定义过的索引,在增加之前,必须删除已存在索引。
-109 错误的描述:C—ISAM错误:该关键字是文件夹主关键字。
系统的 *** 作:该语句不被处理。
更正的方法:试图删除主关键字字段,主关键字不能由isdelindex调用删除。
-110 错误的描述:C—ISAM错误;文件头或文件尾。
系统的 *** 作:该语句不被处理。
更正的方法:已经查找到文件头或文件尾。
-111 错误的描述:C—ISAM错误,没有找到记录。
系统的 *** 作:该语句不被处理。
更正的方法:没有找到含有指定值的记录。编辑查询条件并重新进行查询。
-112 错误的描述:C—ISAM错误:没有当前记录。
系统的 *** 作:该语句不被处理。
更正的方法:试图访问当前列表中的记录,但没有当前列表。必须执行一个查询以生成一个当前列表。
-113 错误的描述:C—ISAM错误:文件已被锁住。
系统的 *** 作:该语句不被处理。
更正的方法:要改变的表目前正在被其它用户以互斥使用。要等到该表不再被其它用户占用时,再提出请求。如果确定该表未被使用,那么运行RDSQL UNLOCK TABLE命令该表解锁,也许,系统中含有tablename.lok文件,那么需要将tablename.lok文件的内容清空。(该文件包含在某一时刻被锁住的表中记录的信息。当一个用户访问完该表,一般要清除这一文件,有时文件未被清除,使得其它用户不能访问该表。)可以将文件/dev/null复制到上述文件中,以删除所有表中记录的锁。在清空tablenmae.lok文件之前,应确认没有进程访问已上锁的表。
-114 错误的描述:C—ISAM错误:文件名太长。
系统的 *** 作:该语句不被处理。
更正的方法:减少文件长度,命名其小于等于8个字符(如果用DOS),或小于等于10个符(如果用UNIX)。
-116 错误的描述:C—ISAM错误:不能分配内存。
系统的 *** 作:该语句不被处理。
更正的方法:可用内存不足。(INFORMIX—SQL运行已超出可用的数据空间地址。)减少复合语句或表格。
-118 错误的描述:不能读事务日志记录。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:运行dblog程序确定哪个记录有问题
-119 错误的描述:不能打开日志文件。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:确定文件是否存在,所使用的路径名是否正确,以及是否具有使用文件适当权限。
-121 错误的描述;不能写日志文件记录。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:检查用户对日志文件的权限。
-122 错误的描述:在没有事务处理的数据库中出现BEGIN WORK。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:确定数据库是否具有事务处理。
-123 错误的描述:没有可分配内存。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:检查数据库管理转换内存空间
-124 错误的描述:没有找到BEGIN WORK。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:在COMMIT WORK 或ROLLBACK WORK之间必须执行BEGIN WORK。
-125 错误的描述;不能用NFS
系统的 *** 作:包含的错误语句不被处理。
更正的方法:不能用NFS在网络上访问未能远程文件。
-126 错误的描述:跟踪轨迹已存在。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:在一人表,没有删除当前的跟踪轨迹时,不能指定新的跟踪轨迹。
-200 错误的描述:标识符太长。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:标识符不能长于18个字符,应选择一个新的具有适当长度的标识符。
-201 错误的描述:发生语法错误
系统的 *** 作:包含的错误语句不被处理。
更正的方法:检查RDSQL语句是否误拼,关键字顺序是否有错。或者在查询中含有INFORMIX—SQL的保留字。
-202 错误的描述:在语句中发现非法字符。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:删除非法字符(通常为不可打印的控制字符)或重写语句。
-203 错误的描述:在语句中发现非法整数
系统的 *** 作:包含的错误语句不被处理。
更正的方法:整数必须在-2,147,483,647到2,147,483,647之间。检查是否带有小数部分或超出值域,以及数字中是否含有字母(例如:12593代替了125b3)。
-204 错误的描述:在语句中出现非法浮点数。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:检查是否在数字位置上输入了一个字母(例如:12593代替了125b3)。
-205 错误的描述:不能对视图使用ROWID。
系统的 *** 作:包含的错误语句不被处理。
更正的方法;重新构造语句,以使视图中不包含虚拟字段。
-206 错误的描述:指定的表名不在数据库中
系统的 *** 作:包含的错误语句不被处理。
更正的方法:检查语句中表名拼写是否有误。
-208 错误的描述:在查询过程中内存分配失败。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:减少查询或程序的复杂程度。
-209 错误的描述:不兼容的数据格式。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:试图对由INFROMIX—SQL早期版本生成的数据库使用INFORMIX—SQL。在数据库上运行DBUPDATE,该程序将数据库改为适合当前INFORMIX—SQL版本的数据库。
-210错误的描述:路径太长。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:INFROMIX—SQL要求的路径名不得70个字符,减少路径名的长度。
-211 错误的描述:不能读系统 *** 作。
更正的方法:检查C—ISAM错误信息,以找出错误的原因,根据语句的内容和错误信息中所引用的系统目录分为以下几种情况:
对于CREATE TABLE 语句: systabath目录下能读,表已经生成,但无权置为PUBLIC。
对于DROP TABLE语句:如果没有读systables目录,那么不做任何 *** 作;
如果没有读sysviews目录,那么表被删除,但建立在表上的视图不被删除。
对于DROP VIEW 语句:不读sysviews目录,不做任何 *** 作。
对于DROP SYNONYM语句:不读syssynonym目录,同义名不被删除。
对于DROP DATABASE语句:不读systables目录,数据库不被启动。
对于DATABASE语句:不读systables目录或sysusers目录,不选择数据库。
-212 错误的描述:不能增加索引。
系统的 *** 作:包含的错误语句不被处理。
更正的方法:检查C—ISAN错误以寻找问题的原因。
-213 错误的描述:语句被用户中断。
系统的 *** 作:语句不被处理。
更正的方法:INFORMIX—SQL已经接收到一个中断信号(可能因用户按了DEL键),重新运行该语句。
-214 错误的描述:不能删除tablename表的文件。
系统的 *** 作:如果是一个DROP DATABASE语句,那么有些表已从数据库中删除。如果是一个DROP TABLE语句,那么有关表的一些系统录入项已经从数据库中删除。
更正的方法:INFORMIX不能删除系统目录。检查C—ISAM错误以录找问题的原因。
-215 错误的描述:不能打开表tablename中的文件。
系统的 *** 作:含有的错误语句不被处理
更正的方法:检查C—ISAM错误以寻找问题原因。
-216 错误的描述:不能删除文件中的ISAM索引
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查C—ISAM错误以寻找问题原因。
-217 错误的描述:查询中的字段column_name不能在任何表中找到。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:更正字段名的拼写,检查数据库的字段名,以及间隔字段名的逗号。
-218 错误的描述:同义名name 未找到。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查同义名的拼写,如果需要,查询sysssynonyms系统目录中有关可用的同义名。
-219 错误的描述:通配符不能用于匹配非字符类型。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:通配符(*.?)和括号[]中的字符只能用于CHAR数据类型,检查字段的数据类型。
-220 错误的描述:在查询中没有FROM子句。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:在查询中必须含有一个FROM子句。检查在FROM关键字前是否出现非法字符($,#,&或者一个CONTROL字符)。
-221 错误的描述:不能为新表table-name 建立临时文件。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:C—ISAM不能访问/tmp目录或者盘空间溢出。检查C-ISAM错误信息以找出问题的原因。
-222 错误的描述:不能新表table-name的临时文件中写信息。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:盘空间可能溢出。检查C—ISAM错误信息以找出问题的原因。
-223 错误的描述:在FROM子句中出现重复的表名table-name。
系统的 *** 作:含有错误的语句不被处理。
更正的方法: 删除语句中多余的表名,或者用别名重命名其中一个表。
-224 错误的描述:不能打开日志文件。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-225 错误的描述:不能为系统目录catalog-name建立文件。
系统的 *** 作:CREATE DATABASE语句没有完成。有些系统文件已经建立。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-226 错误的描述:不能为系统目录catalog-name建立索引。
系统的 *** 作:CREATE DATABASE语句没有完成。有些系统文件已经建立。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-227 错误的描述:临时表中不能使用ORDER BY子句。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:删除语句中的ORDER BY 子句,在生成临时表后,为要排序的字段增加索引。
-228 错误的描述:不能有负字符。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查语句中是否出现负字符数据类型(例如-a或-p)。
-229 错误的描述:不能打开或建立临时文件。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-230 错误的描述:不能读临时文件。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-231 错误的描述:在表达式中不能执行DISTINCT聚合函数。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:将表达式选择到一个临表中,然后对临时表执行聚合。
-232 错误的描述:企图修改SERIAL字段。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:SERIAL字段的值由INFORMIX-SQL提供,不能修改。
-233 错误的描述:记录被其它用户锁住而不能读。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:其它用户锁住了记录,请稍等一会再重新提出请求。
-234 错误的描述:不能插入一个虚拟字段。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:指定的字段是由表达式或聚合函数生成的,重新定义视图。
-235 错误的描述:字符字段长度太大,最大长度是32,767。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:重新定义字段长度。
-236 错误的描述:INSERT的字段个数与VALUES的个数不匹配。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查表中或字段列表中的字段个数是否与VALUES子句名SELECT子句中的值的个数匹配。
-237 错误的描述:不能开始工作。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-238 错误的描述:不能做COMMIT WORK。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:日志文件可能已被破坏,检查C-ISAM错误信息以找出问题的原因。
-239 错误的描述:不能插入一个新的记录——在UNIQUE INDEX字段出现重复值。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:要加入的记录中有一个字段(唯一索引)值已存在。为该字段输入一个新值或者将该字段的唯一索引删除。
-240 错误的描述:不能删除一条记录。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查C-ISAM错误信息,以找出问题的原因。
-241 错误的描述:不能做ROLLBACK WORK。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查错误信息以找出问题的原因。
-242 错误的描述:不能打开数据库表table-name。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-243错误的描述:不能在表table-name中定位。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-244 错误的描述:不能执行读 *** 作来查找下一个记录。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-245 错误的描述:不能在文件中用索引的方法定位。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-246 错误的描述:不能按索引执行读 *** 作作以了得下一个记录。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-247 错误的描述:ROLLFORWORD数据失败。
系统的 *** 作:含有错误的语句不被处理
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-249 错误的描述:虚拟字段没有定义。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:当选择生成一个临时表或建立一个视图时,依赖于表达式的每个临时表或视图的字段必须给出一个唯一的名字。检查提供名字是否唯一。
-250 错误的描述:不能从要修改的文件中读记录。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:该记录可能被其它用户锁住。检查C-ISAM错误信息以找出问题的原因。
-251 错误的描述:字段数number太大。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:在ORDER BY 或CGOUP BY 语句中字段个数超过SELECT 语句中的字段总数。
-252 错误的描述:不能取得表的系统信息。
系统的 *** 作:有些统计可能已被修改。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-253 错误的描述:标识符太长,最大长度为18。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查表名的拼写或长度。
-255 错误的描述:语句不在一个事务中。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:该语句必须在某个事务中执行。先启动一个事物,然后执行这个语句。
-256 错误的描述:事务不可用。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:INFORMIX-SQL不能在数据库上执行一个事务 *** 作(BEGIN WORK,ROLLBACK WORK,COMMIT WORK),这是因为数据库的事务日志还未建立,请数据库管理员为数据库建立一个事务日志。
-258 错误的描述;系统错误-sql lexec进程接收到非法的语句ID。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:请通知技术支持部门。
-261 错误的描述:不能为表table建立文件。
系统的 *** 作:含有错误的语句不被处理
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-263 错误的描述:不能为UPDATE锁住记录。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
-264 错误的描述:不能写临时文件。
系统的 *** 作:含有错误的语句不被处理。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)