51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 8592|回复: 2
打印 上一主题 下一主题

Informix之onspaces语法及实例(表空间管理)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-6-29 19:46:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-7-25 17:51:31 | 只看该作者
支持楼主 哈哈




























女明星八个祛痘的小窍门
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2011-10-24 20:18:41 | 只看该作者
感谢楼主辛苦发贴。吞噬星空  http://www.kanshu.la/
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-29 02:06 , Processed in 0.065690 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表