数据文件迁移到其他路径的两种方法 (一)
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,(一) 方法一:offline表空间(不关库)*************************************************************** 主要步骤: ** 1、of
千家信息网最后更新 2026年11月02日数据文件迁移到其他路径的两种方法 (一)(一) 方法一:offline表空间(不关库)
**************************************************************
* 主要步骤: *
* 1、offline表空间:alter tablespace tablespace_name offline;*
* 2、复制数据文件到新的目录; *
* 3、rename修改表空间,并修改控制文件; *
* 4、online表空间; *
**************************************************************
alter database datafile '/u01/app/oracle1/oradata/orcl/user01.dbf' offline;
alter database datafile '/u01/app/oracle1/oradata/orcl/user01.dbf' online;
select tablespace_name,status from dba_tablespaces;
alter tablespace users read write;
以更改表空间zerone的数据文件/opt/oracle/oradata/ZERONE01.DBF的位置为例
1、offline表空间TS_EMR,使表空间TS_EMR离线
----------------------------------------
SQL> alter tablespace TS_EMR offline; (不用加drop 注:如果为非归档模式后面加Drop)
2、复制数据文件到新的目录
----------------------
注:
* 1、如检查新目录/home/oracle/oradata/zerone是否存在,不存在则创建此路径,并更改目录属性:
* # mkdir -p /home/oracle/oradata/zerone
* # chown -R oracle:oinstall /home/oracle/oradata/zerone
复制数据文件
# cp /opt/oracle/oradata/ZERONE01.DBF /home/oracle/oradata/zerone/ZERONE01.DBF
# chown oracle:oinstall /home/oracle/oradata/zerone/ZERONE01.DBF
3、rename修改表空间数据文件为新的位置,并修改控制文件,如果一个表空间有多个数据文件执行多条如下语句
--------------------------------------------------
SQL> alter tablespace TS_EMR rename datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\EMR01.DBF' to 'E:\APP\ADMINISTRATOR\ORADATA\EMR01.DBF';
alter tablespace TS_EMR rename datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\EMR02.DBF' to 'E:\APP\ADMINISTRATOR\ORADATA\EMR02.DBF';
4、online表空间
---------------------
SQL> alter tablespace TS_EMR online;
检查:
SQL> select name from v$datafile;
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name='TS_EMR';
(二) 方法二:SQL修改数据文件位置(关库)
*************************************
* 主要步骤:
* 1、关闭数据库;
* 2、复制数据文件到新的位置;
* 3、启动数据库到mount状态;
* 4、通过SQL修改数据文件位置;
* 5、打开数据库;
*************************************
1、关闭数据库
---------------------------
SQL> shutdown immediate;
2、复制数据文件到新的位置;
---------------------------
同方法一
3、启动数据库到mount状态;
----------------------------
SQL> startup mount
4、通过SQL修改数据文件位置;
-------------------------------
SQL> alter database rename file 'E:\APP\ADMINISTRATOR\ORADATA\EMR01.DBF' to 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\EMR01.DBF';
alter database rename file 'E:\APP\ADMINISTRATOR\ORADATA\EMR02.DBF' to 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\EMR02.DBF';
5、打开数据库;
-------------------------------
SQL> alter database open;
检查:
SQL> select name from v$datafile;
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name='ZERONE';
如何查看数据文件属于哪个表空间
(1) 查看永久表空间的数据文件对应的表空间
SQL> select TABLESPACE_NAME from dba_data_files where FILE_NAME='数据文件全路径';
(2) 查看临时表空间的数据文件对应的临时表空间
SQL> select TABLESPACE_NAME from dba_temp_files where FILE_NAME='数据文件全路径';
**************************************************************
* 主要步骤: *
* 1、offline表空间:alter tablespace tablespace_name offline;*
* 2、复制数据文件到新的目录; *
* 3、rename修改表空间,并修改控制文件; *
* 4、online表空间; *
**************************************************************
alter database datafile '/u01/app/oracle1/oradata/orcl/user01.dbf' offline;
alter database datafile '/u01/app/oracle1/oradata/orcl/user01.dbf' online;
select tablespace_name,status from dba_tablespaces;
alter tablespace users read write;
以更改表空间zerone的数据文件/opt/oracle/oradata/ZERONE01.DBF的位置为例
1、offline表空间TS_EMR,使表空间TS_EMR离线
----------------------------------------
SQL> alter tablespace TS_EMR offline; (不用加drop 注:如果为非归档模式后面加Drop)
2、复制数据文件到新的目录
----------------------
注:
* 1、如检查新目录/home/oracle/oradata/zerone是否存在,不存在则创建此路径,并更改目录属性:
* # mkdir -p /home/oracle/oradata/zerone
* # chown -R oracle:oinstall /home/oracle/oradata/zerone
复制数据文件
# cp /opt/oracle/oradata/ZERONE01.DBF /home/oracle/oradata/zerone/ZERONE01.DBF
# chown oracle:oinstall /home/oracle/oradata/zerone/ZERONE01.DBF
3、rename修改表空间数据文件为新的位置,并修改控制文件,如果一个表空间有多个数据文件执行多条如下语句
--------------------------------------------------
SQL> alter tablespace TS_EMR rename datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\EMR01.DBF' to 'E:\APP\ADMINISTRATOR\ORADATA\EMR01.DBF';
alter tablespace TS_EMR rename datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\EMR02.DBF' to 'E:\APP\ADMINISTRATOR\ORADATA\EMR02.DBF';
4、online表空间
---------------------
SQL> alter tablespace TS_EMR online;
检查:
SQL> select name from v$datafile;
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name='TS_EMR';
(二) 方法二:SQL修改数据文件位置(关库)
*************************************
* 主要步骤:
* 1、关闭数据库;
* 2、复制数据文件到新的位置;
* 3、启动数据库到mount状态;
* 4、通过SQL修改数据文件位置;
* 5、打开数据库;
*************************************
1、关闭数据库
---------------------------
SQL> shutdown immediate;
2、复制数据文件到新的位置;
---------------------------
同方法一
3、启动数据库到mount状态;
----------------------------
SQL> startup mount
4、通过SQL修改数据文件位置;
-------------------------------
SQL> alter database rename file 'E:\APP\ADMINISTRATOR\ORADATA\EMR01.DBF' to 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\EMR01.DBF';
alter database rename file 'E:\APP\ADMINISTRATOR\ORADATA\EMR02.DBF' to 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\EMR02.DBF';
5、打开数据库;
-------------------------------
SQL> alter database open;
检查:
SQL> select name from v$datafile;
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name='ZERONE';
如何查看数据文件属于哪个表空间
(1) 查看永久表空间的数据文件对应的表空间
SQL> select TABLESPACE_NAME from dba_data_files where FILE_NAME='数据文件全路径';
(2) 查看临时表空间的数据文件对应的临时表空间
SQL> select TABLESPACE_NAME from dba_temp_files where FILE_NAME='数据文件全路径';
数据
文件
空间
位置
数据库
目录
方法
路径
检查
步骤
状态
控制
不用
多个
多条
属性
模式
语句
永久
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
新华互联网科技学校
重生之互联网科技帝国
互联网扶贫科技
期待互联网科技
互联网科技排名
伴你行互联网科技有限公司
猫创互联网科技
四个字互联网科技公司取名
海南购全球互联网科技
北京华百购互联网科技有限公司
昭通云南众福互联网科技有限公司
互联网科技有哪些公司
花神(南京)互联网科技有限公司
深圳无忧互联网科技
互联网科技数字货币
郑州欣桑互联网科技有限公司
陕西九四连强互联网科技有限公司
互联网科技博主张洲
杭州科技互联网公司有哪些
每日互联网科技新闻
花魁咖啡
互联网是第几次科技革命的成果
河南云网互联网络科技有限公司
互联网科技公司华为
互联网品科技
互联网金融 科技
丰台科技园 互联网公司
互联网和高科技公司
温州喔噻互联网科技有限公司
互联网领先科技活动