四、ONLINE数据服务器的数据空间分配
做完online初始化后, 查看online 状态,执行命令:
$onstat –
屏幕显示:
Informix Dynamic Server Version 7.31.UC7 -- On-Line -- Up 9 days
00:24:34 --77824 Kbytes
说明online正常启动。
1.增加dbspace 和添加 chuck
创建 dbspace,命令行:onspaces -c -d dbspacename [-t] -p pathname -o offset
-s size添加 chuck, 命令行:
onspaces -a dbspacename -p pathname -o offset -s size-c 表示“创建”操作-a dbspacename 表示添加空间的数据空间的名字-d dbspacename,数据空间的名字-p pathname,指向磁盘分区的符号链接的全路径-s size,数据空间的大小,以KB为单位
-o offset,如果有的话是指磁盘分区的偏移量,0表示没有偏移量
-t(可选项),表示该数据空间是临时的,否则不需要这个选项
例如:
$cd /usr/Informix/workdir$lcrw-rw-rw- 1 informix informix 1, 20 Jul 15 11:12 datadbs0@crw-rw-rw- 1 informix informix 1, 21 Jul 15 11:15 datadbs1@crw-rw-rw- 1 informix informix 1, 17 Oct 25 14:36 logdbs@crw-rw-rw- 1 informix informix 1, 18 Oct 25 14:31 phydbs@crw-rw-rw- 1 informix informix 1, 16 Oct 25 14:36 rootdbs@crw-rw-rw- 1 informix informix 1, 19 Oct 25 14:31 tempdbs@
说明:已创建指向磁盘分区的符号链接
创建 dbspace:编辑crdbs.sh(创建 dbspace)
$vi crdbs.sh
onspaces -c -d logdbs -p /usr/informix/workdir/logdbs -o 0 -s 1000000
onspaces -c -d phydbs -p /usr/informix/workdir/phydbs -o 0 -s 250000
onspaces -c -d tempdbs -t -p /usr/informix/workdir/tempdbs -o 0 -s 2000000 (临时空间)
onspaces -c -d datadbs -p /usr/informix/workdir/datadbs0 -o 0 -s 2000000
onspaces -a datadbs -p /usr/informix/workdir/datadbs1 -o 0 -s 2000000
(增加chuck)
$chmod 755 crdbs.sh
$./crdbs.sh
一下就完成增加dbspace 和添加 chuck ,查看数据空间状态,执行命令:
$onstat –d
Informix Dynamic Server Version 7.31.UC7 -- On-Line -- Up 9 days 01:54:27 --77824 Kbytes
Dbspaces
address number flags fchunk nchunks flags owner name
84c5813c 1 1 1 1 N informix rootdbs
84c58878 2 1 2 1 N informix logdbs
84c58934 3 1 3 1 N informix phydbs
84c589f0 4 2001 4 1 N T informix tempdbs
84c58aac 5 1 5 2 N informix datadbs
5 active, 2047 maximum
Chunks
address chk/dbs offset size free bpages flags pathname
84c581f8 1 1 0 1000000 948911 PO- /usr/informix/workdir/rootdbs
84c583c8 2 2 0 500000 149947 PO- /usr/informix/workdir/logdbs
84c584b8 3 3 0 150000 24947 PO- /usr/informix/workdir/phydbs
84c585a8 4 4 0 1000000 999947 PO- /usr/informix/workdir/tempdbs
84c58698 5 5 0 1000000 999947 PO- /usr/informix/workdir/datadbs0
84c58788 6 5 0 1000000 999997 PO- /usr/informix/workdir/datadbs1
6 active, 2047 maximum
2.调整逻辑日志
1) 计算新增逻辑日志的个数 n=logdbs大小/50M,假设logdbs 为1G,则
N=1G/50M=20。
2)将数据库设置为静态方式。
$onmode –sy
3) 在logdbs 中创建逻辑日志,执行以下命令20次。
$onparams -a -d logdbs -s 50000
我建议编辑shell文件 如:
$vi crlog.sh
onparams -a -d logdbs -s 50000
onparams -a -d logdbs -s 50000
onparams -a -d logdbs -s 50000
………
写20次该命令行,再执行crlog.sh,一次完成。
$chmod 755 crlog.sh
$./crlog.sh
然后执行:
$ontape -s #空备份,使新增的逻辑日志可用。
查看逻辑日志状态,
$onstat –l
Informix Dynamic Server Version 7.31.UC7 -- On-Line -- Up 9 days 04:58:49 --
77824 Kbytes
Physical Logging
Buffer bufused bufsize numpages numwrits pages/io
P-2 0 256 4570 33 138.48%
phybegin physize phypos phyused %used
300035 125000 60076 0 0.00
Logical Logging
Buffer bufused bufsize numrecs numpages numwrits recs/pages pages/io
L-1 0 256 42 39 39 1.1 1.0
Subsystem numrecs Log Space used
OLDRSAM 42 1368
address number flags uniqid begin size used %used
828861e8 4 U-B---- 4 10080f 500 500 100.00
8288623c 7 U---C-L 5 200035 25000 1005 4.02
82886258 8 F------ 0 2061dd 25000 0 0.00
82886274 9 F------ 0 20c385 25000 0 0.00
82886290 10 F------ 0 21252d 25000 0 0.00
C:当前活动日志 B:表示可用 F:表示空日志
将默认建立在rootdbs 中的6个逻辑日志删除,重复6次以下命令:
$onmode –l #Force to next logical log
确保新增的逻辑日志可用。最后执行:
$onparams -d -l 1 -y
$onparams -d -l 2 -y
$onparams -d -l 3 -y
$onparams -d -l 4 -y
$onparams -d -l 5 -y
$onparams -d -l 6 –y
按要求做备份,
$ontape -s
3. 调整物理日志
计算物理日志大小,将物理日志建立在phydbs 上。物理日志为逻辑日志大小的1/4。
若系统新物理日志大小为1G/4=250M,则在informix 用户下,执行:
$onmode -sy #使实例处于quiescent状态
$onparams -p -s 250000 -d phydbs -y
$ontape -s #在移动物理日志以后应立即创建一个0级备份
$onmode -m #使实例从quiescent状态改变到on-line状态
4.设置临时数据空间,修改$INFORMIXDIR/etc/$ONCONFIG 文件,修改
DBSPACETEMP tempdbs #tempdbs 为临时数据空间名
5.重启数据库
$onmode –ky
$oninit
检查数据库是否正常启动:
$onstat –
Informix Dynamic Server Version 7.31.UC7 -- On-Line -- Up 0 days 00:08:49 --
77824 Kbytes
恭喜你,大功告成