Welcome 微信登录

首页 / 数据库 / MySQL / 移动Oracle表空间数据文件方案

方案一:移动常规表空间(非系统表空间)数据文件/**************数据库服务器某个磁盘空间不足时移动常规表空间数据文件*****************/1、使用范围:该操作在数据库正常运行(open状态)的条件下进行,但不能移动系统表空间里面的数据文件2、步骤(windows系统下的操作):1>准备工作:C: sqlplus/nologSQL>connect sys/qazwsxedc@实例名 as sysdba;2>使表空间脱机:SQL>alter tablespace TABS offline normal;3>将表空间数据文件复制到比较空闲的磁盘:例如:将D:YAG_DBABS.ora 复制到E:NEWABS.ora4>执行alter tablespace rename datafile命令:SQL>alter tablespace ABS rename datafile "D:YAG_DBABS.ora " to "E:NEWABS.ora";执行完,会显示表空间已经更改(此命令的实际是修改控制文件中表空间数据文件的指针)5>使表空间联机:SQL>alter tablespace ABS online;6>此时可删除D:YAG_DBABS.ora7>重启数据库:SQL>shutdown immediateSQL>startup方案二:移动常系统表空间数据文件/****************数据库服务器某个磁盘空间不足时移动系统表空间数据文件*****************/1、使用范围:该操作在数据库处于mount 状态才能进行,可移动系统表空间的数据文件2、步骤(Linux系统中的操作):1># su - Oracle --切换到oracle用户下2># sqlplus /nolog3>SQL>conn sys/pwd as sysdba4>SQL>shutdown immediate --数据库在启动状态时,先关闭5>SQL>startup mount --将数据库启动为mount状态6>将要移动的系统表空间数据文件复制到比较空闲的分区目录eg:# mv /home/app/oracle/oradata/ORACLE_SID/system01.dbf /data/YAG_DB/ORACLE_SID7>使用alter database rename file 命令SQL>alter database rename file "/home/app/oracle/oradata/ORACLE_SID/system01.dbf" to "/data/YAG_DB/ORACLE_SID/system01.dbf";8>打开数据库SQL>alter databse open9>检查系统表空间的文件路径是否正确SQL>select file#,name,status From v$datafile; --system系统表空间的文件路径name应为刚刚更改的路径Linux-6-64下安装Oracle 12C笔记 http://www.linuxidc.com/Linux/2013-07/86805.htmRHEL6.4_64安装单实例Oracle 12cR1 http://www.linuxidc.com/Linux/2013-08/88510.htmOracle 12C新特性之翻页查询 http://www.linuxidc.com/Linux/2012-10/72611.htm解读 Oracle 12C 的 12 个新特性 http://www.linuxidc.com/Linux/2012-10/72083.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址