Oracle表空间数据文件重命名和修改路径时报错的解决方案
在SQL Plus中对Oracle数据库表空间的数据文件进行重命名和修改路径时报错ORA-01511, ORA-01121, ORA-01110的解决办法
问题描述
在对 Oracle 数据库文件进行重命名或修改路径时发生下面的错误
1 |
|
解决方案
步骤
- 以SYSTEM用户(只要具有可以修改数据文件的权限即可)登录数据库
- 将需要修改的表空间设置为离线(需要修改的数据文件属于该表空间)
- 手动先复制原数据文件到指定目录下,并重命名该文件
- 最后在SQL Plus中执行相关的修改操作
- 如需要对数据文件进行额外操作,需要及时将表空间再次设置为在线
样例
实现目标
将原数据文件'Dir1\example01.dbf'
(其对应表空间为example
)重新命名并放置在新的路径下,成为新的数据文件'Dir2\example02.dbf'
。
代码
1 |
|
原理
通过改变指针指向的方式(由旧文件改为指向具有新路径的新名字的副本)来避开文件占用的问题。
参考资料
- 坑向: 关于在Navicat中对Oracle数据库表空间的数据文件进行重命名和修改路径时报错ORA-01511,ORA-01121,ORA-01110的解决办法:https://blog.csdn.net/New_joined_lion/article/details/108973905?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_antiscan&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_antiscan