rootdbs空间不足引起的备份失败

症状1:

Informix Dynamic Server 2000 Version 9.21.UC2 for LINUX

2011-02-15 09:49:55 17296 17294 /home/informix/bin/onbar_d -b -l
2011-02-15 09:49:55 17296 17294 Begin backup logical log 147643.
2011-02-15 09:49:55 17296 17294 Successfully connected to Storage Manager.
2011-02-15 09:49:55 17296 17294 SQL -271 Could not insert new row into the table.
2011-02-15 09:49:55 17296 17294 ISAM -131 ISAM error: no free disk space
逻辑备份出现问题
2011-02-17 09:14:37 11293 11291 /home/informix/bin/onbar_d -b -l
2011-02-17 09:14:38 11293 11291 Begin backup logical log 149938.
2011-02-17 09:14:38 11293 11291 Successfully connected to Storage Manager.
2011-02-17 09:14:38 11293 11291 The logical logs are full. ON-Bar may encounter errors writing to the sysutils database.
2011-02-17 09:14:38 11293 11291 SQL -691 Missing key in referenced table for referential constraint (informix.r102_11).
2011-02-17 09:14:38 11293 11291 ISAM -111 ISAM error: no record found.
2011-02-17 09:14:38 11293 11291 SQL -691 Missing key in referenced table for referential constraint (informix.r103_16).
2011-02-17 09:14:38 11293 11291 ISAM -111 ISAM error: no record found.
2011-02-17 09:14:38 11293 11291 The logical logs are full. ON-Bar may encounter errors writing to the sysutils database.
2011-02-17 09:14:38 11293 11291 SQL -691 Missing key in referenced table for referential constraint (informix.r102_11).
2011-02-17 09:14:38 11293 11291 ISAM -111 ISAM error: no record found.
2011-02-17 09:14:38 11293 11291 /home/informix/bin/onbar_d complete, returning 148 (0x94)

经onstat -d 查询,rootdbs空间不足,而rootdbs中有被人创建了其它库表索引(估计语句中没有指定dbspace导致),清理这些索引以增加剩余空间恢复正常备份或者为rootdbs添加chunk亦可

症状2:

用onbar备份数据的时候,两次出现备份失败,发现下面错误:
2007-04-11 18:26:38 8720 8707 Unable to get storage space backup data from the database server: ISAM error: no free disk space.
2007-04-11 18:26:38 8720 8707 SQL -229 Could not open or create a temporary file.
2007-04-11 18:26:38 8720 8707 ISAM -131 ISAM error: no free disk space
2007-04-11 18:26:38 8720 8707 Process 8720 8707 completed.
2007-04-11 18:26:38 8707 8704 (-43246) The ON-Bar process 8720 exited with a problem (exit code 131 (0x83),signal 0).
查看错误:
informix@server:~> finderr 229
-229 Could not open or create a temporary file.

The database server cannot create a temporary disk file. The file
should be created in the directory that the DBTEMP environment variable
specifies (or /tmp by default on UNIX systems). Check the accompanying
ISAM error code and look for operating-system error messages that
might give more information. Possibly your account does not have write
permission in that directory, or the disk is full. Since Version 5.01,
the IBM Informix SE database server uses the DBTEMP environment variable,
but IBM Informix Dynamic Server and IBM Informix OnLine Dynamic Server do not.

On a UNIX system, try increasing the maximum number of open files
(NFILES parameter on some systems) to approximately 400.
informix@server:~> finderr 131
-131 ISAM error: no free disk space.

Not enough contiguous free disk space is available to complete the
current operation. For C-ISAM programs, if transaction logging is in
use, roll back the current transaction. Make some disk space available,
and run the program again. For SQL products, roll back the current
transaction, if possible. Contact the system administrator about
acquiring more disk space for databases.

查看数据空间
informix@server:~> onstat -d

IBM Informix Dynamic Server Version 10.00.UC4 — On-Line — Up 106 days 10:20:23 — 1588168 Kbytes

Dbspaces
address number flags fchunk nchunks pgsize flags owner name
51c1c7e8 1 0x40001 1 2 2048 N B informix rootdbs
524fbd30 2 0x40001 2 1 2048 N B informix plogdbs
524fbe90 3 0x40001 3 1 2048 N B informix llogdbs
52553018 6 0x44001 8 1 2048 N B informix datadbs1
52553178 7 0x40001 9 1 2048 N B informix datadbs2
525532d8 8 0x44001 10 2 2048 N B informix datadbs3
52553438 9 0x40001 11 1 2048 N B informix datadbs4
52553598 10 0x44001 12 1 2048 N B informix indexdbs1
525536f8 11 0x40001 13 1 2048 N B informix indexdbs2
9 active, 2047 maximum

Chunks
address chunk/dbs offset size free bpages flags pathname
51c1c948 1 1 0 64000 307 PO-B /informix.links/rootdbs

应该是rootdbs空间不足造成的。添加一个rootdbs chunk后备份正常。

发表评论