第二节 增加数据储存实体 Chunck
数据库空间 Dbspace 仅仅是数据库存在的逻辑空间,数据库存在于真正的物理空间是数据储存块 Chunk, 因此它的空间总是有限的,当数据储存接近它的限度时,数据库管理员就要考虑 为这个数据库空间增加一个数据储存块 Chunk。
增加一个数据存储块,其做法如下:
2.1 注册到 root;
# cd /usr/informix
# ln /dev/rdsk/1sa workdbs2_primary
# chown informix workdbs2_primary
# chgrp informix workdbs2_primary
# chmod 660 workdbs2_primary
# exit
2.2 注册到 informix,
$ onmonitor
选择 Dbspaces 菜单后,再选择 Add_chunk,屏幕上显示出当前系统中所有的数据库空间, 移动光标上下键,将选中项移到需要增加 Chunk 的Dbsapce 上,按 Ctrl-B 键,在屏幕的Full Path- name 中输入/usr/informix/workdbs2_primary,并在Size项中输入100000,然后按ESC键。于是数据 库服务器系统为数据库空间 workdbs1 增加一个数据存储块 workdbs2_primary的定义。我们可以在 Status 菜单的 Spaces 选项中看到自己刚才为 workdbs1 定义的数据存储块 workdbs2_primary。
Press ESC to build a new dbspace.
Press Interrupt to cancel the option and return to the Dbspace menu.
Press F2 or CTRL-F for field level help.
ADD CHUNKS
Dbspace Name [workdbs1 ] Mirror [N] Temp[N]
PRIMARY CHUNK INFORMATION:
Full Pathname [/usr/informix/workdbs2_primary ]
Offset [ ] Kbytes Size [ 100000] Kbytes
MIRROR CHUNK INFORMATION:
Full Pathname [ ]
Offset [ ]
或者通过命令形式增加chunk
$ onspaces -a spacename -p pathname -o offset -s size [-m path offset]
第三节 日志管理
日志是数据库服务器保证当数据库或Unix或主机服务器系统故障恢复后,用户数据库快速复原的安全机制。数据库服务器的日志有两种:物理日志 Physical Log和逻辑日志Logical Log。 当用户需要取数据而该数据又不在共享内存时,数据库服务器将它从磁盘读出并放入共享内存。这时,如果用户需要修改该记录,数据库服务器在该记录尚未被修改前,将该记录所在的数据页拷贝到物理日志,然后数据库服务器响应用户的修改要求,并将数据修改的轨迹写入逻辑日志。当用户想要滚回操作时,并且在数据修改的过程中数据库服务器没有做过Checkpoint, 数据库服务器将物理日志拷贝回该数据页,如果在数据修改的过程中数据库服务器已经做过Checkoint,数据库 服务器将根据数据修改时记录在逻辑日志中的数据变化轨迹来恢复原来的数据。不过大家要知道 这种机制只有在用户数据库是带日志的情形下才会起作用,由于需要比不带日志的数据库多写日志文件,因此它的效率会低于不带日志的数据库。但是一旦数据库服务器非正常关闭,在后一 次启动数据库服务器的时 候,数据库服务器会根据上次系统非正常关闭时留下来的日志文件来 恢复 数据的一致性,这种安全 机 制是以牺牲数据库操作效率为代价的。
物理日志保存数据在修改前的映像,一般情况下它占整个日志空间尺寸的1/4,当数据储存 实体空间增加后,日志空间的尺寸也需要调大。改变物理日志空间的大小可使用onmonitor 工具包, 启动 onmonitor,选择 Parameters菜单项后,再选择 Physical-log, 按回车,将物理日志的尺寸设置成需要的值,同时也可以将物理日志移到指定数据库空间中。
Press ESC to add physical log.
Press Interrupt to cancel the option and return to the Parameters menu.
Press F2 or CTRL-F for field level help.
ADDING PHYSICAL LOG
Physical Log Size [ 5000] Kbytes
Dbspace Name [rootdbs ]
或者通过命令形式改变物理日志文件的大小与位置:
$ onparams -p -d dbspace_name -s phy_log_size
逻辑日志保存数据在修改后的映像,一般情况下它占整个日志空间尺寸的3/4。逻辑日志空 间的尺寸为逻辑文件尺寸与逻辑日志文件个数的乘积。逻辑日志文件的个数不 得少于 3个。
启动 onmonitor,如果需要增加逻辑日志文件数选择 Parameters菜单项后再选择 Add-log,如果需要减 少逻 辑日志文件数选择 Parameter 菜单项后再选择Drplog。增加逻辑日志时只需在键盘上输入逻辑日志文件将加入的数据库空间名。如果用户需要将全部逻辑日志移到指定的数据库空间中去,则需要现在指定的数据库空间中加入足够的逻辑日志文件,然后作一次实际的0级备份和逻辑日志的自动备份(这两项备份将在下一节中讲述),最后将原来的数据库空间中逻辑日志文件删 除。
Press ESC to add a logical log.
Press Interrupt to cancel the option and return to the Parameters menu.
Press F2 or CTRL-F for field level help.
ADDING A LOGICAL LOG
Logical Log Size [ 5000] Kbytes
Dbspace Name [rootdbs ]
或者通过命令形式改变逻辑日志文件的大小,位置与个数:
$ onparams -a -d dbspace_name -s log_size (增加逻辑日志)
$ onparams -d -l log_id (删除逻辑日志)