|
1、基本用法:
$ onspaces --
Usage:
onspaces { -a <spacename> -p <path> -o <offset> -s <size> [-m <path> <offset>]
{ { [-Mo <mdoffset>] [-Ms <mdsize>] } | -U }
} |
{ -c { -d <DBspace> [-k <pagesize>] [-t]
-p <path> -o <offset> -s <size> [-m <path> <offset>] } |
{ -d <DBspace> [-k <pagesize>]
-p <path> -o <offset> -s <size> [-m <path> <offset>]
[-ef <first_extent_size>] [-en <next_extent_size>] } |
{ -b <BLOBspace> -g <pagesize>
-p <path> -o <offset> -s <size> [-m <path> <offset>] } |
{ -S <SBLOBspace> [-t]
-p <path> -o <offset> -s <size> [-m <path> <offset>]
[-Mo <mdoffset>] [-Ms <mdsize>] [-Df <default-list>] } |
{ -x <Extspace> -l <Location> } } |
{ -d <spacename> [-p <path> -o <offset>] [-f] [-y] } |
{ -f[y] off [<DBspace-list>] | on [<DBspace-list>] } |
{ -m <spacename> {-p <path> -o <offset> -m <path> <offset> [-y] |
-f <filename>} } |
{ -r <spacename> [-y] } |
{ -s <spacename> -p <path> -o <offset> {-O | -D} [-y] } |
{ -ch <sbspacename> -Df <default-list> } |
{ -cl <sbspacename> } |
{ -ren <spacename> -n <newname> }
-a - Add a chunk to a DBspace, BLOBspace or SBLOBspace
-c - Create a DBspace, BLOBspace, SBLOBspace or Extspace
-d - Drop a DBspace, BLOBspace, SBLOBspace, Extspace, or chunk
-f - Change dataskip default for specified DBspaces
-m - Add mirroring to an existing DBspace, BLOBspace or SBLOBspace
-r - Turn mirroring off for a DBspace, BLOBspace or SBLOBspace
-s - Change the status of a chunk
-ch - Change default list for smart large object space
-cl - garbage collect smart large objects that are not referenced
default-list = {[LOGGING = {ON|OFF}] [,ACCESSTIME = {ON|OFF}]
[,AVG_LO_SIZE = {1 - 2097152}] }
-ren - Rename a DBspace, BLOBspace, SBLOBspace or Extspace
2、实例:
Informix 表空间操作
onstat -d #查看表空间信息
1)创建dbspace表空间步骤:
touch 表空间路径/表空间文件名
#例如:touch /home/db/informix/dbs/dbstest
chmod 660 表空间路径/表空间文件名
#例如:chmod 660 /home/db/informix/dbs/dbstest
onspaces -c -d 表空间名 -p 表空间路径/表空间文件名 -o 偏移量 -s 空间大小(以字节为单位)
#例如:onspaces -c -d dbstest -p /home/db/informix/dbs/dbstest -o 200000 -s 1000000
2)创建blobspace表空间步骤:
touch 表空间路径/表空间文件名
#例如:touch /home/db/informix/dbs/blobsptest
chmod 660 表空间路径/表空间文件名
#例如:chmod 660 /home/db/informix/dbs/blobsptest
onspaces -c -b 表空间名 -g 50 -p 表空间路径/表空间文件名 -o 偏移量 -s 空间大小(以字节为单位)
#例如:onspaces -c -b blobsptest -g 50 -p /home/db/informix/dbs/blobsptest -o 200000 -s 1000000
3)创建sbspaces表空间步骤:
touch 表空间路径/表空间文件名
#例如:touch /home/db/informix/dbs/sbspacetest
chmod 660 表空间路径/表空间文件名
#例如:chmod 660 /home/db/informix/dbs/sbspacetest
onspaces -c -s 表空间名 -p 表空间路径/表空间文件名 -o 偏移量 -s 空间大小(以字节为单位)
#例如:onspaces -c -s blobsptest -p /home/db/informix/dbs/sbspacetest -o 200000 -s 1000000
4)删除dbspace or sbspace表空间步骤:
onspaces -d 表空间名
5)增加chunk到dbspace or blobspace or subspace 表空间步骤:
touch 表空间路径/表空间文件名
#例如:touch /home/db/informix/dbs/dbchunk
chmod 660 表空间路径/表空间文件名
#例如:chmod 660 /home/db/informix/dbs/dbchunk
onspaces -a 需要增加空间的表空间名 -p 表空间路径/表空间文件名 -o 偏移量 -s 空间大小(以字节为单位)
#例如:onspaces -a datadbs -p /home/db/informix/dbs/sbspacetest -o 200000 -s 1000000
6)删除chunk的步骤:
onmode -s #根据提示选则‘y’
onstat - #确定数据库为‘Quiescent’状态
onspaces -d 删除的dbchunk所属的表空间名 -p 表空间路径/要删除的chunk名 -o 偏移量
#onspaces -d blobsptest -p /home/db/informix/dbs/dbchunk -o 200000
7) 关于偏移量offset的一点说明:
偏移量offset的作用:
用offset来控制CHUNK的起始位置,防止同一逻辑卷上两个chunk的重合。现在系统绝大部分不需要考虑offset值这个问题。。0亦可。。有时我们留一点空间,只是习惯了。
以下是在同一个文件上建2个chunk的示例,这里offset就显得有用了。
比如说同一个逻辑卷,想要拆成两个CHUNK,就要用到offset了,要不后面的CHUNK与前面的就重合了!用offset来控制CHUNK的起始位置!
从这个文件(设备)开始(0位) 偏移的大小。。
路径,偏移量,大小 3个加起来共同确定一个chunk空间比如(以下用页表示):
路径 偏移量 大小
/dev/rlvuserdbs 0 2000
/dev/rlvuserdbs 2000 2000
这两个chunk都在同一个文件上,通过偏移量确定了其位置。。
8)用informix用户登录将数据库重新设置为on-line 状态:
运行onmode -s,然后onstat -,看到数据库处于shutting down状态,怎样才能恢复到online状态?
用informix用户登录,运行 onmonitor, 选择 Mode 项,再选择 On-Line 即可
9)关于删除批量记录后表空间的回收以及索引问题
informix 库在批量记录操作后,如果不对表空间的回收以及索引整理会严重影响数据库的处理效率,对此处理方法如下:
做update statistics,
回收空间可以重新建表,或者,可能做一个cluster index或许会有效
用了单个表的update statistics [for table 〈table—name〉]
------------------------------------------------------------
更多相关信息请参看原文地址:http://www.test-abc.com/forum.php?mod=viewthread&tid=187&extra=page%3D1 |
|