一、關庫修改文件位置
1.連接到數據庫
[oracle@linux]$ ./sqlplus /nolog
SQL> conn / as sysdba
2. 查看數據文件位置
SQL> select name from v$datafile;
FILE_NAME
------------------------------------------------------------------------
/oradata/PMPTGDB/users01.dbf
/oradata/PMPTGDB/undotbs01.dbf
/oradata/PMPTGDB/sysaux01.dbf
/oradata/PMPTGDB/system01.dbf
/oradata/PMPTGDB/work.dbf
3. 關閉數據庫
SQL> shutdown immediate;
4. 移動文件到新的位置(比如新的位置為/media/hdd1/oradata/PMPTGDB )
cd /oradata/PMPTGDB/
mv users01.dbf undotbs01.dbf sysaux01.dbf system01.dbf work.dbf /media/hdd1/oradata/PMPTGDB
5. 以mount模式啟動數據庫
SQL> startup mount;
SQL> alter database rename file '/oradata/PMPTGDB/users01.dbf' to '/media/hdd1/oradata/PMPTGDB/users01.dbf ';
對每一個要移動的文件重復執行上面的alter database rename file ... to ...
6. 打開數據庫
SQL> alter database open;
再次查看文件位置,發現已經更該。
二、在線修改
方法1:表空間offline
主要步驟:
1、offline表空間:alter tablespace tablespace_name offline;
2、復制數據文件到新的目錄;
3、rename修改表空間,並修改控制文件;
4、online表空間;
select file_name,tablespace_name,online_status from dba_data_files; alter tablespace TS_MCC offline; host mv /oracle/app/orcldata/orcl/ts_mcc_1.dat /data/ts_mcc_1.dat alter database rename file '/oracle/app/orcldata/orcl/ts_mcc_1.dat' to '/data/ts_mcc_1.dat'; alter tablespace TS_MCC online;
