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'
执行结果为:
FILE_NAME
FILE_ID
TABLESPACE_NAME
BYTES
BLOCKS
STATUS
RELATIVE_FNO
AUTOEXTENSIBLE
MAXBYTES
MAXBLOCKS
INCREMENT_BY
USER_BYTES
USER_BLOCKS
ONLINE_STATUS
/AFC_DB/oradata/idx_operation01.dbf
19
IDX_OPERATION
4160749568
507904
AVAILABLE
19
YES
4292870144
524032
8192
4159700992
507776
ONLINE
/AFC_DB2/oradata/idx_operation02.dbf
30
IDX_OPERATION
2080374784
253952
AVAILABLE
30
YES
3219128320
392960
8192
2079326208
253824
ONLINE
/AFC_DB2/oradata/idx_operation03.dbf
33
IDX_OPERATION
557842432
68096
AVAILABLE
33
YES
3221225472
393216
1024
556793856
67968
ONLINE
/AFC_DB2/oradata/idx_operation04.dbf
34
IDX_OPERATION
557842432
68096
AVAILABLE
34
YES
3221225472
393216
1024
556793856
67968
ONLINE
/AFC_DB3/oradata/idx_operation05.dbf
53
IDX_OPERATION
2147483648
262144
AVAILABLE
53
NO
0
(还有两个表,就不贴出来了)
可以看到,新的数据文件都在/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_DB6]$ mv /AFC_DB3/oradata/idx_ud_sale13.dbf /AFC_DB6/oradata/idx_ud_sale13.dbf
[oracle@ccsvr AFC_DB6]$ mv /AFC_DB3/oradata/dx_operation05.dbf /AFC_DB6/oradata/idx_operation05.dbf
[oracle@ccsvr AFC_DB6]$ mv /AFC_DB3/oradata/data_ud_sale23.dbf /AFC_DB6/oradata/data_ud_sale23.dbf
[oracle@ccsvr AFC_DB6]$ cd oradata/
[oracle@ccsvr oradata]$ ls -lh
total 14G
-rw-r----- 1 oracle oinstall 11G May 17 22:00 data_ud_sale23.dbf
-rw-r----- 1 oracle oinstall 2.1G May 17 22:00 idx_operation05.dbf
-rw-r----- 1 oracle oinstall 1.1G May 17 22:00 idx_ud_sale13.dbf
启动数据库挂载:
[oracle@ccsvr oradata]$ sqlplus / as sysdba;
SQL> startup mount;
ORACLE instance started.
Total System Global Area 2147483648 bytes
Fixed Size 1220432 bytes
Variable Size 218103984 bytes
Database Buffers 1912602624 bytes
Redo Buffers 15556608 bytes
Database mounted.
使用rename命名使移动后的数据文件生效:
SQL> alter database rename file '/AFC_DB3/oradata/idx_ud_sale13.dbf' to '/AFC_DB6/oradata/idx_ud_sale13.dbf';
Database altered.
SQL> alter database rename file '/AFC_DB3/oradata/dx_operation05.dbf' to '/AFC_DB6/oradata/idx_operation05.dbf';
Database altered.
SQL> alter database rename file '/AFC_DB3/oradata/data_ud_sale23.dbf' to '/AFC_DB6/oradata/data_ud_sale23.dbf';
Database altered.
打开数据库:
SQL> alter database open;
Database altered.
最后,根据需要,增加三个数据库文件,扩大表空间:
SQL> alter tablespace IDX_UD_SALE add datafile '/AFC_DB6/oradata/idx_ud_sale14.dbf' size 4096M;
Tablespace altered.
SQL> alter tablespace IDX_OPERATION add datafile '/AFC_DB6/oradata/idx_operation06.dbf' size 2048M;
Tablespace altered.
SQL> alter tablespace DATA_UD_SALE add datafile '/AFC_DB6/oradata/data_ud_sale24.dbf' size 8192M;
Tablespace altered.
检查下AFC_DB6的数据文件:
[oracle@ccsvr oradata]$ pwd
/AFC_DB6/oradata
[oracle@ccsvr oradata]$ ls -alh
total 28G
drwxr-xr-x 2 oracle oinstall 4.0K May 17 22:48 .
drwxrwxrwx 4 root root 4.0K May 17 22:04 ..
-rw-r----- 1 oracle oinstall 11G May 17 22:30 data_ud_sale23.dbf
-rw-r----- 1 oracle oinstall 8.1G May 17 22:50 data_ud_sale24.dbf
-rw-r----- 1 oracle oinstall 2.1G May 17 22:30 idx_operation05.dbf
-rw-r----- 1 oracle oinstall 2.1G May 17 22:46 idx_operation06.dbf
-rw-r----- 1 oracle oinstall 1.1G May 17 22:30 idx_ud_sale13.dbf
-rw-r----- 1 oracle oinstall 4.1G May 17 22:44 idx_ud_sale14.dbf
即有移动过来的数据文件,也有新增的数据文件。
再查看表空间使用,已经下降了:
查询时间
表空间名称
表空间所属用户
总空间(单位:MB)
使用表空间(单位:MB)
未使用空间(单位:MB)
使用表空间占百分比
2015-05-17 22:54:49
DATA_OPERATION
AFCDB
10920
9530
1390
87.27%
2015-05-17 22:54:49
DATA_PARAMETER
AFCDB
512
223
289
43.55%
2015-05-17 22:54:49
DATA_STATIS
AFCDB
512
437
75
85.35%
2015-05-17 22:54:49
DATA_UD_SALE
AFCDB
68414
60179
8235
87.96%
2015-05-17 22:54:49
IDX_OPERATION
AFCDB
11112
9063
2049
81.56%
2015-05-17 22:54:49
IDX_PARAMETER
AFCDB
256
104
152
40.63%
2015-05-17 22:54:49
IDX_SPACE
AFCDB
256
61
195
23.83%
2015-05-17 22:54:49
IDX_UD_SALE
AFCDB
54054
49925
4129
92.36%
磁盘使用情况也正常了。
至此,操作完成。
最后附上查看表空间的SQL代码: