暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T 数据迁移

墨天轮 2019-09-23
1890

数据迁移

将Oracle数据库中的数据迁移至GaussDB 100 。

前提条件

  • 待迁移的Oracle数据库基于OGG主备部署。
  • 需要在Oracle数据库备节点开启归档模式。

    查看归档模式的命令:

    select log_mode from v$database

  • Oracle数据库备节点和GaussDB 100之间网络可以连通。
  • 如果数据量比较大,建议保留在开始同步前到同步完成后的Oracle归档日志。
  • 在数据迁移的操作期间,停止一切Oracle数据库备节点的手动/自动备份,且不可删除备节点的归档文件。

    全量迁移过程中会停止Oracle数据库备节点的恢复进程,因此要注意备节点的OGG进程是否会删除抽过来的日志文件。

  • 不支持在迁移过程中产生的Oracle DDL语句。
  • 不支持非同源数据库的DDL语句迁移,即数据库结构的改变不可同步。
  • 在迁移过程中,会停止Oracle数据库备节点的OGG,在迁移前要确认业务是否有读取备节点的操作。
  • 在Oracle数据库备节点端需要使用端口号9921-9940。
  • Oracle数据库备节点必须是Linux操作系统。
  • GaussDB的配置客户端接入认证要加入Oracle数据库备节点IP地址。
  • Oracle数据库备节点运行Oracle数据库的用户需要有$JAVA_HOME的权限。
  • 在GaussDB端需要支持expect命令。
  • GaussDB分布式部署不支持lob、long等大字段类型。
  • 以获取如下软件包:
    表1 软件包

    软件包名称

    说明

    上传服务器

    获取地址

    GaussDB_100-1.0.0-DATASYNC.tar.gz

    全量同步软件安装包。

    GaussDB 100

    • 企业用户:点此前往

    • 运营商用户:点此前往

    com.huawei.gauss.jdbc.ZenithDriver-GaussDB_100_1.0.0.jar

    GaussDB 100驱动包,用于OGG连接GaussDB 100。

    从安装包的GaussDB_100_1.0.0-CLIENT-JDBC.tar.gz里面获得。

    Oracle数据库备节点

    OGG_BigData_Linux_x64_12.3.2.1.1.zip

    GaussDB 100上用于导入数据的OGG安装包。

    Oracle数据库备节点

    请在Oracle官网下载。

    版本号_fbo_ggs_Linux_x64_shiphome.zip

    Oracle数据库备节点上用于捕获和传输数据的OGG安装

    Oracle数据库备节点

    ojdbc8-12.2.0.1.jar

    Oracle驱动包,用于连接Oracle,必须为该版本。

    GaussDB 100

操作步骤

  • 使用PuttY工具,以root帐号登录Oracle数据库备节点和GaussDB 100服务器(单机/主备部署登录主DN服务器、分布式部署登录任一CN所在服务器)。
  • 在Oracle数据库备节点和GaussDB 100上分别创建工作目录,用于安装同步软件及存放同步数据。盘空间大小要大于Oracle已有数据的1GB及以上。

    以下均以工作目录(work_dir)为“/opt/workspace”为例:
    mkdir -p /opt/workspace mkdir -p /opt/workspace/software

  • 修改工作目录权限。

    在GaussDB端,修改工作目录权限为gaussdb运行用户和属组(例如:gaussdb运行用户为omm,属组为dbgrp)。
    chown -R omm.dbgrp /opt/workspaces
    在Oracle数据库备节点,修改工作目录权限为Oracle运行用户和属组(例如:Oracle运行用户为oracle,属组为oinstall)。
    chown -R oracle.oinstall /opt/workspace

  • 使用WinSCP工具,将软件包分别上传到工作目录"/opt/workspace"下,详情请参见表1
  • 使用PuttY工具,以root帐号登录GaussDB 100服务器。
  • 执行如下命令,切换到omm帐号登录。

    [root@host2 /]#su - omm

  • 执行以下命令,防止系统超时退出。

    TMOUT=0

  • 执行如下命令检查jdk版本。

    echo $JAVA_HOME

    无回显表示没有$JAVA_HOME,需要在~/.bashrc中添加环境变量。jdk版本要求1.8。

    vi ~/.bashrc

    按i进入编辑模式,增加环境变量后,按Esc键并输入:wq保存退出。

    例如Java目录为“/home/omm/workspace/java/jdk-8u201 ”:

    export JAVA_HOME=/home/omm/workspace/java/jdk-8u201 export PATH=$JAVA_HOME/bin:$PATH

    重新加载:

    source ~/.bashrc

  • 进入trandata.ini文件(在相对路径script/config下)。

    cd $GPHOME/script/config vi trandata.ini

  • 按i编辑文件。
  • 配置trandata.ini文件后,按Esc键并输入:wq保存退出。

    [source_db_standby] host_ip = x.x.x.x #Oracle备节点IP user_name = oracle #Oracle备节点安装数据库用户名 dba_name = ogg_test #Oracle备节点具有DBA权限数据库用户,但不能是sys用户 db_port = 1521 #Oracle备节点数据库端口 server_name = ora12c #Oracle备节点数据库server_name(如果是rac必须填server_name) origin_dir = /home/ogg #Oracle备节点原OGG安装目录 work_dir = /home/app/oracle/trandata #Oracle备节点工作目录 sync_sw = 版本号_fbo_ggs_Linux_x64_shiphome.zip #Oracle备节点上传的OGG软件名称 db_name = ogg_ot,ogg_twl #Oracle备节点即将被同步的数据库(多个库之间使用半角,分割,且无空格) gas_pak = com.huawei.gauss.jdbc.ZenithDriver-GaussDB_100_1.0.0.jar #GaussDB驱动包 sync_swa = OGG_BigData_Linux_x64_12.3.2.1.1.zip #Oracle备节点上传的OGG软件名称 [target_db] host_ip = x.x.x.x #Gauss100节点IP(如果是单机则填入主DN的IP,如果是分布式则填入CN IP) user_name = omm #Gauss100节点安装数据库用户名 dba_name = ogg_sync #Gauss100节点数据库具有DBA权限的用户,但不能是sys用户 db_port = 8989 #Gauss100节点数据库端口 work_dir = /home/omm/workspace #Gauss100节点工作目录,用于存放迁移的文本,因此可用空间要比源库数据量要大 \ dss_sw = GaussDB_100-1.0.0-DATASYNC.tar.gz #DSS全量迁移工具

  • 在GaussDB上创建与Oracle一致的数据库用户名、表空间名、表名、表结构。
  • omm用户身份登录GaussDB 100服务器。

    说明:

    迁移命令必须在11的[target_db] 显示的“host_ip”服务器上执行。

  • 在$GPHOME/script目录下执行如下命令,进行数据迁移。

    在执行迁移命令后要输入配置文件中所配置用户的密码,密码输错3次命令会退出。建议密码不要带特殊字符。
    cd $GPHOME/script python gs_trandata

    显示如下信息,表示数据迁移成功。如果迁移失败,可在“$GAUSSLOG/om/gs_trandata-xxx.log ”下查看日志信息。

    当迁移命令执行成功后,表示OGG在后台已经启动实时数据同步,具体达成数据一致的时间,需要去查看Oracle的OGG进程状态。

    the data full migration is complete and the ogg software begins incremental migration

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论