当前位置:   article > 正文

oracle 表空间文件迁移_oracle表空间数据文件迁移

oracle表空间数据文件迁移

表空间文件迁移

背景

由于各种原因,在实际工作中可能会出现oracle服务器数据盘空间被占满的情况,这个时候单纯的添加新磁盘,后续表空间文件放新盘的方案已经不适用了,因为源盘已经占用满了,数据库服务会异常,且之前的表空间是自增长的,会一直顶死源盘),这个时候就必须得将这部分没到最大值的表空间文件一起迁移到新盘

操作步骤

1、挂盘

推荐使用lvm

pvcreate /dev/sdb
vgcreate oravg /dev/sdb
lvcreate -n oralv -L 190G oravg
mkfs.ext4 /dev/oravg/oralv
mkdir /oradata
chown oracle:oinstall /oradata
echo "/dev/oravg/oralv /oradata ext4 defaults 0 0" >> /etc/fstab
mount -a
df -h
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2、关闭监听,关闭数据库

[oracle@testosa:/home/oracle]$ lsnrctl stop
[oracle@testosa:/home/oracle]$ sqlplus / as sysdba
sys@testdba(testosa)> shutdown immediate
  • 1
  • 2
  • 3

3、移动需要移动的表空间文件到新目录

[oracle@testosa:/oracle/oradata/testdba]$ mv sysaux01.dbf /oradata/
[oracle@testosa:/oracle/oradata/testdba]$ mv system01.dbf /oradata/
[oracle@testosa:/oracle/oradata/testdba]$ mv test01.dbf /oradata/
[oracle@testosa:/oracle/oradata/testdba]$ mv undotbs01.dbf /oradata/
[oracle@testosa:/oracle/oradata/testdba]$ mv users01.dbf /oradata/
  • 1
  • 2
  • 3
  • 4
  • 5

4、mount数据库,并修改表空间文件信息

#数据库启动至mount状态
sys@testdba(testosa)> startup mount

#修改表空间文件信息
sys@testdba(testosa)> alter database rename file '/oracle/oradata/testdba/sysaux01.dbf' to '/oradata/sysaux01.dbf';

Database altered.

sys@testdba(testosa)> alter database rename file '/oracle/oradata/testdba/system01.dbf' to '/oradata/system01.dbf';

Database altered.

sys@testdba(testosa)> alter database rename file '/oracle/oradata/testdba/test01.dbf' to '/oradata/test01.dbf';

Database altered.

sys@testdba(testosa)> alter database rename file '/oracle/oradata/testdba/undotbs01.dbf' to '/oradata/undotbs01.dbf';

Database altered.

sys@testdba(testosa)> alter database rename file '/oracle/oradata/testdba/users01.dbf' to '/oradata/users01.dbf';

Database altered.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

5、打开数据库,并启动监听

sys@testdba(testosa)> alter database open;

Database altered.

-- 启动监听程序
sys@testdba(testosa)> ! lsnrctl start
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

6、验证数据服务和数据

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/1013927
推荐阅读
相关标签
  

闽ICP备14008679号