服务器之家

服务器之家 > 正文

Oracle表空间数据文件移动的方法

时间:2019-12-24 14:01     来源/作者:mrr

实现把用户表空间中的数据文件从某一个路径移动到另一个路径

一、针对可offline的非系统表空间

本例移动oracle的案例表空间(EXAMPLE表空间),将其从

D:\ORADATA\ORCL\ 移动到 D:\ORACLE\ORADATA\

1.查看要改变的表空间的数据文件信息

?
1
2
3
4
5
6
7
SQL> select tablespace_name,file_name,online_status
 from dba_data_files
 where tablespace_name='EXAMPLE';
 
TABLESPACE_NAME FILE_NAME     ONLINE_
--------------- ----------------------------------- -------
EXAMPLE  D:\ORADATA\ORCL\EXAMPLE01.DBF  ONLINE

2.将目标表空间设置为脱机状态

?
1
SQL> alter tablespace EXAMPLE offline;

3.再次查看目标表空间的状态,确保其已经是脱机状态

?
1
2
3
4
5
6
7
SQL> select tablespace_name,file_name,online_status
 from dba_data_files
 where tablespace_name='EXAMPLE';
 
TABLESPACE_NAME FILE_NAME     ONLINE_
--------------- ----------------------------------- -------
EXAMPLE  D:\ORACLE\ORADATA\EXAMPLE01.DBF OFFLINE

4.将原来的数据文件移动(或复制)到新的路径

?
1
SQL> host move D:\ORADATA\ORCL\EXAMPLE01.DBF D:\ORACLE\ORADATA\

5.修改该表空间的数据文件路径

?
1
2
3
SQL> alter tablespace EXAMPLE
 rename datafile 'D:\ORADATA\ORCL\EXAMPLE01.DBF'
 to 'D:\ORACLE\ORADATA\EXAMPLE01.DBF';

6.查看该表空间修改后的信息,确保信息无误

?
1
2
3
4
5
6
7
SQL> select tablespace_name,file_name,online_status
 from dba_data_files
 where tablespace_name='EXAMPLE';
 
TABLESPACE_NAME FILE_NAME     ONLINE_
--------------- ----------------------------------- -------
EXAMPLE  D:\ORACLE\ORADATA\EXAMPLE01.DBF OFFLINE

7.修改该表空间为在线状态

?
1
SQL> alter tablespace EXAMPLE online;

8.查看该表空间最后结果

?
1
2
3
SQL> select tablespace_name,file_name,online_status
 from dba_data_files
 where tablespace_name='EXAMPLE';
?
1
2
3
TABLESPACE_NAME FILE_NAME     ONLINE_
--------------- ----------------------------------- -------
EXAMPLE  D:\ORACLE\ORADATA\EXAMPLE01.DBF ONLINE

备注:本方法对SYSAUX、USERS表空间也适用

二、系统表空间移动

该方法需要数据库处于mount状态

1.关闭运行中的数据库

?
1
SQL> shutdown immediate

2.启动数据库到mount状态

?
1
SQL> startup mount

3.移动系统表空间(SYSTEM表空间)的数据文件

?
1
SQL> host move D:\ORADATA\ORCL\SYSTEM01.DBF D:\ORACLE\ORADATA\

4.修改该表空间的数据文件路径

?
1
2
SQL> alter database rename file 'D:\ORADATA\ORCL\SYSTEM01.DBF' to 'D:\ORACLE\ORA
DATA\SYSTEM01.DBF';

5.启动数据库,打开实例

?
1
SQL> alter database open;

6.查看表空间修改结果

?
1
2
3
4
5
6
SQL> select tablespace_name,file_name,online_status from dba_data_files where ta
blespace_name='SYSTEM';
 
TABLESPACE_NAME FILE_NAME     ONLINE_
--------------- ----------------------------------- -------
SYSTEM  D:\ORACLE\ORADATA\SYSTEM01.DBF SYSTEM

备注:本方法对UNDOTBS1、TEMP表空间也适用。

以上内容是小编给大家分享的Oracle表空间数据文件移动的方法,希望大家喜欢。

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
返回顶部