【IT168 技术文档】数据库文件移动最占用时间的就是拷贝文件,而这个时候在mount状态下移动占用时间很多,对应用有影响,最近自己想了一下办法,可以在数据库正常运行情况下,移动数据文件,步骤如下:
1. alter tablespace tbs_name read only;
2.cp /oradata/test.dbf /oradata1/test.dbf
3.alter tablespace tbs_name offline;
4.alter tablespace tbs_name rename datafile '/oradata/test.dbf' to '/oradata/test.dbf';
5 alter tablespace tbs_name online;
6 alter tablespace tbs_name read write;
具体操作如下:
SQL> select file_name,tablespace_name from dba_data_files;
FILE_NAME TABLESPACE_NAME
---------------------------------------- ------------------------------
/oradata/TR01/system01.dbf SYSTEM
/oradata/TR01/undotbs01.dbf UNDOTBS1
/oradata/TR01/users01.dbf USERS
/oradata/TR01/test.dbf TEST
/oradata/TR01/perfstat.dbf PERFSTAT
![]()
SQL> alter tablespace test read only;
![]()
Tablespace altered.
![]()
SQL> ! cp /oradata/TR01/test.dbf /oradata/test.dbf
![]()
SQL> ! ls /oradate
/oradate not found
![]()
SQL> ! ls /oradata
BPDV1 PGDV1 TR01 lost+found test test.dbf test1
![]()
SQL> alter tablespace test offline;
![]()
Tablespace altered.
![]()
SQL> alter database rename file '/oradata/TR01/test.dbf' to '/oradata/test.dbf';
![]()
Database altered.
![]()
SQL> alter tablespace test online;
![]()
Tablespace altered.
![]()
SQL> alter tablespace test read write;
![]()
Tablespace altered.
![]()
SQL> select file_name,tablespace_name from dba_data_files;
![]()
FILE_NAME TABLESPACE_NAME
---------------------------------------- ------------------------------
/oradata/TR01/system01.dbf SYSTEM
/oradata/TR01/undotbs01.dbf UNDOTBS1
/oradata/TR01/users01.dbf USERS
/oradata/test.dbf TEST
/oradata/TR01/perfstat.dbf PERFSTAT
