Linux服务器磁盘扩展和Oracle表空间文件迁移操作记

服务器硬件:Dell R710

服务器OS:红帽子Linux  RHEL4.8

数据库:Oracle 10g

2、出现的问题

因为数据表每天有上百万的数据写入表,加上建立索引,导致表空间不停增长,表空间被设置为自动增长,因此dbf文件在不断增大,硬盘空间在每天约400M的速度减少。数据库虽有自清理的脚本,清理3个月前的数据,但实际增加的数据太多,清理释放的空间不能满足需求了。

3、处理过程

解决思路是,该服务器的硬盘有预留空间,未完全划分的约有100G,可以建立新的分区,将已经存满的分区的数据库文件移动,来避免挂载点使用率达到100%,同时可以扩充表空间。

3.1 建立分区

以root账号登陆,查看目前使用情况:

[root@ccsvr ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda1            7.1G  3.2G  3.6G  48% /

/dev/sda3              44G  9.6G  32G  24% /AFC/Data

/dev/sda5              15G  3.9G  9.9G  29% /AFC/Log

/dev/sda2              63G  54G  5.8G  91% /AFC_DB

/dev/sdb1              56G  39G  15G  73% /AFC_DB2

none                  4.0G    0  4.0G  0% /dev/shm

/dev/sda6            4.9G  3.3G  1.4G  72% /oracle

/dev/sdb2              56G  52G  529M 100% /AFC_DB3

其中 /dev/sdb2已经快接近用完了。

查看下分区情况:

[root@ccsvr ~]# fdisk -l

Disk /dev/sda: 146.1 GB, 146163105792 bytes

255 heads, 63 sectors/track, 17769 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start        End      Blocks  Id  System

/dev/sda1  *          1        936    7518388+  83  Linux

/dev/sda2            937        9222    66557295  83  Linux

/dev/sda3            9223      14959    46082452+  83  Linux

/dev/sda4          14960      17769    22571325    5  Extended

/dev/sda5          14960      16871    15358108+  83  Linux

/dev/sda6          16872      17508    5116671  83  Linux

/dev/sda7          17509      17769    2096451  82  Linux swap

Disk /dev/sdb: 299.4 GB, 299439751168 bytes

255 heads, 63 sectors/track, 36404 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start        End      Blocks  Id  System

/dev/sdb1              1        7296    58605088+  83  Linux

/dev/sdb2            7297      14592    58605120  83  Linux

/dev/sdb3          14593      32829  146488702+  5  Extended

/dev/sdb5          14593      21888    58605088+  83  Linux

可以看到有两块硬盘,sda为第一块SCSI硬盘,sdb为第二块SCSI硬盘,其实服务器时四块硬盘,做的raid1。

其中,第一块硬盘,dell的标配146G,安装的操作系统,oracle数据库,已经分完了,三个主分区,三个扩展分区,/dev/sda2 (/AFC_DB)是开始建立的数据库文件存放目录。

第二块硬盘,是后来增加的300G,/dev/sdb1(/AFC_DB2),/dev/sdb2(/AFC_DB3)是两个主分区,作用也是来放数据库文件的,后面还有一个扩展分区/dev/sdb5,这个应该

也是后来加这块硬盘的人创建的,但是没有挂载上。

我的工作就是把/dev/sdb5挂载上,把硬盘还有的空间(32829~21888)的柱面建立成第二个扩展分区,/dev/sdb6。

[root@ccsvr ~]# fdisk  /dev/sdb

Command (m for help): p

Disk /dev/sdb: 299.4 GB, 299439751168 bytes

255 heads, 63 sectors/track, 36404 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start        End      Blocks  Id  System

/dev/sdb1              1        7296    58605088+  83  Linux

/dev/sdb2            7297      14592    58605120  83  Linux

/dev/sdb3          14593      32829  146488702+  5  Extended

/dev/sdb5          14593      21888    58605088+  83  Linux

/dev/sdb6          21889      32829    87883551  83  Linux

注:对第二块硬盘进行分区操作,p:查看分区情况;

Command (m for help): n

Command action

l  logical (5 or over)

p  primary partition (1-4)

l

First cylinder (21889-32829, default 21889):

Using default value 21889

Last cylinder or +size or +sizeM or +sizeK (21889-32829, default 32829):

Using default value 32829

注:n:创建新的分区,

接下来选择分区类型:l:逻辑分区,p主分区

l  logical (5 or over),指创建逻辑分区,分区编号要大于5,因为已经存在db5了

p  primary partition (1-4),指创建主分区,编号1—4,linux规定主分区只能有四个。

我这里输入的l,创建逻辑分区。

First cylinder (21889-32829, default 21889):

Using default value 21889

注:这个就是填写分区的start柱面,这里直接打回车,使用默认值;

Last cylinder or +size or +sizeM or +sizeK (21889-32829, default 32829):

Using default value 32829

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/a2d6bd216eded82d07aaad88a272f826.html