Oracle更改表空间数据文件位置
概述
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
相关推荐
bfcady 2020-08-16
Hody 2020-08-16
FightFourEggs 2020-08-16
流云追风 2020-07-04
dataminer 2020-06-25
lidongliang 2020-08-16
warden00 2020-06-11
zhangchaoming 2020-06-04
FightFourEggs 2020-06-02
FightFourEggs 2020-05-28
elitechen 2020-05-21
zhangchaoming 2020-05-17
流云追风 2020-05-14
bianxq 2020-04-27
流云追风 2020-04-22
oraclemch 2020-04-19
oraclemch 2020-04-10
oraclemch 2020-02-21
FightFourEggs 2020-02-12
Streamoutput 2020-02-09
talkingDB 2020-02-03
LuoXinLoves 2020-02-02
Streamoutput 2020-01-21
Streamoutput 2020-01-10
zhangchaoming 2020-01-04