欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-10 19:22:27
实现把用户表空间中的数据文件从某一个路径移动到另一个路径 一、针对可offline的非系统表空间 本例移动oracle的案例表空间(example表空间),将其从 d...

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

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

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

d:\oradata\orcl\ 移动到 d:\oracle\oradata\

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

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.将目标表空间设置为脱机状态

sql> alter tablespace example offline;

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

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.将原来的数据文件移动(或复制)到新的路径

sql> host move d:\oradata\orcl\example01.dbf d:\oracle\oradata\

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

sql> alter tablespace example 
 rename datafile 'd:\oradata\orcl\example01.dbf'
 to 'd:\oracle\oradata\example01.dbf';

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

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.修改该表空间为在线状态

sql> alter tablespace example online;

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

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 online

备注:本方法对sysaux、users表空间也适用

二、系统表空间移动

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

1.关闭运行中的数据库

sql> shutdown immediate

2.启动数据库到mount状态

sql> startup mount

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

sql> host move d:\oradata\orcl\system01.dbf d:\oracle\oradata\

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

sql> alter database rename file 'd:\oradata\orcl\system01.dbf' to 'd:\oracle\ora
data\system01.dbf';

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

sql> alter database open;

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表空间数据文件移动的方法,希望大家喜欢。