Oracle移动数据文件
数据库在使用中发现“数据库文件”所在的目录不是开始规划的指定目录,需要将“数据文件”移动到其他目录下进行更改。
1.连接到数据库
[oracle@linux]$ ./sqlplus /nolog
SQL> conn / as sysdba
2. 查看数据文件位置
SQL> select file_name from sys.dba_data_files;
SQL> select name from v$datafile;
FILE_NAME
------------------------------------------------------------------------
/oradata/DATABASE/users01.dbf
/oradata/DATABASE/undotbs01.dbf
/oradata/DATABASE/sysaux01.dbf
/oradata/DATABASE/system01.dbf
/oradata/DATABASE/work.dbf
2. 关闭数据库
SQL> shutdown immediate;
3. 移动文件到新的位置(比如新的位置为/oradata/NEWdatabase/ )
mkdir /oradata/NEWdatabase //创建数据库文件存放目录
chown -R oracle:oinstall /oradata/NEWdatabase //指定属主属组存放目录
chmod -R 755 /oradata/NEWdatabase //授权存放目录
4.移动文件到新的位置
cd /oradata/DATABASE/
mv users01.dbf undotbs01.dbf sysaux01.dbf system01.dbf work.dbf /oradata/NEWdatabase
5. 以mount模式启动数据库
SQL> startup mount;
SQL> alter database rename file '/oradata/DATABASE/work.dbf' to '/oradata/NEWdatabase/work.dbf';
对每一个要移动的文件重复执行上面的alter database rename file ... to ...
6. 打开数据库
SQL> alter database open;
7.再次查看文件位置,发现已经更该。
SQL> select file_name from sys.dba_data_files;
SQL> select name from v$datafile;