侧边栏壁纸
博主头像
与晚风述往事博主等级

万般皆下品,唯有读书高。

  • 累计撰写 149 篇文章
  • 累计创建 29 个标签
  • 累计收到 18 条评论

目 录CONTENT

文章目录

物理拷贝方式完整迁移Oracle数据库

与晚风述往事
2021-11-20 / 0 评论 / 0 点赞 / 512 阅读 / 1,298 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-11-20,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

介绍

某一天突然接到通知,要将一台正常运行的数据库迁移到另一台服务器中,数据库可以停机,遂写下了这篇文章,记录本次的迁移过程。

前置条件

  • 数据库允许停机
  • 两台服务器必须是相同的操作系统

案例

环境说明

本案例使用vmware虚拟化两台服务器,操作流程跟生产环境完全一致。

迁移前 迁移后
操作系统 CentOS 7.9 CentOS 7.9
IP地址 192.168.3.85 192.168.3.113
实例名 orcl orcl

验证数据方法

由于本地模拟环境没有生产环境的数据,我这里手动在192.168.3.85的数据库上新增了一个表TEST1,并插入了一条数据,待我们迁移完后再次验证该表即可。
image.png

1、停止原数据库

使用oracle用户连接上ssh远程后,以sysdba的权限进入到sqlplus命令窗口停止数据库。

SQL> shutdown immediate

image.png

2、新服务器安装数据库软件和监听

在192.168.3.113上安装Oracle软件和监听程序,这一步就不再写了,如果有不会或者忘记怎么安装的,可以参考我之前的文档,下面是两个文档的地址。
图形界面安装Oracle 11G
静默安装Oracle 11G
注意,只需要安装Oracle软件和监听,不需要安装数据库(实例)。

3、拷贝数据库文件至新服务器

在安装完数据库后,我们需要将Oracle的一些文件拷贝到新的服务器中。我这里通过scp去拷贝这些文件。
注意,我这里不拷贝diag文件,如果你有需要,可以拷贝它。

3.1、拷贝admin目录=

此目录主要包括审计目录、数据泵目录和pfile目录。

[oracle@localhost ~]$ scp -r admin oracle@192.168.3.113:/home/oracle

image.png

3.2、拷贝快速闪回区目录

快速闪回区包括备份的控制文件,以及是默认的归档日志存储目录。

[oracle@localhost ~]$ scp -r fast_recovery_area/ oracle@192.168.3.113:/home/oracle

image.png

3.3、拷贝oradata目录

oradata目录主要是由数据文件和控制文件。

[oracle@localhost ~]$ scp -r oradata/ oracle@192.168.3.113:/home/oracle

image.png

3.4 拷贝口令文件和spfile文件

[oracle@localhost ~]$ cd $ORACLE_HOME/dbs
[oracle@localhost dbs]$ scp -r orapworcl spfileorcl.ora oracle@192.168.3.113:/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs

image.png

4、启动新服务器的数据库

使用oracle用户连接到新的服务器,还是以sysdba权限进入到sqlplus命令窗口。

SQL> startup

image.png

5、验证数据

在此步骤验证数据是否还在,如果我刚刚新增的记录还在,就说明数据库完整迁移过来了。我们使用PL/SQL Developer连上数据库查询。
image.png
从上图看到数据还在,说明成功将数据库迁移至192.168.3.113服务器了。

0

评论区