利用Oracle种子恢复数据库(3)——不停库修改数据文件的位置
除了停库使用alter database命令更改数据文件的位置意外,还可以通过设置表空间为offline修改数据文件的位置。但是该方法不能修改system表空间对应的数据文件。下面以users表空间为例:
一、查看数据文件的信息
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/usr/local/oradata/student/system01.dbf
/usr/local/oradata/student/sysaux01.dbf
/usr/local/oradata/student/undotbs01.dbf
/usr/local/oradata/student/users01.dbf
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
/usr/local/oradata/student/temp01.dbf
二、把表空间设置为offline
SQL> alter tablespace users offline;
Tablespace altered.
三、移动users表空间对应的数据文件
SQL> host mv /usr/local/oradata/student/users01.dbf /usr/local/oradata/users01.dbf
四、在控制文件中修改数据文件的位置
SQL> alter tablespace users rename datafile '/usr/local/oradata/student/users01.dbf' to '/usr/local/oradata/users01.dbf';
Tablespace altered.
五、把表空间设置为online
SQL> alter tablespace users online;
Tablespace altered.
六、查看数据文件的信息
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/usr/local/oradata/student/system01.dbf
/usr/local/oradata/student/sysaux01.dbf
/usr/local/oradata/student/undotbs01.dbf
/usr/local/oradata/users01.dbf