论坛首页 综合技术论坛

小结给数据库增加表空间的方法

浏览 5616 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-05   最后修改:2008-12-07

     本来给数据库增加表空间是系统管理员或者dba干的活,但是客户有时候也太”信任“我了,什么活都拿给我干,没法子只好硬着头皮搞了。平时我遇到最多的数据库就是oracle,db2,informix给db2增加表空间的情况还没有遇到过,先在这里总结一下oracle和informix增加表空间的方法。

     ORACLE

     在slqplus执行

 

alter tablespace 表空间名 add datafile '路径/数据文件' size 1000m Autoextend on next 100m 

 就给oracle表空间增加了一个1000m的数据文件,如果使用裸设备把datafile的路径指定到一个逻辑卷(对于不用LVM的系统直接指定到分区也一样)上就可以了。如果不用自动扩展的表空间使用maxsize指定最大值就行了,命令如下

alter tablespace 表空间名 add datafile '路径/数据文件' size 1000m maxsize 2000m   

    INFORMIX

    使用onspace命令用不同参数就可以搞定新建\删除\增加表空间的操作

    以下的内容摘抄于http://www.chinaitpower.com/2005September/2005-09-13/206738.html

利用onspaces命令创建数据空间

语法: onspaces -c [-b] [-d] [-z] [-m] [-o] [-p] [-s] [-t]

-c      创建blobspace或dbspace

-b blobspace blobspace名

-d dbspace   dbspace名

-g page size  blobpages大小

-m mirror    镜像设备设的全路径名和偏移量(KB)

-o offset    偏移量(KB)

-p pathname   chunk设备的全路径名

-s size    dbspace大小(KB)

-t       创建临时dbspace


onspaces 命令用于创建数据空间、临时空间和存储blob数据的空间(blobspace)。键入onspaces--可以获得该命令的联机帮助。利用onstat -D或onstat -d可以看到系统中的关于数据空间的重要信息。包括:chunk的状态、空闲、每一chunk读写的次数。系统中可能包括的多个系统空间,特别当进行数据分片后,我们建议用户最好能利用命令行来创建数据空间。

可以利用如下命令创建数据空间:

onspaces -c -d datadbs1 -o 0 -p /dev/rrvol3 -s 60000

可以用如下的方式创建临时数据空间:

onspaces -c -d tempdbs1 -t -o 0 -p /dev/rrvol5 -s 80000

在系统中,临时数据空间非常重要,通常情况下,应将多个临时数据空间分布在独立的物理设备上。


利用onspaces命令删除数据空间

增加或删除chunks

语法: onspaces -a -d [-m] [-o] [-p]

-a spacename    为dbspace新增chunk

-m pathname    镜像设备的全路径名和偏移量(KB)

-o offset      主设备的偏移量(KB)

-p pathname     chunk设备的全路径名

-s size      chunk大小

-d spacename    删除chunk

-o offset      chunk设备的偏移量(KB)


onspaces不仅能创建数据空间还能删除数据空间、临时数据空间或存储blob数据的空间。在删除数据空间时,必须首先保证它是无用的,即该数据空间上无数据库或表。

如需删除数据空间,请键入如下命令:onspaces -d dbspace_name /blobspace_name

数据空间最初由一个chunk(first chunk)构成,一旦其空间用尽,用户必须追加chunk为了提高系统性能,用户在为数据空间分配chunk时需要计算以保证它的大小能适应未来的需要,否则在追加chunk的时候,它与先前的chunk在物理上不一定相邻,导致增加读取数据的时间。关于如何计算空间需求将在以后章节中阐述。利用 onspaces命令可以对数据空间增加或者删除chunk,除此之外,利用该命令还可以完成如下任务:启动镜像、中止镜像或改变chunk的状态。

例如可以用如下命令为数据空间增加chunk:

onspaces -a -d datadbs1 -0 60002 -p /dev/rrvol3 -s 60000

再如可以用如下方式从数据空间中删除chunk:

onspaces -d datadbs1 -o 60002 -p /dev/rrvol3 -s 60000
 

增加表空间,难免涉及到增加硬盘和LVM的操作,下面是LVM的参考资料

1、《通用线程:学习 Linux LVM,第 2部分》

http://www.ibm.com/developerworks/cn/linux/filesystem/lvm/lvm-2/

2、《LVM2添加新硬盘的方法》

http://hi.baidu.com/h2000r/blog/item/5d8f6c59e8892c292934f02a.html

3、《Linux LVM 的使用详解》

http://hi.baidu.com/sinyo/blog/item/d793be3e866682f9828b13c6.html

 

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics