Oracle表空间数据文件移动的方法
程序员文章站
2022-06-21 21:12:39
实现把用户表空间中的数据文件从某一个路径移动到另一个路径
一、针对可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表空间数据文件移动的方法,希望大家喜欢。