经过这段时间的实践练习,我对经典版21c的部署操作步骤进行了一些总结。
整体架构
首先了解了OGG的整体架构
OGG配置项 | 源端 | 目标端 |
数据库初始配置 | Y | Y |
管理进程 | Y | Y |
提取进程 | Y | N |
投送进程 | Y | N |
检查点表 | Y | |
复制进程 | Y |
通过上面的表格可以大致了解需要在源端和目标端部署的OGG组件
步骤纲要
(1)首先分别在源端和目标端安装OGG软件,配置环境变量,完成工作目录初始化
(2)第二步,分别在源端和目标端进行数据库相关的初始化,主要有以下工作:
i. 创建ogg专用用户和表空间(多租户数据需要建通用用户,并在每个需要同步的pdb中创建专用表空间)
ii. 给ogg专用用户授权
iii. 启用数据库归档,开启补充日志
(3)对于postgresql数据库还需要配置ODBC驱动;
(4)源端部署:管理进程,提取进程,投送进程
(5)目标端部署:管理进程,检查点表,复制进程
(6)分别启动目标端,源端的上述进程
几点重要说明
关于进程,对于新手先要了解的几个概念:
第一个是进程参数文件:通过编辑该文件,以实现用户想要的功能,有关众多参数的用法和说明需要仔细阅读官方手册;
第二个是参数文件名和进程名:为了管理方便,强烈推荐使用相同的名称,进程名是在参数文件中通过专门的参数来定义的,通常位于参数文件的第一行;
第三个是工作目录:主要用来存取OGG各种进程产生的文件,最常用的是dirdat-存放日志数据文件,dirrpt-存放进程运行日志,工作目录是通过OGG初始化工具创建的;
第四个是数据文件前缀:这个比较容易搞错,oracle规定了文件前缀只能是2位英文或数字的组合,在参数文件中定义,这些文件前缀在创建各种进程组时需要显式绑定,所以一旦弄错了,就会导致同步失败,这里建议在创建进程组的时候重点检查,比如创建pump组时,它需要关联提取进程,那么确保它们的前缀一致;再比如复制进程定义的前缀要和源端的pump进程中定义的投送文件前缀一致,以此类推。