MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 数据库 / 正文

Oracle 更改表空间的数据文件位置

2024-11-26 18:09 huorong 数据库 6 ℃ 0 评论

概述:

Oracle数据库数据文件的位置和信息都被记录在控制文件中,操作系统命令rm或cp是不会更改控制文件记录的,必须通过alter操作去更改刷新数据库控制文件中数据文件的相关信息,以此确保数据库能够正常运行。


方法一:

1、offline表空间:alter tablespace tablespace_name offline;

2、复制数据文件到新的目录;

3、rename修改表空间,并修改控制文件;

4、online表空间;

SQL> alter tablespace testdb offline;
cp /u01/app/oracle/oradata/testdb.dbf /u01/app/oracle/oradata/TESTDB/testdb.dbf
SQL> alter tablespace testdb rename datafile '/u01/app/oracle/oradata/testdb.dbf' to '/u01/app/oracle/oradata/TESTDB/testdb.dbf';
SQL> alter tablespace testdb online;
SQL> select name from v$datafile;

方法二:

1、关闭数据库;

2、复制数据文件到新的位置;

3、启动数据库到mount状态;

4、通过SQL修改数据文件位置;

5、打开数据库;

SQL> shutdown immediate;
cp /u01/app/oracle/oradata/testdb.dbf /u01/app/oracle/oradata/TESTDB/testdb.dbf
SQL> startup mount;
SQL> alter database rename file '/u01/app/oracle/oradata/testdb.dbf' to '/u01/app/oracle/oradata/TESTDB/testdb.dbf';
SQL> alter database open;
SQL> select name from v$datafile;

结束:

到此关于Oracle 更改表空间数据文件位置的文章就介绍到这里,更多DBA相关技术文档请双击加关注,希望大家以后多多支持。

Tags:oracle 给用户表空间

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言