菜单

目录

Administrator
发布于 2023-05-15 / 6 阅读 / 0 评论 / 0 点赞

信息集成平台之适配端部署手册(SpringBoot)


部署准备

序号

类型

软件名称

说明

1

操作系统

Windows Server 2003 或更高版本(RedHat 6.5或CentOS 7或Ubuntu 11)

部署应用服务器,建议内存在8G以下,如果多个适配器,则可以根据实际情况增加相应的内存大小

2

应用服务器

JDK 6(或更高版本)

3

Tomcat 6.5(或更高版本)

4

适配端应用

Dataclient.dmp

Oracle适配端dmp数据库

5

Dataclient.sql

Sql Server适配端数据库

6

Dataclient.sql

MySql适配端数据库

8

Dataclient.jar

数据导入

SQL Server数据导入

  1. 确定源库所在数据库服务器的IP地址、sa口令及源库的名称。

  2. 进入Sql Server企业管理器,在源库所在数据库新建一个dataclient数据库,数据库的字符集与要适配的源库一致,数据库日志模式修改成简单模式,这个一定要修改,因为如果不是简单模式日志增长会很快。

  3. 在企业管理器中备份还原功能还原dataclient,还原文件为“dataclient.bak”。

Oracle 9i-11g版本数据导入

  1. 设置Process配置1600

    用sys账号登录,修改Process参数,命令如下:

    alter system set processes=1600 scope = spfile;

  2. 修改180天要强制修改口令:

    用sys账号登录,修改口令限期问题,命令如下:

    Alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

  3. 设置参数SQLNET.EXPIRE_TIME

    找到sqlnet.ora文件(在Oracle_Home\network\amdin目录下),打开文件,在文件中增加以下内容:

    SQLNET.EXPIRE_TIME=20

  4. 防火墙设置,设置1521端口可以外部防问,如果没有安装防火墙或防火墙关闭则可以不处理。

  5. 设置游标数(show parameter open_cursors;):

    alter system set open_cursors=2000;

  6. 确定源库所在的服务IP地址、实例名及system账号与密码;

  7. 用sys账号(dba身份)登录PLSQL,打开sql文件,执行文件中的所有语句。

    注意:要核对所有的语句是否执行成功。

  8. Dmp导入:

    Imp userid=dataclient/data file=dataclient文件目录/dataclient.dmp full=y

Oracle12c及以上版本数据导入

单租用户

参考文件:

  1. 设置Process配置1600

    用sys账号登录,修改Process参数,命令如下:

    alter system set processes=1600 scope = spfile;

  2. 修改180天要强制修改口令:

    用sys账号登录,修改口令限期问题,命令如下:

    Alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

  3. 设置参数SQLNET.EXPIRE_TIME

    找到sqlnet.ora文件(在Oracle_Home\network\amdin目录下),打开文件,在文件中增加以下内容:

    SQLNET.EXPIRE_TIME=20

  4. 防火墙设置,设置1521端口可以外部防问,如果没有安装防火墙或防火墙关闭则可以不处理。

  5. 设置游标数(show parameter open_cursors;):

    alter system set open_cursors=2000;

  6. 确定源库所在的服务IP地址、实例名及system账号与密码;

启动归档日志

-- ---开启日志归档和及更改日志类型,启用xstream-------------------

sqlplus /nolog
CONNECT sys/password@orcl AS SYSDBA;

-- 执行以下命令开启Xstream。
alter system set enable_goldengate_replication=true;

-- 查询归档状态,如果未开启归档,需要开启归档,如果已开启归档,则不需要执行开启归档--
archive log list;

-- 以下为开启归档
-- 执行以下命令配置归档日志参数(真实环境下最少100G)
alter system set db_recovery_file_dest_size = 100G;

-- 正确填写归档日志存放路径
alter system set db_recovery_file_dest = '/opt/oracle/oradata/recovery_area' scope=spfile;

-- ------开启归档
shutdown immediate; (检查是否报错)
startup mount;
alter database archivelog;
alter database open;

-- -执行以下命令修改日志记录参数。
alter database add supplemental log data (all) columns;

创建出站服务器

-- 在sys用户执行以下命令创建XStream管理员用户并配置权限----
-- 核对dbf存放路径--
select * from dba_data_files;
CREATE TABLESPACE xstream_adm_tbs DATAFILE 'E:\ORACLE19C\APP\ADMINISTRATOR\ORADATA\ORCL\xstream_adm_tbs.dbf' SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

CREATE USER xstreamadmin IDENTIFIED BY data DEFAULT TABLESPACE xstream_adm_tbs QUOTA UNLIMITED ON xstream_adm_tbs;

GRANT CREATE SESSION TO xstreamadmin;

-- ----------------------给xstreamadmin授权---------------------

BEGIN
DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE(
grantee => 'xstreamadmin',
privilege_type => 'CAPTURE',
grant_select_privileges => TRUE,
container => 'ALL'
);
END;

/* 可以通过查询 dba_xstream_administrator 视图检查用户是否正确授予流管
理权限*/

SELECT * FROM dba_xstream_administrator

-- 在xstreamamdin用户执行以下命令创建出站服务器,启用出站服务器

DECLARE
tables DBMS_UTILITY.UNCL_ARRAY;
schemas DBMS_UTILITY.UNCL_ARRAY;
BEGIN
tables(1) := null;
schemas(1) := 'HIS'; -- 改成要捕获业务系统数据用户
DBMS_XSTREAM_ADM.CREATE_OUTBOUND(
server_name => 'dbzxout',
table_names => tables,
schema_names => schemas
);
END;

创建出站用户

-- 创建出站用户---------------------------------
-- -在sys用户执行以下命令创建dataclient connect连接数据库的用户并配置权限。核对存放路径--

CREATE TABLESPACE xstream_tbs DATAFILE 'E:\ORACLE19C\APP\ADMINISTRATOR\ORADATA\ORCL\xstream_tbs.dbf' SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

CREATE USER xstreamout IDENTIFIED BY data DEFAULT TABLESPACE xstream_tbs QUOTA UNLIMITED ON xstream_tbs;

grant unlimited tablespace to xstreamout;
GRANT CREATE SESSION TO xstreamout;
GRANT SELECT ON V_$DATABASE to xstreamout;
GRANT FLASHBACK ANY TABLE TO xstreamout;
GRANT SELECT ANY TABLE to xstreamout;
GRANT LOCK ANY TABLE TO xstreamout;
grant select_catalog_role to xstreamout;

-- -sys用户执行以下命令连接到数据库实例。
-- 执行以下命令允许xstreamout用户连接XStream出站服务器。

BEGIN
DBMS_XSTREAM_ADM.ALTER_OUTBOUND(
server_name => 'dbzxout',
connect_user => 'xstreamout'
);
END;

导入数据

  1. 用sys账号(dba身份)登录PLSQL,打开 sql文件,按步骤执行文件中的所有语句。

    注意:要核对所有的语句是否执行成功。

  2. Dmp导入:

    Imp userid=dataclient/data file=dataclient文件目录/dataclient.dmp full=y

多租用户

参考文件:

  1. 设置Process配置1600

    用sys账号登录,修改Process参数,命令如下:

    alter system set processes=1600 scope = spfile;

  2. 修改180天要强制修改口令:

    用sys账号登录,修改口令限期问题,命令如下:

    Alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

  3. 设置参数SQLNET.EXPIRE_TIME

    找到sqlnet.ora文件(在Oracle_Home\network\amdin目录下),打开文件,在文件中增加以下内容:

    SQLNET.EXPIRE_TIME=20

  4. 防火墙设置,设置1521端口可以外部防问,如果没有安装防火墙或防火墙关闭则可以不处理。设置游标数(show parameter open_cursors;):

    alter system set open_cursors=2000;

启动归档日志

-- ---开启日志归档和及更改日志类型,启用xstream-------------------

sqlplus nolog
CONNECT sys/password@orcl AS SYSDBA;

-- 执行以下命令开启Xstream。

alter system set enable_goldengate_replication=true;

-- 查询归档状态,如果未开启归档,需要开启归档,如果已开启归档,则不需要执行开启归档--

archive log list;

-- 以下为开启归档
-- 执行以下命令配置归档日志参数(真实环境下最少100G)

alter system set db_recovery_file_dest_size = 100G;

-- 正确填写归档日志存放路径

alter system set db_recovery_file_dest = '/opt/oracle/oradata/recovery_area' scope=spfile;

-- ------开启归档
shutdown immediate;(检查是否报错)
startup mount;
alter database archivelog;
alter database open;

-- -执行以下命令修改日志记录参数。
alter database add supplemental log data (all) columns;

创建出站服务器

-- 创建出站服务器---------------------------------
-- -----------在sys用户执行以下命令创建XStream管理员用户并配置权限
-- 核对dbf存放路径

select * from dba_data_files;
CREATE TABLESPACE xstream_adm_tbs DATAFILE 'E:\ORACLE19C\APP\ADMINISTRATOR\ORADATA\ORCL\xstream_adm_tbs.dbf' SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

CREATE USER c##xstreamadmin IDENTIFIED BY data DEFAULT TABLESPACE xstream_adm_tbs QUOTA UNLIMITED ON xstream_adm_tbs;

GRANT CREATE SESSION TO c##xstreamadmin;

-- ----------------------给xstreamadmin授权---------------------

BEGIN
	DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE(
		grantee => ' c##xstreamadmin ',
		privilege_type => 'CAPTURE',
		grant_select_privileges => TRUE,
		container => 'ALL'
);
END;

/* 可以通过查询 dba_xstream_administrator 视图检查用户是否正确授予流管
理权限 */

SELECT * FROM dba_xstream_administrator

-- 在c##xstreamamdin用户执行以下命令创建出站服务器,启用出站服务器

DECLARE
	tables DBMS_UTILITY.UNCL_ARRAY;
	schemas DBMS_UTILITY.UNCL_ARRAY;
BEGIN
	tables(1) := null;
	schemas(1) := 'C##HIS'; -- 改成要捕获业务系统数据用户
	DBMS_XSTREAM_ADM.CREATE_OUTBOUND(
	server_name => 'dbzxout',
	table_names => tables,
	schema_names => schemas
	);
END;

创建出站用户

-- -在sys用户执行以下命令创建dataclient connect连接数据库的用户并配置权限。
-- 核对dbf地址

CREATE TABLESPACE xstream_tbs DATAFILE 'E:\ORACLE19C\APP\ADMINISTRATOR\ORADATA\ORCL\xstream_tbs.dbf' SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

CREATE USER c##xstreamout IDENTIFIED BY data DEFAULT TABLESPACE xstream_tbs QUOTA UNLIMITED ON xstream_tbs;
grant unlimited tablespace to c##xstreamout;
GRANT CREATE SESSION TO c##xstreamout;
GRANT SELECT ON V_$DATABASE to c##xstreamout;
GRANT FLASHBACK ANY TABLE TO c##xstreamout;
GRANT SELECT ANY TABLE to c##xstreamout;
GRANT LOCK ANY TABLE TO c##xstreamout;
grant select_catalog_role to c##xstreamout;

-- -执行以下命令以sys用户连接到数据库实例。
-- 执行以下命令允许c##xstreamout用户连接XStream出站服务器。

BEGIN
	DBMS_XSTREAM_ADM.ALTER_OUTBOUND(
	server_name => 'dbzxout',
	connect_user => 'c##xstreamout'
	);
END;

导入数据

  1. 用sys账号(dba身份)登录PLSQL,打开sql文件,按步骤执行文件中的所有语句。

    注意:要核对所有的语句是否执行成功。

  2. Dmp导入:

    Imp userid=c##dataclient/data file=dataclient文件目录/dataclient.dmp full=y

MySql数据导入

  1. 确定源库所在数据库服务器的IP地址、root口令及源库的名称。

  2. 修改Mysql my.ini参数:

    [mysqld]
    server-id=1
    binlog_format=row
    log_bin=mysql-bin.log
    expire_logs_days=10
    max_binlog_size=100M

  3. 在源库所在数据库新建一个dataclient数据库。

  4. 在查询窗口执行

    set global log_bin_trust_function_creators=1;
  5. 打开dataclient.sql,执行dataclient.sql,注意,执行这个语句应该是在dataclient数据库中执行。

Jar包部署

安装前准备工作

  1. 下载JDK,地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,注请下载64位的JDK版本。

  2. 下载Tomcat,地址;http://tomcat.apache.org/,请下载64位版本。

  3. 其它未涉及事宜。

JDK安装

  1. 双击进行安装;

  2. 配置环境变量,JAVA_HOME与Bin路径,下面是Windows的配置

    设置JAVA_HOME:

    9b19af0aabd60aa997d74d920173b860-begt.png

    在PATH中增加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

    ba300d544aed7f0e2cf349d8921ed08d.png

jar部署前准备工作

  1. Tomcat、JDK、数据库配置已经安装完成;

  2. 获得最的dataclient.jar包;

  3. 准备Winrar类似的解压工具与UE类似的编辑工具。

修改jar中配置文件

  1. 用winrar打开datacenter.jar包;

  2. 修改application.properties文件

    application.properties在目录dataclient.jar\BOOT-INF\class下,修改datamanager连接信息,根据数据库类型选择不同的修改地方:

    8f3e719d0fd0d37278b87ba83a3c70a6.png

  3. 修改dataclient.properties文件

    application.properties在目录dataclient.jar\BOOT-INF\class下,oracle 12c及以上的版本需要配置管道流接收服务,9i-11g的版本不需要开启管道流

    #管道流接收服务配置成1表示表示启动运行 配置成0表示停止运行

    e0cc3ba885e23330f0f3bec6b167bfc4.png

    修改redis数据库连接信息,如下图:

    500c6c8d7d528f6246c41fe419b59fb9-pici.png

部署dataclient.jar包

  1. 拷贝修改后dataclient.jar包到新建目录springboot

  2. 创建批处理文件(bat文件)

    67a9798ab5081c1fba0d89d563d902f6.png

  3. 启动bat文件

常见问题处理

重建xstream服务

参考文件:

MySql 适配器发布启停

如果MySql发布启停,请重启MySqlCdc,关闭MySqlCdc_Run.bat再运行MySqlCdc_Run.bat。

多个适配器适配一个业务库

  1. dataclient用户:用户名不能相同。

  2. 用户配置:支撑库用户名要与实际用户名一致。

    f4af980f8b163090317b7ebcf2083c17.png

    适配器支撑库修改C_C_CONNECTUSER表中数据。

    43803932d329e3e859f24552000cdcf5.png

shutdown immediate报错12514

在监听文件加入

(SID_LIST =
	(SID_DESC =
	(GLOBAL_DBNAME = orcl)
	(ORACLE_HOME = E:\\oracle19c)
	(SID_NAME = ORCL)
	)

8f7c7bd449fd7f60c475ec282c86fb3d.png