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

2015-07-16 12:08:29 · 作者: · 浏览: 2
? ? ? ? ? ? ? ? /sys? ? ? ? ? ? ? ? ? ? sysfs? defaults? ? ? ? 0 0


LABEL=SWAP-sda7? ? ? ? swap? ? ? ? ? ? ? ? ? ? swap? ? defaults? ? ? ? 0 0


/dev/sdb2? ? ? ? ? ? /AFC_DB3? ? ? ? ? ? ? ? ext3? ? defaults? ? ? ? 1 2


/dev/scd0? ? ? ? ? ? ? /media/cdrom? ? ? ? ? ? auto? ? pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0


使用vi编辑器添加两条:


[root@ccsvr etc]# vi fstab


[root@ccsvr etc]# more fstab


# This file is edited by fstab-sync - see 'man fstab-sync' for details


LABEL=/? ? ? ? ? ? ? ? /? ? ? ? ? ? ? ? ? ? ? ext3? ? defaults? ? ? ? 1 1


LABEL=/AFC/Data? ? ? ? /AFC/Data? ? ? ? ? ? ? ext3? ? defaults? ? ? ? 1 2


LABEL=/AFC/Log? ? ? ? ? /AFC/Log? ? ? ? ? ? ? ? ext3? ? defaults? ? ? ? 1 2


LABEL=/AFC_DB? ? ? ? ? /AFC_DB? ? ? ? ? ? ? ? ext3? ? defaults? ? ? ? 1 2


/dev/sdb1? ? ? ? ? ? /AFC_DB2? ? ? ? ? ? ? ? ext3? ? defaults? ? ? ? 1 2


none? ? ? ? ? ? ? ? ? ? /dev/pts? ? ? ? ? ? ? ? devpts? gid=5,mode=620? 0 0


none? ? ? ? ? ? ? ? ? ? /dev/shm? ? ? ? ? ? ? ? tmpfs? defaults? ? ? ? 0 0


LABEL=/oracle? ? ? ? ? /oracle? ? ? ? ? ? ? ? ext3? ? defaults? ? ? ? 1 2


none? ? ? ? ? ? ? ? ? ? /proc? ? ? ? ? ? ? ? ? proc? ? defaults? ? ? ? 0 0


none? ? ? ? ? ? ? ? ? ? /sys? ? ? ? ? ? ? ? ? ? sysfs? defaults? ? ? ? 0 0


LABEL=SWAP-sda7? ? ? ? swap? ? ? ? ? ? ? ? ? ? swap? ? defaults? ? ? ? 0 0


/dev/sdb2? ? ? ? ? ? /AFC_DB3? ? ? ? ? ? ? ? ext3? ? defaults? ? ? ? 1 2


/dev/sdb5? ? ? ? ? ? ? /AFC_DB5? ? ? ? ? ? ? ? ext3? ? defaults? ? ? ? 1 2


/dev/sdb6? ? ? ? ? ? ? /AFC_DB6? ? ? ? ? ? ? ? ext3? ? defaults? ? ? ? 1 2


/dev/scd0? ? ? ? ? ? ? /media/cdrom? ? ? ? ? ? auto? ? pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0


这里需要对fstab文件说明:


fstab(/etc/fstab)是Linux下比较重要的配置文件,它包含了系统在启动时挂载文件系统和存储设备的详细信息。


这个文件有六列
?第1列是需要挂载的文件系统或存储设备;
?第2列是挂载点;
?第3列指定文件系统或分区的类型;


?第4列为挂载选项,详细参考man mount. 下面列出一些常用的选项:


? auto: 系统自动挂载,fstab默认就是这个选项
? ro: read-only
? rw: read-write
? defaults: rw, suid, dev, exec, auto, nouser, and async.


?第5列为dump选项,设置是否让备份程序dump备份文件系统,0为忽略,1为备份。


?第6列为fsck选项,告诉fsck程序以什么顺序检查文件系统,0为忽略,其它数字顺序。


?


挂载后,df命令就可以看到文件系统了:


[root@ccsvr etc]# df -h


Filesystem? ? ? ? ? ? Size? Used Avail Use% Mounted on


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


/dev/sda3? ? ? ? ? ? ? 44G? 11G? 31G? 26% /AFC/Data


/dev/sda5? ? ? ? ? ? ? 15G? 5.8G? 8.0G? 42% /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? 400M 100% /AFC_DB3


/dev/sdb5? ? ? ? ? ? ? 56G? 85M? 53G? 1% /AFC_DB5


/dev/sdb6? ? ? ? ? ? ? 83G? 89M? 79G? 1% /AFC_DB6


然后,处理Oracle的问题:


以system账户登录数据库,这里我用的pl-sql工具,查询表空间使用量:


可以看到三个表空间使用都达到99%以上了。


使用sql语句查询表空间文件路径:


1 select * from dba_data_files t where t.TABLESPACE_NAME = 'IDX_UD_SALE'
2 select * from dba_data_files t where t.TABLESPACE_NAME = 'IDX_OPERATION'
3 select * from dba_data_files t where t.TABLESPACE_NAME = 'DATA_UD_SALE'


执行结果为:


(还有两个表,就不贴出来了)


可以看到,新的数据文件都在/AFC_DB3/oradata目录下,现在需要将这三个数据dbf文件移动,来释放/AFC_DB3的空间。


这里我们使用较大的一个分区,/dev/sdb6来存放新的oracle数据库文件,/dev/sdb5暂时闲置,留作以后再用。


[root@ccsvr /]# su - oracle


登陆oracle账号。


[oracle@ccsvr ~]$ cd /AFC_DB6


[oracle@ccsvr AFC_DB6]$ mkdir oradata


[oracle@ccsvr AFC_DB6]$ ll


total 24


drwx------? 2 root? root? ? 16384 May 17 21:24 lost+found


drwxr-xr-x? 2 oracle oinstall? 4096 May 17 22:04 oradata


创建oradata目录。


[oracle@ccsvr ~]$ sqlplus / as sysdba;


Connected to:


Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production


With the Partitioning, OLAP and Data Mining options


?


SQL> shutdown immediate;


Database closed.


Database dismounted.


ORACLE instance shut down.


先停止数据库。


然后,将已经快100%used的目录/AFC_DB3中的三个表空间文件移走,要使用oracle账户移动文件:


[oracle@ccsvr AFC