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

2015-07-16 12:08:29 · 作者: · 浏览: 5

1、环境介绍


服务器硬件:Dell R710


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


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


注:这里填写分区的end柱面,或者填写+??M,K的方式,linux会自动算出柱面号。我这里要把剩余的硬盘空间全都分到这个分区,所以使用默认值。


?


Command (m for help): p


?


Disk