VM扩充、分区、创建裸设备及informix创建数据空间、分片表
来源:互联网 发布:看帧数的软件 编辑:程序博客网 时间:2024/06/04 18:27
一、VM(虚拟机)扩充:
一般情况下VM在创建的时候分配的磁盘空间比较小,避免造成资源浪费。但是随着我们在VM上安装的东西和使用的越来越多,VM的容量可以被消耗殆尽,此时需要扩充我们的VM,方法如下:
1.在运行中键入"cmd"进入命令提示符界面,通过cd命令进入自己的VM安装目录(一直到vmware-vdiskmanager.exe目录)为止;
2.可以运行vmware-vdiskmanager.exe命令,查看其参数说明;
3.根据提示,运行下面命令:vmware-vdiskmanager.exe -x 12Gb "D:/My Documents/My Virtual Machines/Red Hat Enterprise Linux 4/Red Hat Enterprise Linux 4.vmdk" 。(引号里面的是指定要操作的虚拟机磁盘的具体文件,可以在自己的VM中查看具体位置);
4.重启虚拟机。
二、分区:
做到这一步只能工作只完成了一半。调整磁盘大小的后果,相当于增加了原来物理磁盘的柱面容量。文件系统不会随着增加,很多网站都介绍可以通过第三方分区工具来完成分区,其实我们只要明白了如何操作,完全可以自己完成分区、格式化和挂载工作(以下是Linux)。
1.运行"fdisk -l"命令,可以查看所有的分区情况,可以看到我的物理磁盘确实是12Gb了,"255heads,63sectors/track,1566cylinders",而在下面可以看到设备/dev/hda已经分区使用的有1044个cylinders(柱面),那么剩下的522个就是刚增加的或是未分区的。
2.运行"fdisk /dev/hda"对磁盘进行分区,常用的参数有:m列出帮助列表;n增加一个分区(e为扩展分区,P为基本分区);t指定分区型。
至此分区完成,此时分为两种情况,文件系统和裸设备。如果要做成文件系统,再进行格式化(常见的文件系统如ext3格式),然后通过mount挂载到某一个文件下面就可以使用了。还有一种直接是用裸设备,网上说裸设备简单的理解就是未格式化的设备,那么此时我刚分区的设备就可以直接作为裸设备使用,在网上看了一种创建裸设备的方法,通过raw绑定,但是操作过程中好像不行。最后我直接采用了ln建立软连接同样可以使用这些设备。
三、创建裸设备:
为了在后面供用户在informix数据库上创建数据空间,我将/dev/hda4设置成了扩展分区,在此基础上又进行了分区,hda5~hda9。
用informix用户登录,进行下面的操作:
mkdir rawdbs //创建一个文件,存放数据空间位置
su - root //切换至root用户
chown informix.informix /dev/hda5 //将设备设置为informix组下的informix用户拥有
chmod 660 /dev/hda5 //修改设备属性
su - informix
cd rawdbs
ln -s /dev/hda5 datadbs //建立从设备到文件的软链接
同理,将其他的设备分别建立软链接至logdbs,blobdbs,phydbs,tempdbs。
此时就可以利用这些设置存放我们的数据库文件了。
四、创建数据空间:
informix数据库在创建数据库的时候需要先需要存放的dbspace(数据空间),刚才创建的裸设备就是供创建数据空间使用的。
使用onspaces命令创建、修改及删除dbspace及trunk。如创建studbs:
onspaces -c -d studbs -o 0 -p rawdbs/datadbs -s 100000 (d名字 o偏移量 p文件路径 s大小)
为了在后面informix用户创建分区表(在不同的数据空间上存放表),创建4个studbs数据空间供以后使用,一般这些数据空间是分布在不同的设备中,由于我的rootdbs容量比较大,此次为了测试就将所有的dbspace放在这些,但此时就必须计算偏移量了,否则会造成trunk的重叠。大小均为100000,如下:
onspaces -c -d studbs1 -o 100002 -p rawdbs/rootdbs -s 100000
studbs2~studbs4的一样,偏移量分别是110004,120006,130008。
通过命令"onstat -d"可以查看所有的dbspace及trunk情况。
五、创建分片表:
分片表的作用就是数据分区管理,登录dbaccess,创建数据库db_stu_info;
1.创建分片表tb_stu_info,具体SQL语句如下:
CREATE TABLE tb_stu_info (id INTEGER PRIMARY KEY CONSTRAINT pk_stu_id,
name VARCHAR(20) NOT NULL,
grade FLOAT CHECK (grade >= 0 AND grade <= 100)
)
FRAGMENT BY EXPRESSION
(grade >= 90) IN studbs1,
(grade >= 75 AND grade < 90) IN studbs2,
(grade >= 60 AND grade < 75) IN studbs3,
(grade < 60) IN studbs4;
2.通过下面SQL语句可以查看分片表的信息:
SELECT * FROM SYSTABLES WHERE tabname = 'tb_stu_info'; //可以看到tb_stu_info的tabid为101
SELECT * FROM SYSFRAGMENTS WHERE tabid = 101;
通过插入大量数据,观察studbs1~studbs4的free容量,就知道数据是不是存到不同的数据空间里面去了。
3.一般情况下,informix需要手动执行更新,因此在每次操作完成之后应执行更行:
UPDATE STATISTICS HIGH FOR TABLE tb_stu_info
至此,所有工作完成。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cheng_fengming/archive/2010/08/21/5829055.aspx
- VM扩充、分区、创建裸设备及informix创建数据空间、分片表
- INFORMIX 分片表及索引
- 查询,创建,扩充表空间&&impdp--------表空间大全
- Oracle创建表空间/表分区
- Oracle创建数据库 及 创建表空间
- informix 分片表
- NC创建表空间及数据导入导出语句
- oracle创建表空间及用户,导出导入数据备份
- 创建表空间及用户
- 表空间及用户创建
- 创建用户及表空间
- 创建空间数据分区表及分区索引步骤(oracle 10g 且关键字非字符型)
- 创建空间数据分区表及分区索引步骤(oracle 10g 且关键字非字符型)
- huawei--创建表,用表分区、表空间、索引、主见
- Mysql 使用InnoDB引擎创建独立表空间分区
- oracle创建用户及分区
- 为informix数据库中的表创建同义词
- informix数据库中的表创建同义词
- ADO.NET--Command对象
- 关于学习编程
- 笔记一
- 《解惑3G业务:概念、实现和规划》杂录1
- 看视频,学java
- VM扩充、分区、创建裸设备及informix创建数据空间、分片表
- 《新概念51单片机C语言教程-入门、提高、开发、扩展全攻略》杂录1--单片机双机通信
- java学习进度
- 大小端、网络字节序问题
- 防卫导弹 解题报告
- 乌托邦
- HDOJ_1160 FatMouse's Speed 解题报告
- HDOJ_1159 Common Subsequence 解题报告
- C语言测试:想成为嵌入式程序员应知道的0x10个基本问题