在Oracle中,如何移动或重命名数据文件?
有3种办法:
(1)关闭数据库,利用OS拷贝,步骤如下所示:
A、SHUTDOWN IMMEDIATE关闭数据库
B、在OS下拷贝数据文件到新的地点
C、STARTUP MOUNT启动数据库到MOUNT状态下
D、ALTER DATABASE RENAME FILE '老文件' TO '新文件';
E、ALTER DATABASE OPEN;打开数据库
(2)利用RMAN联机操作
RMAN> sql "alter database datafile ''file name'' offline";
RMAN> run {
2> copy datafile 'old file location' to 'new file location';
3> switch datafile ' old file location' to datafilecopy ' new file location';
4> }
RMAN> sql "alter database datafile ''file name'' online";
其实利用OS拷贝也可以联机操作,不关闭数据库,与RMAN的步骤一样,利用RMAN与利用OS拷贝的原理一样,在RMAN中COPY命令是拷贝数据文件,相当于OS的CP,而SWITCH则相当于ALTER DATABASE RENAME用来更新控制文件。
(3)利用ALTER TABLESPACE操作
ALTER TABLESPACE只能用于下面情况下的数据文件:不是SYSTEM表空间,不包含激活的回滚段,还有临时段,但是用ALTER TABLESPACE可以在实例启动的时候来执行,而ALTER DATABASE则适应于任何的数据文件,但是数据库要在MOUNT状态下。ALTER TABLESPACE方法步骤:
① OFFLINE相应的表空间:ALTER TABLESPACE TS_LHRDATA OFFLINE;
② 用操作系统命令重命名或者移动数据文件
③ 用ALTER TABLESPACE命令来重命名数据库中的文件:ALTER TABLESPACE TS_LHRDATA RENAME DATAFILE '/u01/lhrdb/data01.dbf' TO '/u02/lhrdb/data01_new.dbf';
④ ONLINE表空间:ALTER TABLESPACE TS_LHRDATA ONLINE;
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:230161599
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。
评论
