ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成。由于磁盘空间的变化,或者基于数据库磁盘I/O
性能的调整等,数据库管理员可能会考虑移动数据库文件。下面以linux平台为例,分别讨论数据文件的移动方法。
移动数据文件:
可以用ALTER DATABASE,ALTER TABLESPACE两种方法移动数据文件。
(1) ALTER DATABASE方法;
用此方法,可以移动任何表空间的数据文件。
步骤一,关闭DB、copy文件、startup ,mount ,offline
1.SQL>shutdown immediate
//关闭数据库
2.将数据文件DTV_BUSINESS_IDX.DBF 从D:\oracle\ora92\oradata目录移到 D:\DB目录下;
//关闭数据库后移动文件
3.SQL> startup mount;
//装载数据库但不开启
4.SQL> Alter Tablespace DTV_BUSINESS Offline;
//将此数据文件所在的表空间OFFLINE
步骤二,rename datafile , recover datafile, online,open database
1.SQL> alter database rename file 'D:\oracle\ora92\oradata\DTV_BUSINESS_IDX.DBF' to
'd:\db\DTV_BUSINESS_IDX.DBF';
//重新命名文件
如果出现文件正在使用或需要修复的提示,则执行recover datafile,如果正常,则不用操作此步;
2.SQL> alter database recover datafile 'd:\db\DTV_TICKET_IDX.DBF';
或 alter database recover datafile x,
//x 代表数据库中文件编号,可以用Select * from Dba_Data_Files查询对应表空间的文件编号;
//recover datafile 表示修复文件;
3.SQL>Alter Tablespace DTV_BUSINESS online;
//将此数据文件所在的表空间ONLINE
4.SQL>alter database open;
//开启数据库
(2) ALTER TABLESPACE方法:
用此方法,要求此数据文件既不属于SYSTEM表空间,也不属于含有ACTIVE回滚段或临时段的表空间。
1.SQL> Alter Tablespace DTV_BUSINESS Offline;
//将此数据文件所在的表空间OFFLINE
2.SQL> alter tablespace DTV_BUSINESS rename Datafile 'D:\oracle\ora92\oradata\DTV_BUSINESS_IDX.DBF' to
'd:\db\DTV_BUSINESS_IDX.DBF';
//重新�