一、停库修改数据文件目录、文件名 1、当前数据文件目录 SQL> select file_name from dba_data_files; FILE_NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/ORCL/users01.dbf /u01/app/oracle/oradata/ORCL/undotbs01.dbf /u01/app/oracle/oradata/ORCL/sysaux01.dbf /u01/app/oracle/oradata/ORCL/system01.dbf /u01/app/oracle/oradata/ORCL/test01.dbf /u01/app/oracle/tt.dbf /u01/app/oracle/ttt 2、停库 SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. 3、启动到mount状态 SQL> startup mount ORACLE instance started. Total System Global Area 939495424 bytes Fixed Size 2258840 bytes Variable Size 301992040 bytes Database Buffers 629145600 bytes Redo Buffers 6098944 bytes Database mounted. 4、拷贝数据文件 [oracle@node01 ~]$ cp /u01/app/oracle/ttt /u01/ap/u01/app/oracle/tt.dbf [oracle@node01 ~]$ cp /u01/app/oracle/tt.dbf /u01/app/oracle/oradata/ORCL/tt.dbf 5、修改数据文件目录 SQL> alter database rename file '/u01/app/oracle/tt.dbf' to '/u01/app/oracle/oradata/ORCL/tt.dbf'; SQL> alter database rename file '/u01/app/oracle/oradata/ORCL/tt.dbf' to '/u01/app/oracle/oradata/ORCL/tt01.dbf'; Database altered. 6、启动数据库到open状态 SQL> alter database open; Database altered. 7、再次查看数据文件目录 SQL> select file_name from dba_data_files; FILE_NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/ORCL/users01.dbf /u01/app/oracle/oradata/ORCL/undotbs01.dbf /u01/app/oracle/oradata/ORCL/sysaux01.dbf /u01/app/oracle/oradata/ORCL/system01.dbf /u01/app/oracle/oradata/ORCL/test01.dbf /u01/app/oracle/oradata/ORCL/tt01.dbf /u01/app/oracle/oradata/ORCL/ttt.dbf 二、在线修改数据文件目录、文件名 1、创建测试数据文件,测试表 SQL> create tablespace tttt datafile '/u01/app/oracle/tttt.dbf' size 100M; Tablespace created. SQL> create table tttt (id int) tablespace tttt; Table created. SQL> insert into tttt values (1); 1 row created. SQL> select * from tttt; ID ---------- 1 2、查看当前数据文件目录、文件名 SQL> select file_name from dba_data_files; FILE_NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/ORCL/users01.dbf /u01/app/oracle/oradata/ORCL/undotbs01.dbf /u01/app/oracle/oradata/ORCL/sysaux01.dbf /u01/app/oracle/oradata/ORCL/system01.dbf /u01/app/oracle/oradata/ORCL/test01.dbf /u01/app/oracle/oradata/ORCL/tt01.dbf /u01/app/oracle/oradata/ORCL/ttt.dbf /u01/app/oracle/oradata/ORCL/tttt.dbf 3、表空间offline SQL> alter tablespace tttt offline; Tablespace altered. 4、移动数据文件目录,修改文件名 SQL> host mv /u01/app/oracle/tttt.dbf /u01/app/oracle/oradata/ORCL/tttt.dbf 5、修改数据文件目录,文件名 SQL> alter database rename file '/u01/app/oracle/tttt.dbf' to '/u01/app/oracle/oradata/ORCL/tttt.dbf'; Database altered. 6、表空间online SQL> alter tablespace tttt online; Tablespace altered. 7、验证数据 SQL> select * from tttt; ID ---------- 1 8、验证数据文件目录,文件名 SQL> select file_name from dba_data_files; FILE_NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/ORCL/users01.dbf /u01/app/oracle/oradata/ORCL/undotbs01.dbf /u01/app/oracle/oradata/ORCL/sysaux01.dbf /u01/app/oracle/oradata/ORCL/system01.dbf /u01/app/oracle/oradata/ORCL/test01.dbf /u01/app/oracle/oradata/ORCL/tt01.dbf /u01/app/oracle/oradata/ORCL/ttt.dbf /u01/app/oracle/oradata/ORCL/tttt.dbf