移动表空间操作

 参照春暖花开同志的文章加上自己的实践

A.oracle启动
  1)查看那个数据文件所在的表空间还包含有哪些数据文件,执行以下查询:
   select file_name,status from dba_data_files where tablespace_name='SGCUSS';
   执行结果:
   FILE_NAME               STATUS
   /data/SGCUSS.dbf        AVAILABLE
   状态是可用,这是操作的首选条件
   2)将表空间设为只读状态
    alter tablespace "SGCUSS" read only;
   3)确定表空间已经为只读
    select tablespace_name,status from dba_tablespaces where tablespace_name='SGCUSS';
    结果
    TABLESPACE_NAME                STATUS
    ------------------------------ ---------
    SGCUSS                         READ ONLY
   4)这时把数据文件复制到另外一个目录,然后将表空间重命名
    alter database rename file 'old_path' to 'new_path';
   5)将表空间online
    alter tablespace "SGCUSS" online;
    这里有两点要注意 一是表空间名外要用双引号,二是如果执行后出现
    ORA-01113: file 11 needs media recovery
    ORA-01110: data file 11: '/data/SGCUSS.dbf'
    这说明可能是先把数据文件进行复制的结果,可以先shutdown normal关闭数据库,然后
    startup  mount
    接着恢复数据文件
    recover datafile '/data/SGCUSS.dbf';
    最后alter database open再执行online操作即可。
    6)将表空间恢复为读写状态
    alter tablespace "SGCUSS" read write;
    7)将旧的数据文件删除
    B.oracle未启动
    1)将数据文件拷贝到新的位置
    2)startup mount 这样启动会只读取控制文件而不读取数据库文件,可以对数据文件进行相关操作
    3)alter database rename file 'old_path' to 'new_path';
    4)alter database open;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值