数据文件迁移到其他路径的两种方法 (一)
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,(一) 方法一:offline表空间(不关库)*************************************************************** 主要步骤: ** 1、of
千家信息网最后更新 2025年11月11日数据文件迁移到其他路径的两种方法 (一)(一) 方法一: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安全错误
数据库的锁怎样保障安全
政务软件开发报价多少
网络药理学药物靶点预测数据库
大兴旧服务器回收价格查询
新余高性价比服务器哪家好点
武汉服务器pdu报价
镇平软件开发
数据库10061错误
java软件开发研究现状
psql 数据库列表
云南网络安全知识竞答答案
数据库语句找出有下划线
张家界管理软件开发
浙江视频会议服务器
浙江拓道网络技术电话
深圳国大互联网教育科技有限责任
服务器QPS的计算公式
cmd中进入数据库
昂楷数据库运维
华为公司海底服务器
软件开发驻场需要多少钱
现代软件开发教程
广州财务软件开发哪家好
全息感知网网络安全系统
广州尚通网络技术有限公司
网络安全与信息化专业有哪些
微信投票 防刷服务器
无线网络技术功能
庆余年手游有几个服务器
梦幻手游外侧服务器
数据库修改数据部分内容吗