管理表空间和数据文件——移动数据文件
当数据文件所在磁盘损坏时,该数据文件将不能被访问。为了访问该数据文件,需要将其备份数据文件移动到其他磁盘进行恢复;另外为了提高数据文件的i/o性能,可能需要移动数据文件。
移动数据文件用两种方法,一种是使用alter tablespace 命令,另一种方法是使用alter database命令。
1.在open状态下移动数据文件
当数据处于open状态时,移动数据文件是使用alter tablespace 命令来完成的,当使用alter tablespace命令系统数据文件时,要求表空间必须处于offline 状态。因为system 表空间和sysaux 表空间不能脱机,所以使用该命令不能移动systme 表空间和sysaux 表空间。
例子:移动data01 的数据文件data01.dbf到目录c:\demo:
使表空间脱机:
alter tablespace data01 offline;
使用os 命令移动数据文件到指定目录
host move d:\orcl\data01.dbf c:\orcl\data01.dbf
执行alter tablespace 命令
alter tablespace data01 rename datafile 'd:\orcl\data01.dbf' to 'c:\orcl\data01.dbf';
使表空间联机
alter tablespace data01 online;
2.在mount状态下移动数据文件
因为system表空间和sysaux表空间不能被脱机,所以为了移动这两种表空间的数据文件,必须在mount状态下使用alter database 命令来完成
注意:使用这种方法可以移动任何表空间的数据文件。
例子:移动数据文件system01.dbf到c:\demo目录:
关闭并装载数据库
startup force mount;
移动数据文件到目标位置
host move E:\app\Administrator\oradata\orcl\SYSTEM01.DBF c:\orcl\system01.dbf
执行alter database 命令
alter database rename file 'E:\app\Administrator\oradata\orcl\SYSTEM01.DBF' to 'c:\orcl\system01.dbf';
打开数据库
alter database open;
posted on 2013-05-23 18:25 LinuxPanda 阅读(566) 评论(0) 编辑 收藏 举报