Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置

时间:2021-01-13 16:53:58

引言

OracleSAP HANA实时复制系列():初始SRS介绍了从OracleSAP HANA实时复制系统的体系架构,并阐述了数据实时复制过程。在OracleSAP HANA实时复制系列()Replication Server的安装与配置文中结合截图一步步详细介绍了Replication Server的安装与配置过程。与上一篇文章类似,本文结合图片详细介绍Linux操作系统下Replication Agent软件的安装以及配置过程。

1安装环境

从第一篇介绍的OracleSAP HANA的复制系统架构图可知,该复制系统主要包含Oracle数据库服务器、Replication AgentReplication ServerSAP HANA数据库服务器四个组件。其中Oracle数据库和Replication Agent必须安装在同一台机器上。

为了便于说明,这些组件安装的机器作以下说明:

    • 主机ASuse 11 SP2IP地址:记为<IPA>,安装Oracle数据库和Replication Agent
    • 主机BSuse 11 SP2IP地址:记为<IPB>,安装Replication Server
    • 主机CSuse 11 SP2IP地址:记为<IPC>,安装SAP HANA数据库。

Replication Agent可以安装在Linux或者Windows操作系统中,本文介绍在Suse 11 SP2环境下的Replication Agent的安装和配置过程,使用的Replication Agent版本为15.7.1 SP120。本文默认读者已经安装好Oracle数据库,且对Oracle数据库有一定的了解,本文使用的Oracle数据库的版本为Oracle 11g。更多Replication Agent软件和硬件要求请参见Replication Agent 15.7.1 Installation Guide

2 Replication Agent软件安装


2.1准备工作

  1)由于Replication Agent需要读取Oracle数据库的Log信息,所以运行Replication Agent的操作系统账户需要具备读取Oracle数据库Log信息的权限。本文使用Oracle数据库所在的操作系统账户“Oracle”,读者可以使用其他账户,但此账户需具备读取Oracle数据库Log信息的权限。

  2)Oracle JDBC驱动程序必须安装在 Replication Agent主机上,并且该驱动程序的安装目录必须包含在 CLASSPATH环境变量中。

  3)必须在Oracle数据库上安装并运行 TNS监听器服务,以便 Replication Agent 实例可以连接到Oracle数据库。

  4)从SAP Service Marketplace(SMP)上下载Replication Agent安装包,并获得相应的许可证。解压安装包并放到文件夹中,运行chown命令确保Oracle用户对该文件夹有readwriteexecute权限。


2.2安装软件

  1)创建一个安装目录作为Replication Agent的根目录,记为<SYBASE>

   Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置

  2)运行Replication Agent安装包目录下的setup.bin

    说明:Replication Agent有三种安装模式:

    • 图形用户界面(GUI):用于在交互式用户模式下安装组件;
    • 主控台:用于在命令行环境下安装组件;
    • 响应文件:使用响应文件方式安装组件,包括无提示和使用响应文件的交互式两种方式。

      GUI模式为默认的安装模式,本文使用此种模式。

    Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置

  3)弹出安装界面,单击Next

    Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置

  4)选择地区为 People’s *(PRC)”,并选择 I agree to the terms of the Sybase license for the

install location specified”选项,单击Next

   Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置

  5)选择刚创建的sybase文件夹作为Replication Agent的安装目录,单击  Next

   Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置

  6)选择要连接的数据库为“Oracle”,单击Next

   Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置

  7)选择 continue installation without a license key”,单击 Next

    说明:若已获得许可证,选择“Specify license key”并输入许可证。

  Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置

  8)选择“no”不配置邮件提醒,单击 Next

   Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置

  9)确认安装信息,单击Install

   Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置

  10)显示如下界面说明软件安装成功

  Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置

更多Replication Agent的安装信息请参见Replication Agent 15.7.1 Installation Guide


2.3配置系统环境变量

  1)编辑.bashrc文件

  2)添加source SYBASE.sh语句,并保存文件

    Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置

  3)运行.bashrc文件

    Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置


2.4 验证安装有效性

  1)打开 <SYBASE>/log 目录中的日志文件,检查是否有错误信息

  2)到<SYBASE>/RAX-15_5/bin目录下运行 ra.sh命令,没有报错并显示Replication Agent版本则说明安装成功   

    Oracle到SAP HANA实时复制系列(三):Replication Agent的安装与配置

3 配置Replication Agent

 

3.1 Oracle 数据库设置

  1)验证Redo日志归档(archive)设置

    a)使用SQLPLUS,并以数据库系统管理员账户登录Oracle数据库

    b)运行如下SQL命令


  1. select log_mode from v$database;  

      如果归档日志开启,显示结果如下:

      LOG_MODE

      --------

      ARCHIVELOG

    c)如果归档日志没有开启,执行如下SQL命令来开启


  1. shutdown;  
  2. startup mount;  
  3. alter database archivelog;  
  4. alter database open;  

 

  2)验证主键补充日志设置

    默认情况下,Oracle没有将主键(primary keys)和唯一索引(unique indexes)写入日志,执行如下操作使得主键和唯一索引写入日志中。

    a)使用SQLPLUS,并以数据库系统管理员账户登录Oracle数据库

    b)执行如下SQL命令


  1. SELECT SUPPLEMENTAL_LOG_DATA_MIN,  
  2. SUPPLEMENTAL_LOG_DATA_PK,  
  3. SUPPLEMENTAL_LOG_DATA_UI  
  4. FROM V$DATABASE;  

    如果主键和唯一索引设置写入日志中,显示如下信息

     SUP SUP SUP

     --- --- ---

     YES YES YES

    c)如果显示结果没能如上所示,则执行如下SQL命令


  1. ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY  
  2. KEYUNIQUE INDEX) COLUMNS;  
  3. ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;  

 

  3)配置Oracle  LogMiner

    a)如果没有安装 LogMiner,以数据库系统管理员账户执行<ORACLE_HOME>/rdbms/admin目录下的dbmslm.sql文件

    b)安装LogMiner后,执行如下SQL命令创建一个public synonym

 

  1. CREATE PUBLIC SYNONYM DBMS_LOGMNR FOR SYS.DBMS_LOGMNR;  

 

  4)创建<RA_USER><MAINT_USER>用户

    a)创建一个数据库用户,并记为<RA_USER>,该用户用于Replication Agent连接Oracle数据库。具体创建<RA_USER>和赋权限的SQL命令请参见Creating Oracle User and Grant Permissions

    b)再创建一个数据库用户,并记为<MAINT_USER>,作为Oracle的维护用户,该用户用于Replication Server创建到Oracle数据库的连接时使用,具有必要的Select权限。


  5)验证<RA_USER>用户权限

    <RA_USER>用户登录Oracle数据库,运行如下SQL命令验证该用户的权限

  1. select GRANTED_ROLE from USER_ROLE_PRIVS;  

      <RA_USER>用户需要至少包含如下三个权限。

   GRANTED_ROLE

   --------------------

   CONNECT

   RESOURCE

   SELECT_CATALOG_ROLE


3.2 Replication Server端创建到Oracle的连接

 

  1)开启Replication Server,并用isqlsa账户登录到Replication Server

  2)执行以下命令创建到Oracle的连接


  1. create connection to ORCLDS.orcl  
  2. using profile rs_rs_to_oracle_ra;standard  
  3. set username <MAINT_USER>  
  4. set password <MAINT_PWD>  
  5. with log transfer on, dsi_suspended  
  6. go  

  说明:

      a) ORCLDSReplication Agent配置文件里rs_source_ds参数值;

        b)orclReplication Agent配置文件里rs_source_db参数值;

      c) <MAINT_USER>Oracle数据库的维护用户,并具有必要的Select权限;

      d)<MAINT_PWD>Oracle数据库的维护用户密码。


  3)赋予rs_username设置create object权限

    RS_ra为连接Replication ServerReplication Agent的账户。为 RS_racreate object权限主要是为了使Replication Server端能够创建Replication definitionRS_raReplication Agent配置文件里rs_username参数值。如下是赋权限命令:


  1. grant create object to RS_ra  
  2. go  

3.2 创建Replication Agent实例

  1)拷贝一份<SYBASE>/RAX-15_5/init/oracle.rs文件,并命名为ORCLDS.rs,并编辑ORCLDS.rs文件,其中的部分参数说明如下。

参数

说明

举例

instance_name

Replication Agent的名字

ORCLDS

admin_port

Replication Agent 端口号

9036

ltm_admin_user

Replication Agent系统管理员账户名

sa

ltm_admin_pw

Replication Agent系统管理员账户密码

111111

pds_host_name

主数据库服务器的主机名或IP地址

<IPA>

pds_port_number

主数据库端口号

1521

pds_database_name

主数据库名

orcl

pds_username

Replication Agent用于连接主数据库的用户名

<RA_USER>

pds_password

Replication Agent用于连接主数据库的用户密码

111111

pds_sa_username

主数据库的系统管理员

SYS AS SYSDBA

pds_sa_password

主数据库的系统管理员

111111

rs_host_name

Replication Server主机名或IP地址

<IPB>

rs_port_number

Replication Server端口号

11755

rs_username

Replication Server登录名,该登录名用于Replication Agent连接Replication Server

RS_ra

rs_password

rs_username用户的密码

111111

rs_charset

Replication Server字符集

utf8

rs_source_ds

Replication Server端建立Oracle数据库连接时使用的服务器名(Replication Server建立Oracle数据库连接时使用的 DS.DB中的DS参数)

ORCLDS

rs_source_db

Replication Server端建立Oracle数据库连接时使用的数据库名(Replication Server建立Oracle数据库连接时使用的 DS.DB中的DB参数)

orcl

rssd_host_name

RSSD数据库服务器名或IP地址

<IPB>

rssd_port_number

RSSD数据库端口号

11756

rssd_database_name

RSSD数据库名

ERSSD

rssd_username

RSSD数据库维护用户名

RS_RSSD_maint

rssd_password

RSSD数据库维护用户密码

111111

pdb_archive_path

Oracle数据库的Log目录

<ORACLE_BASE>/oradata/orcl


  2)验证ORCLDS.rs的有效性,如下是验证命令:


  1. <SYBASE>/RAX-15_5/bin/ra_admin.sh –vr ORCLDS.rs  

   如出现如下提示则说明文件设置正确,否则查看相应的错误提示信息并进行改正。

    Response-file processing completed


  3)创建Replication Agent实例,执行如下命令

  1. <SYBASE>/RAX-15_5/bin/ra_admin.sh –r ORCLDS.rs  

  如出现如下提示则说明实例创建成功,否则查看相应的错误提示信息并进行改正。

     Response-file processing completed


  4)启动Replication Agent实例

      创建成功后,在<SYBASE>/RAX-15_5/目录下会有一个ORCLDS目录,该目录名由配置文件中的instance_name参数值指定,运行该目录下的RUN_ORCLDS可执行文件即可启动Replication Agent

 

  5)验证Replication Agent实例

    a)在Replication Server端的interfaces文件中添加Replication Agent连接信息(也可以在Replication Agent interfaces文件中添加如下相同的连接信息)

ORCLDS

master tcp ether <IPA> 9036

query tcp ether <IPA> 9036

 

    b)在Replication Server端使用isql登陆Replication Agent


  1. isql –Usa –P111111 –SORCLDS  

    c)测试到Oracle数据库和Replication Server的连接。


  1. test_connection  
  2. go  

    如果出现如下的信息,则说明连接成功。

Type Connection

---- ----------

PDS  succeeded

RS   succeeded

 

  6)初始化Replication Agent实例

    a)执行如下命令来初始化Replication Agent实例。


  1. ra_admin init  
  2. go  

    b)设置Replication Agent的状态为REPLICATING

 

  1. resume  
  2. go  

    如果设置成功则显示的结果如下,否则根据错误提示信息进行改正。

State             Action

----------------- --------------------------

REPLICATING       Ready to replicate data.

 

  c)查看Replication Agent状态

 

  1. ra_status  
  2. go  

更多Replication Agent的信息请参见Replication Agent 15.7.1 Administration  Guide

4结束语

本文结合图片详细说明了Replication Agent的安装与配置过程,本系列的下一篇文章将会介绍从Oracle表到SAP HANA表的复制操作。

参考资料

Replication Agent 15.7.1 Installation Guide

Replication Agent 15.7.1 Administration  Guide