暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【oracle数据库】对表空间的数据文件进行修改名称或者迁移动作

原创 龙镇君 2022-11-15
2325

对于oracle数据库表空间数据文件:

查出所有的数据文件名称以及路径:

select * from dba_data_files;


查出所有的数据文件名称以及路径:


SELECT * FROM DBA_DATA_FILES;


ORACLE 11G数据文件修改迁移方式:


首先需要将数据文件进行离线OFFLINE:

SQL> ALTER DATABASE DATAFILE '/U01/ORACLE/ORCL/EMP01.DBF' OFFLINE;

然后再数据库中将其迁移至新的路径或者名称修改:

SQL> ! CP /U01/ORACLE/ORCL/EMP01.DBF /U01/HOME/ORACLE/ORCL/EMP01.DBF

再就是在数据库中修改:

SQL>ALTER DATABASE RENAME FILE '/U01/ORACLE/ORCL/EMP01.DBF' TO '/U01/HOME/ORACLE/ORCL/EMP01.DBF';


再就是把之前的数据文件进行在线设置:

SQL>ALTER DATABASE DATAFILE '/U01/HOME/ORACLE/ORCL/EMP01.DBF' ONLINE;

如果出现需要恢复的报错,需要执行一下命令:

SQL> RECOVER DATAFILE '/U01/HOME/ORACLE/ORCL/EMP01.DBF';


查询状态:

SQL>SELECT TS#,FILE#,NAME,STATUS FROM V$DATAFILE 


ORACLE 12C及以后数据文件修改迁移方式:

在Oracle数据库12c及以后版本数据库对数据文件的迁移或修改名不再需要太多繁琐的步骤。
在据库12c及以后版本数据库,可以使用ALTER DATABASE MOVE DATAFILE这样的SQL语句对数据文件进行
在线修改数据文件名称和移动数据文件。

重命名数据文件:

SQL> ALTER DATABASE MOVE DATAFILE '/U01/ORACLE/ORCL/EMP01.DBF' TO '/U01/ORACLE/ORCL/EMP02.DBF';

迁移:

SQL> ALTER DATABASE MOVE DATAFILE '/U01/ORACLE/ORCL/EMP01.DBF' TO '/U01/HOME/ORACLE/ORCL/EMP01.DBF';

从非ASM迁移数据文件至ASM:

SQL> ALTER DATABASE MOVE DATAFILE '/U01/ORACLE/ORCL/EMP01.DBF' TO '+DATA';

将数据文件从一个ASM磁盘群组迁移至另一个ASM磁盘群组:
SQL> ALTER DATABASE MOVE DATAFILE '+DATA/U01/ORACLE/ORCL/EMP01.DBF' TO '+DATAFILE';

在数据文件已存在于新路径的情况下,以相同的命名将其覆盖:
SQL> ALTER DATABASE MOVE DATAFILE '/U01/ORACLE/ORCL/EMP01.DBF' TO '/U01/HOME/ORACLE/ORCL/EMP01.DBF' REUSE;
  复制文件到一个新路径,同时在原路径下保留其拷贝:
SQL> ALTER DATABASE MOVE DATAFILE '/U01/ORACLE/ORCL/EMP01.DBF' TO '/U01/HOME/ORACLE/ORCL/EMP01.DBF' KEEP;



「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论