linux下移动Oracle数据库表空间文件

移动Oracle数据库表空间文件。

目的:把oracle表空间文件从一个地方移动到另外一个地方。
原因:当前实例中的表空间文件及系统表空间文件全在一块硬盘上,导致IO增加。装数据库表空间移走。减少IO

详细操作步骤:

1、进入Oracle用户

su - oracle

2、启用sqlplus

sqlplus /nolog

3、以管理员用户登录

conn /as sysdba

4、启用介质恢复模式:
A、Shutdown immediate;
B、Startup mount;
C、Alter database archivelog;
D、Alter database open;
5、卸载表空间:
Alter tablespace 表空间名字 offline;(注:如果为非归档模式后面加Drop);

6、在操作系统下移动文件到新位置。

A、切换到oracle用户

quit

B、切换到root用户

exit

C、移动文件

mv 原文件路径 新文件路径

7、以管理员用户登录

A、su - oracle

B、sqlplus /nolog

C、conn /as sysdba

8、告诉表空间数据文件已经移动:

Alter database rename file '原文件路径' to '新文件路径';
9、装载表空间:
Alter tablespace 表空间名字 online;
10、关闭数据库:

Shutdown;

出现问题(oracle Shutdown没有反应解决

shutdown默认为shutdown normal,不能接受新的连接,但是需要等待原有的活动连接完成工作退出后才会正式执行关闭。

一般使用该命令后要等所有连接活动释放后才退出,所以当连接活动没释放将没有反应。

一般使用shutdownn immeditate,不过如果连接活动太多,shutdown immediate也会出项长时间没反应的问题。

解决方式:

SQL>Shutdown abort;

SQL>Startup restrict;

SQL>Shutdown;

11、启动数据库:
A、Startup force;

Oracle数据库表空间文件移动成功。

本文出自 “seven” 博客,原文链接:http://liuyu.blog.51cto.com/183345/247502

你可能感兴趣的:(DBA)