最近工作中有个客户需求需要将本地机房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
-
源目标端配置rsync同步
配置源端的Oracle目录 /u01 整体迁移到目标端
rsync使用自行百度。 -
源端Oracle 停库
SQL> shutdown immediate

3.源端启动rsync数据同步
配置好rsync 配置文件后,启动同步任务
screen -S qianyi-rsyncrsync -azv --progress --password-file=/etc/rsyncd.secrets /u01/ qianyi@192.168.11.1::qianyi

4.数据同步完成后,源端启动数据库
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
重新加载监听生效
$ lsnrctl reload
8.目标端启动数据库
连接数据库,启动。

正常启动。
目标端启动的时候,没正常启动报错:
有关这个包的 libodm11.so
oraclenc: error while loading shared libraries: libodm11.so: cannot open shared object file: No such file
处理办法:
用自己安装的目录下的这个文件替换下,迁移过来的目录中的文件。
/u01_bak/opt/oracle/product/11.2.0/db_1/lib/libodm11.so 安装软件目录/u01/opt/oracle/product/11.2.0/db_1/lib/libodm11.so 迁移目录
重新启动。
目前所遇到的问题就这个,后面有遇到的再做补充。
本文记录了一次Oracle数据库的停机冷迁移过程,包括迁移前的准备工作,如了解源端环境信息、目标端环境搭建,以及迁移过程中使用rsync同步数据文件,停库、启动同步、修改路径和配置等步骤。在迁移后,还提到解决遇到的libodm11.so问题。
602

被折叠的 条评论
为什么被折叠?



