ORACLE数据库教程文件转移到另一台机器的方法
因为恢复视频数据导致空间不足而终止,需要转移部分数据文件到别的硬盘里。在参照部分
网络资料,结合自己的实践,总结出Oracle数据文件转移方法。
1) 手动拷贝要转移的数据数据文件'd:OracleDataGWTABLE42.DBF'到新的位
置'E:OracleDataGWTABLE42.DBF'。
2) 把数据文件所属的表空间Offline,在SQLPLUS里运行如下命令:
sqlplus>alter tablespace GWTABLE offline;
3) 修改表空间文件路径alter database rename file '旧文件路径' to '新文件路径';
sqlplus>ALTER DATABASE RENAME FILE 'D:OracleDataGWTABLE42.DBF' to
'E:OracleDataGWTABLE42.DBF';
4) 当执行重命名命令后,ORACLE会认为数据库文件损坏,提示:“需要恢复介质”
sqlplus>shutdown immediate;--关闭数据库
sqlplus>startup mount;--以归档模式启动数据库,不打开数据库
sqlplus> recover datafile 'E:OracleDataGWTABLE42.DBF'; --介质恢复
sqlplus>alter database open;
5) 把表空间Online,这样就可以了
sqlplus>alter tablespace GWTABLE online;
6) 查看数据文件和表空间及状态
sqlplus> select file_name,tablespace_name,status from dba_data_files;
参考另一种方法
Oracle数据库在使用过程中,随着数据的增加数据库文件也逐渐增加,在达到一定大小后有
可能会造成硬盘空间不足;那么这时我们可以把数据库文件移动到另一个大的硬盘分区中。
下面我就以Oracle for Windows版本中把C盘的数据库文件移动到D盘为例介绍Oracle数据库
文件移动的方法和步骤。
1.在sqlplus中连接到要移动文件的Oracle数据库,然后执行如下SQL语句查看Oracle
数据库文件位置:
SQL> select file_name from sys.dba_data_files;
FILE_NAME
--------------------------------------------------------------
E:ORACLEORADATAORADBSYSTEM01.DBF
E:ORACLEORADATAORADBUNDOTBS01.DBF
E:ORACLEORADATAORADBCWMLITE01.DBF
E:ORACLEORADATAORADBDRSYS01.DBF
E:ORACLEORADATAORADBEXAMPLE01.DBF
E:ORACLEORADATAORADBINDX01.DBF
E:ORACLEORADATAORADBODM01.DBF
E:ORACLEORADATAORADBTOOLS01.DBF
E:ORACLEORADATAORADBUSERS01.DBF
E:ORACLEORADATAORADBXDB01.DBF
查询到10记录.
记录要移动的文件的位置和名称。
2.下面我们以把文件“E:ORACLEORADATAORADBUSERS01.DBF”移动到
“D:ORADATAUSERS01.DBF”为例介绍,要移动其它文件,请安相同的方法(根据实际情况
修改文件路径和名称)操作即可。
<1> 首先让所有的用户停止连接该数据库,关闭数据库。在命令行窗口中输入:
C:svrmgrl(回车)
SVRMGR>connect internal(回车)
SVRMGR>shutdown immediate(回车)
#等待数据库提示关闭
SVRMGR>exit
<2> 从“E:ORACLEORADATAORADB”目录下找到文件“USERS01.DBF”,然后复制
到目录“D:ORADATA”下面。如果移动多个文件,重复该步骤。
<3> 进入命令窗口,按以下内容输入:
C:svrmgrl(回车)
SVRMGR>connect internal(回车)
SVRMGR>startup mount(回车)
#等待数据库提示装载成功
SVRMGR>alter database rename file 'E:ORACLEORADATAORADBUSERS01.DBF' to
'D:ORADATAUSERS01.DBF';
#提示语句已处理后,如果要移动多个文件,修改文件路径和名称后重复执行上面的语句。完
成后打开数据库。
SVRMGR>alter database open;
SVRMGR>exit
数据库文件移动成功。