Oracle 停机冷迁移操作流程

本文记录了一次Oracle数据库的停机冷迁移过程,包括迁移前的准备工作,如了解源端环境信息、目标端环境搭建,以及迁移过程中使用rsync同步数据文件,停库、启动同步、修改路径和配置等步骤。在迁移后,还提到解决遇到的libodm11.so问题。

最近工作中有个客户需求需要将本地机房oracle实例,迁移至公有云服务器自建oracle,oracle版本11.2.0.1,数据量大概有200G;以下来记录下此次迁移的流程,客户可以停机迁移,所以采用了简单的停机冷迁方式。

下面主要介绍Oracle数据库可以停机的情况下整体冷迁移的一个基本流程。

迁移前准备工作

1.了解清楚源端环境的具体信息,包括操作系统版本、数据库版本、网络情况、磁盘信息、停机时间等。
2.目标端搭建环境,保持和源端环境一致,提前规避因系统或数据库版本而导致的问题,根据源端数据量规划好目标磁盘,安装同版本的Oracle软件,无需配置数据库,要注意的是数据库依赖包的安装,要通过Oracle安装时的check,生产环境最好不要忽略安装。

迁移过程迁移过程

主要采用 rsync 工具同步数据文件。
环境信息:源端Oracle安装路径/u01
源端IP: 192.168.10.1
目标端IP:192.168.11.1

  1. 源目标端配置rsync同步
    配置源端的Oracle目录 /u01 整体迁移到目标端
    rsync使用自行百度。

  2. 源端Oracle 停库

  1. SQL> shutdown immediate

3.源端启动rsync数据同步

配置好rsync 配置文件后,启动同步任务

  1. screen -S qianyi-rsync
  2. rsync -azv --progress --password-file=/etc/rsyncd.secrets /u01/ qianyi@192.168.11.1::qianyi

4.数据同步完成后,源端启动数据库

  1. SQL> startup

5.目标端整理Oracle路径,用同步过来的路径替换准备工作中的安装路径,修改文件属主及权限。

6.目标端修改Oracle用户环境变量与远端一致。

7.目标端修改监听文件匹配目标端IP等信息,并重新加载监听

$ vi listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0.1/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.1)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
SID_LIST_LISTENER=
   (SID_LIST=
       (SID_DESC=
          (GLOBAL_DBNAME=ORATEST1_one)
          (SID_NAME=oratest1)
          (ORACLE_HOME=/u01/app/oracle/product/11.2.0.1/db_1)
        )
       )
ADR_BASE_LISTENER = /u01/app/oracle

重新加载监听生效

  1. $ lsnrctl reload

8.目标端启动数据库
连接数据库,启动。

正常启动。

可能遇到的问题

目标端启动的时候,没正常启动报错:
有关这个包的 libodm11.so

  1. oraclenc: error while loading shared libraries: libodm11.so: cannot open shared object file: No such file

处理办法:
用自己安装的目录下的这个文件替换下,迁移过来的目录中的文件。

  1. /u01_bak/opt/oracle/product/11.2.0/db_1/lib/libodm11.so 安装软件目录
  2. /u01/opt/oracle/product/11.2.0/db_1/lib/libodm11.so 迁移目录

重新启动。
目前所遇到的问题就这个,后面有遇到的再做补充。

Oracle GoldenGate(OGG)是一种强大的数据集成和实时数据复制工具,能够在不停机的情况下将数据从一个数据库迁移到另一个数据库,特别适用于Oracle数据库Oracle GoldenGate的迁移场景。其核心原理是通过捕获源数据库的事务日志(Redo Log),将已提交的事务提取并传输到目标端,从而实现数据的实时同步[^3]。 ### Oracle GoldenGate 不停机迁移的关键步骤 1. **环境准备与安装** - 确保源端和目标端的数据库版本、操作系统平台兼容。 - 安装Oracle GoldenGate软件。可以使用静默安装方式,例如: ```bash /ogg/fbo_ggs_Linux_x64_Oracle_shiphome/Disk1/runInstaller -silent \ -responseFile /ogg/fbo_ggs_Linux_x64_Oracle_shiphome/Disk1/response/oggcore.rsp ``` 该方式适用于Linux平台下的Oracle GoldenGate安装[^4]。 2. **配置源端数据库** - 启用补充日志(Supplemental Logging),确保GoldenGate能够捕获完整的事务信息。 - 创建GoldenGate专用的数据库用户,并授予必要的权限,如`SELECT`、`EXECUTE`等。 3. **配置GoldenGate抽取进程(Extract)** - 配置参数文件,定义抽取进程的名称、源数据库连接信息、需要捕获的表等。 - 启动抽取进程,开始从源数据库的Redo Log中捕获事务数据。 4. **配置GoldenGate投递进程(Pump)** - 投递进程负责将抽取进程捕获的数据通过网络传输到目标端。 - 可以配置数据压缩和加密,提升传输效率和安全性。 5. **配置目标端GoldenGate应用进程(Replicat)** - 在目标端创建与源端结构一致的表结构。 - 配置Replicat进程参数,定义目标数据库连接信息以及数据映射规则。 - 启动Replicat进程,开始将接收到的数据应用到目标数据库。 6. **数据一致性校验** - 使用GoldenGate Veridata工具对源端和目标端的数据进行一致性校验,确保迁移过程中数据未发生丢失或错误[^2]。 7. **切换与割接** - 在数据同步完成后,可以进行切换操作,将业务流量从源数据库切换到目标数据库。 - 由于GoldenGate支持亚秒级的数据同步,因此切换过程几乎不会影响业务运行。 ### Oracle GoldenGate 不停机迁移的优势 - **实时数据同步**:GoldenGate通过Redo Log捕获机制实现数据的实时同步,延迟极低,通常在秒级以内[^1]。 - **高可用性**:在迁移过程中,源数据库仍然可以处理事务,确保业务连续性。 - **异构支持**:不仅支持OracleOracle迁移,还支持Oracle到MySQL、PostgreSQL、SQL Server等异构数据库迁移。 - **最小化停机时间**:整个迁移过程无需停止源数据库服务,真正实现“零停机迁移。 ### 适用场景 - **数据库升级与迁移**:在不中断业务的前提下完成数据库版本升级或平台迁移。 - **数据仓库构建**:将OLTP系统的数据实时同步到数据仓库,用于实时分析。 - **容灾与备份**:构建异地容灾系统,确保数据高可用。 - **双活数据中心**:实现两个数据中心之间的数据实时同步,提高系统可用性[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值