Oracle移动数据文件

有时候因为某个分区或者某块磁盘满了需要手动去移动数据文件,这里提供了两种方式。

Posted by caosw on September 12, 2018

Oracle移动数据文件


一、使用alter database移动数据文件

1、关闭数据库
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
2、在SQL*Plus中执行操作系统命名移动数据文件
SQL> ! mv /u01/test01.dbf /u01/app/oracle/oradata/orcl/
3、以mount模式启动数据库
SQL> startup mount
ORACLE instance started.

Total System Global Area 2455228416 bytes
Fixed Size                  2255712 bytes
Variable Size             620758176 bytes
Database Buffers         1811939328 bytes
Redo Buffers               20275200 bytes
4、改变控制文件中的路径名,以将其执行数据文件的新位置
SQL> alter database rename file '/u01/test01.dbf' to '/u01/app/oracle/oradata/orcl/test01.dbf';

Database altered.
5、打开数据库,并建立更新后的控制文件的备份副本
SQL> alter database open;

Database altered.

SQL> alter database backup controlfile to trace;

Database altered.

二、使用alter tablespace移动数据文件

1、对表空间进行脱机处理
SQL> alter tablespace test02 offline;

Tablespace altered.
2、使用操作系统命令移动数据文件
SQL> ! mv /u01/app/oracle/oradata/orcl/test02.dbf /epoint/datafile/
3、使用alter tablespace改变数据库中数据文件的引用
SQL> alter tablespace test02 rename datafile '/u01/app/oracle/oradata/orcl/test02.dbf' to '/epoint/datafile/test02.dbf';

Tablespace altered.
4、将表空间返回到联机状态
SQL> alter tablespace test02 online;

Tablespace altered.

更推荐使用第二种方式,只需要将表空间离线即可不要重启数据库。