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

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代码:

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

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