Oracle到SAP HANA实时复制系列(一):初始SRS介绍了从Oracle到SAP HANA实时复制系统的体系架构,并阐述了数据实时复制过程。在Oracle到SAP HANA实时复制系列(二):Replication Server的安装与配置文中结合截图一步步详细介绍了Replication Server的安装与配置过程。与上一篇文章类似,本文结合图片详细介绍Linux操作系统下Replication Agent软件的安装以及配置过程。
从第一篇介绍的Oracle到SAP HANA的复制系统架构图可知,该复制系统主要包含Oracle数据库服务器、Replication Agent、Replication Server和SAP HANA数据库服务器四个组件。其中Oracle数据库和Replication Agent必须安装在同一台机器上。
为了便于说明,这些组件安装的机器作以下说明:
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。
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用户对该文件夹有read、write、execute权限。
1)创建一个安装目录作为Replication Agent的根目录,记为<SYBASE>。
2)运行Replication Agent安装包目录下的setup.bin
说明:Replication Agent有三种安装模式:
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。
1)编辑.bashrc文件
2)添加source SYBASE.sh语句,并保存文件
3)运行.bashrc文件
1)打开 <SYBASE>/log 目录中的日志文件,检查是否有错误信息
2)到<SYBASE>/RAX-15_5/bin目录下运行 ra.sh 命令,没有报错并显示Replication Agent版本则说明安装成功
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
1)开启Replication Server,并用isql以sa账户登录到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) ORCLDS为Replication Agent配置文件里rs_source_ds参数值;
b) orcl为Replication Agent配置文件里rs_source_db参数值;
c) <MAINT_USER>为Oracle数据库的维护用户,并具有必要的Select权限;
d)<MAINT_PWD>为Oracle数据库的维护用户密码。
3)赋予rs_username设置create object权限
RS_ra 为连接Replication Server和Replication Agent的账户。为 RS_ra赋create object权限主要是为了使Replication Server端能够创建Replication definition,RS_ra为Replication Agent配置文件里rs_username参数值。如下是赋权限命令:
grant create object to RS_ra
go
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。
本文结合图片详细说明了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%...>,请勿用于任何商业用途。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
37 | |
19 | |
13 | |
12 | |
11 | |
10 | |
10 | |
9 | |
8 | |
8 |