阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle更改表空间数据文件位置

125次阅读
没有评论

共计 1167 个字符,预计需要花费 3 分钟才能阅读完成。

概述

Oracle 数据库的数据文件的位置和信息都被记录在控制文件中,rm 或 cp 命令是不会也不可能更改控制文件记录的,这时必须通过 alter 操作去更改刷新数据库控制文件中数据文件的相关信息,以此确保数据库能够正常运行。

操作方法

1. 方法 1


  • 主要步骤:
  • 1、offline 表空间:alter tablespace tablespace_name offline;
  • 2、复制数据文件到新的目录;
  • 3、rename 修改表空间,并修改控制文件;
  • 4、online 表空间;

  • offline 表空间

    SQL> alter tablespace cifdb offline;
    
  • 复制数据文件到新的目录

    cp /u01/app/oracle/oradata/cifdb.dbf /u01/app/oracle/oradata/CIFDB/cifdb.dbf
    
  • rename 修改表空间

    SQL> alter tablespace cifdb rename datafile '/u01/app/oracle/oradata/cifdb.dbf' to '/u01/app/oracle/oradata/CIFDB/cifdb.dbf';
    
  • online 表空间

    SQL> alter tablespace cifdb online;
    
  • 检查数据文件

    SQL> select name from v$datafile;
    

    或者

    SQL> select file_name, tablespace_name from dba_data_files where tablespace_name='cifdb'; 
    

2. 方法 2


  • 主要步骤:
  • 1、关闭数据库;
  • 2、复制数据文件到新的位置;
  • 3、启动数据库到 mount 状态;
  • 4、通过 SQL 修改数据文件位置;
  • 5、打开数据库;

  • 关闭数据库

    SQL> shutdown immediate;
    
  • 复制数据文件到新的位置

    cp /u01/app/oracle/oradata/cifdb.dbf /u01/app/oracle/oradata/CIFDB/cifdb.dbf
    
  • 启动数据库到 mount 状态

    SQL> startup mount;  
    
  • 修改数据文件位置

    SQL> alter database rename file '/u01/app/oracle/oradata/cifdb.dbf' to '/u01/app/oracle/oradata/CIFDB/cifdb.dbf';
    
  • 打开数据库

    SQL> alter database open;
    
  • 检查数据文件

    SQL> select name from v$datafile;
    

    或者

    SQL> select file_name, tablespace_name from dba_data_files where tablespace_name='cifdb'; 
    

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-11/148352.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1167字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中