系统登录

系统登录地址为http://10.10.10.10,系统暂不支持IE11以下浏览器,推荐使用chrome浏览器进行登录

登录系统后可以点击头像,选择退出登录进行退出

Read the rest of this entry

Adapter开发

OGG官方提供了一些中间件的Adapter,比如Kafka,但并未提供RabbitMQ的Adapter因此需要自行开发

下载开发包

在目标端的$OGG_HOME/ggjava/resources/lib目录下包含adapter开发所需的依赖,将其下载到本地,添加到项目依赖中,如果是Intellij idea,可以右键项目选择Module Setting添加本地依赖

这里是添加所有的依赖,实际上如果只是进行简单的开发,只需添加ggdbutil-19.1.0.0.5.007.jar即可,可以执行以下maven命令将该jar包安装到本地仓库

Read the rest of this entry

目标端安装

这次我们集成的目标端是RabbitMQ,Oracle官方并未提供标准的OGG插件进行集成,因此我们需要自行开发插件,在OGG中插件称之为Adapter翻译过来就是适配器

下载介质

登录edelivery搜索Oracle GoldenGate for Big Data,下载Oracle GoldenGate for Big Data 19.1.0.0.0 ( Oracle GoldenGate for Big Data )版本

edelivery可以下载oracle所有产品,建议通过edelivery进行下载,oracle官网只提供较较新版本的下载,如果需要制定版本的安装介质,还是要到edelivery上找

Read the rest of this entry

OGG配置

创建wallet

OGG中很多操作需要在登录Oracle数据库的前提下才能完成,登录账号就是之前创建的ogg用户,在12c之前登录数据库必须在命令行中指定用户名密码,这样很不安全,因为从12c开始,ogg可以通过创建登录凭证,以凭证的方式登录,密码被加密到凭证中,该方式在ogg中称之为alias

➜ cd $OGG_HOME
➜ ./ggsci
GGSCI (db-server) 1> CREATE WALLET
Created wallet.
Opened wallet.
GGSCI (db-server) 2> ADD CREDENTIALSTORE
Credential store created.
GGSCI (db-server) 3> ALTER CREDENTIALSTORE ADD USER ogg@ORCL ALIAS ORCL
Password: 
Credential store altered.
# 登录测试
GGSCI (SRSlinuxtest) 5> dblogin useridalias ORCL
Successfully logged into database.
GGSCI (SRSlinuxtest as ogg@ORCL) 6>

创建Extract参数

ogg中每个进程的启动都需要指定参数,参数名称和进程名称必须保持一致,参数本质上是一个以.prm结尾都文件,存储在dirprm文件夹中,所以你可以不通过ggsci,直接在dirprm文件夹中进行创建和编辑参数文件

Read the rest of this entry

源端独立安装

源端如果需要独立安装,需要在服务器上安装Oracle Instant Client,并且以Administrator方式安装

Oracle Instant Client安装

https://edelivery.oracle.com/搜索Oracle Instant Client,并且找到Oracle Database Client 19.3.0.0.0介质下载,文件名为V982064-01.zip,下载完毕后上传至服务器进行安装

创建用户和用户组

这里按照oracle的安装规范,创建用户组oinstall,创建用户名为oracle

groupadd -g 1200 oinstall
useradd -u 1100 -g oinstall -d /home/oracle oracle
passwd oracle

Read the rest of this entry

OGG安装介质下载

登录oracle软件下载站点https://edelivery.oracle.com/搜索Oracle GoldenGate,我们需要下载两个介质

  • Oracle GoldenGate 19.1.0.0 ( Oracle GoldenGate )(源端使用)
  • Oracle GoldenGate for Big Data 19.1.0.0.0(目标端使用)
下载oracle软件需要提前注册oracle账号

Read the rest of this entry

在安装之前需要配置一个OGG的数据库用户用于OGG从数据库中读取日志

数据库配置

  • 确保数据库开启归档模式
# 未开启归档模式
[oracle]$ sqlplus / as sysdba
SQL> archive log list;
Database log mode	       No Archive Mode
Automatic archival	       Disabled
Archive destination	       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     19
Current log sequence	       21
# 已开启归档模式
SQL> archive log list;
Database log mode	       Archive Mode
Automatic archival	       Enabled
Archive destination	       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     34
Next log sequence to archive   36
Current log sequence	       36

Read the rest of this entry

背景

OAM在登录出错时,会跳到OAM错误页面,如图

该页面是OAM的标准错误页面,非常的不友好,当用户面对这么一个页面时,根本不知道如何操作。下面介绍如何自定义该页面

实现

  • 下载**oam-server.ear**

登录OAM后台,在目录$MIDDLEWARE_HOME/Oracle_IAM1/oam/server/apps目录下找到oam-server.ear,将其下载到本地

MIDDLEWARE_HOME是中间件目录,比如/data/fmwhome/Oracle/Middleware/Oracle_IAM1/oam/server/apps

Read the rest of this entry

背景

mysql在Linux系统中默认是区分大小写的,也就是userUSER是两张不同的表,而且后期这个参数是无法修改的,修改的话需要清空数据,成本非常高,而且最新版也没有针对这个问题的改进,这个设计我想不出是出于什么目的,因为实际情况是一个数据库可能很多系统共用,有些需要区分大小写,有些不需要,如果前期没有发现这问题,后期就要重新搭建一个数据库做数据迁移,除了要搞死mysql外,我想不出有什么其他理由oracle要这么设计。

Read the rest of this entry

写在前面

长期以来,我一直用的是git命令行管理代码,当只有一个人时,这完全没问题,但参与团队协作,命令行就显得令不从心,这并不是说命令后做不到,只是命令需要记住太多的命令,学习成本太高,而且在解决冲突上面,如果只靠命令后,那种感觉你体验过一次就再也不想体验。在花了一两天时间研究idea的git工具后,我就决定彻底放弃命令行拥抱gui,因此这边将这两天的研究成果记录下来,供大家学习参考。

Read the rest of this entry