Oracle表空间物理位置转移

上周五花了几个小时,专门来了解了下ORACLE表空间转移的知识,因为测试站点ORACLE所在的磁盘只剩下十几M的空间了。于是我将表空间转移到另外一个磁盘,过程如下:

操作环境:

数据库:Oracle9i

表空间:EUCRMSPACE

转移使用的数据库文件:E:\oracle\oradata\zhangxd\ZHANGSPACE2.ORA

转移使用的数据库文件:F:\ZHANG.ORA

简要操作步骤:

第一步:登陆数据库

第二步:停止数据库

第三步:在open模式下启动数据库

第四步:将表空间(EUCRMSPACE)脱机

第五步:手工将表空间所使用的数据库文件(E:\oracle\oradata\zhangxd\ZHANGSPACE2.ORA)

复制到你要转移的目录(F:\ZHANG.ORA)

第六步:将表空间与新目录下的数据库文件关联

第七步:将表空间联机,提交,OK,完成。

详细SQL

第一步:

C:\>sqlplus /nolog

SQL> conn / as sysdba

 

第二步:

SQL> shutdown immediate

 

第三步:

SQL> startup open

 

第四步:

SQL> alter tablespace eucrmspace offline;

 

第五步:

手工拷贝数据库文件到你想到达的目录下。

 

第六步:【操作前后可以用SQL来查询表空间所使用的数据库文件的变化情况:select name from v$datafile;

SQL> alter tablespace eucrmspace rename datafile                                                                                                                                  

'E:\oracle\oradata\zhangxd\ZHANGSPACE2.ORA'    to  ' F:\ZHANG.ORA';

 

第七步:

SQL> alter tablespace eucrmspace online;

SQL>commit;

SQL>exit;

注意:

1.    转移表空间时,请确保不要对该表空间执行任何写操作(如项目程序仍在运行),否则可能后面报错

我测试了下,边转移边对该表空间执行写操作,结果在执行第六步时,报错了:

ERROR 位于第 1 :

ORA-01113: 文件 11 需要介质恢复

ORA-01110: 数据文件 11: ' F:\ZHANG.ORA '

2.第五步(复制文件操作),必须是在第四步之后,否则第六步可能会报错,错误信息同上差不多

3.如果第六步报错了,只能这样恢复:将现在使用的数据库文件(F:\ZHANG.ORA),重新还原成之前所使用的数据库文件(E:\oracle\oradata\zhangxd\ZHANGSPACE2.ORA),即重新执行第五、六、七步,只不过第五步的SQL稍微改下。

…….

SQL>rollback;

SQL> alter tablespace eucrmspace rename datafile                                                                                                                                  

' F:\ZHANG.ORA'    to  'E:\oracle\oradata\zhangxd\ZHANGSPACE2.ORA';

……

 

 

转载于:https://www.cnblogs.com/java-koma/archive/2009/12/19/1627956.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值