oracle 修改数据文件路径

bianxq 2020-04-27


 

一、关库修改文件位置

1.连接到数据库

 []$ ./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表空间;

1
2
3
4
5
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;

相关推荐