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

概述

操作方法

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

猜你喜欢

转载自www.linuxidc.com/Linux/2017-11/148352.htm