linux oracle移动表空间,Oracle数据表空间文件移动方法

目的:

实现把用户表空间中的数据文件从某一个路径移动到另一个路径(备注:本方法对SYSAUX、USERS、UNDO、TEMP表空间也适用。)

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

以下实际案例移动oracle数据库orcl实例下test用户数据表空间(TEST_CORE表空间),将其从 /oradata/orcl/test 移动到 /oradata2/orcl/test

操作简介:

1、创建数据表空间存储路径

su - oracle

mkdir /oradata2/orcl/test -p

2、查看要改变的数据表空间文件的存储路径信息

SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='TEST_CORE';

TABLESPACE_NAME

------------------------------

FILE_NAME

--------------------------------------------------------------------------------

ONLINE_

-------

TEST_CORE

/oradata/orcl/test/test_core.dbf

ONLINE

3、将目标表空间设置为脱机状态

SQL> alter tablespace TEST_CORE offline;

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

SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='TEST_CORE';

TABLESPACE_NAME

------------------------------

FILE_NAME

--------------------------------------------------------------------------------

ONLINE_

-------

TEST_CORE

/oradata/orcl/test/test_core.dbf

OFFLINE

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

SQL> host mv /oradata/orcl/test/test_core.dbf /oradata2/orcl/test/test_core.dbf

备注:如果是windows server服务器则使用 host move

SQL> host move D:\oradata\orcl\test\test_core.dbf D:\oradata2\orcl\test\test_core.dbf

6、修改该表空间的数据文件路径

SQL> alter tablespace TEST_CORE rename datafile '/oradata/orcl/test/test_core.dbf' to '/oradata2/orcl/test/test_core.dbf';

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

SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='TEST_CORE';

TABLESPACE_NAME

------------------------------

FILE_NAME

--------------------------------------------------------------------------------

ONLINE_

-------

TEST_CORE

/oradata2/orcl/test/test_core.dbf

OFFLINE

8、修改该表空间为在线状态

SQL> alter tablespace TEST_CORE online;

9、查看该表空间最后结果

SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='TEST_CORE';

TABLESPACE_NAME

------------------------------

FILE_NAME

--------------------------------------------------------------------------------

ONLINE_

-------

TEST_CORE

/oradata2/orcl/test/test_core.dbf

ONLINE

二、针对系统表空间的移动

备注:使用该方法需要将数据库处于mount状态

操作简介:

1、关闭运行中的数据库

SQL> shutdown immediate;

2、启动数据库到mount状态

SQL> startup mount;

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

SQL> host mv /oradata/orcl/system.dbf /oradata2/orcl/system.dbf;

备注:如果是windows server服务器则使用 host move

SQL> host move D:\ORADATA\ORCL\SYSTEM.DBF D:\ORADATA2\ORCL\SYSTEM.DBF;

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

SQL> alter database rename file '/oradata/orcl/system.dbf' to '/oradata2/orcl/system.dbf';

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

SQL> alter database open;

6、查看表空间修改结果

SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='SYSTEM';

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值