Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

引言

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>

  

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

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

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

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

   

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

   

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

install location specified”选项,单击Next

  

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

  

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

  

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

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

  

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

  

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

  

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

 

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


2.3配置系统环境变量

  1)编辑.bashrc文件

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

   

  3)运行.bashrc文件

   


2.4 验证安装有效性

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

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

   

3 配置Replication Agent

3.1 Oracle 数据库设置

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

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

    b)运行如下SQL命令



select log_mode from v$database;








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

      LOG_MODE

      --------

      ARCHIVELOG

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



shutdown;
startup mount;
alter database archivelog;
alter database open;









 

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

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

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

    b)执行如下SQL命令



SELECT SUPPLEMENTAL_LOG_DATA_MIN,
SUPPLEMENTAL_LOG_DATA_PK,
SUPPLEMENTAL_LOG_DATA_UI
FROM V$DATABASE;









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

     SUP SUP SUP

     --- --- ---

     YES YES YES

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



ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY
KEY, UNIQUE INDEX) COLUMNS;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;




  3)配置Oracle  LogMiner

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

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


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命令验证该用户的权限

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的连接



create connection to ORCLDS.orcl
using profile rs_rs_to_oracle_ra;standard
set username <MAINT_USER>
set password <MAINT_PWD>
with log transfer on, dsi_suspended
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参数值。如下是赋权限命令:



grant create object to RS_ra
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的有效性,如下是验证命令:



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







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

    Response-file processing completed


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


<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



isql –Usa –P111111 –SORCLDS







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



test_connection
go







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

Type Connection

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

PDS  succeeded

RS   succeeded

  6)初始化Replication Agent实例

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



ra_admin init
go







    b)设置Replication Agent的状态为REPLICATING


resume
go







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

State             Action

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

REPLICATING       Ready to replicate data.

  c)查看Replication Agent状态


ra_status
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

想获取更多SAP HANA学习资料或有任何疑问,请关注新浪微博@HANAGeek!我们欢迎你的加入!

转载本文章请注明作者和出处<http://scn.sap.com/community/chinese/hana/blog/2014/04/02/oracle%E5%88%B0sap-hana%E5%AE%9E%E6%97%B6%...>,请勿用于任何商业用途。