1.环境介绍
本文主要分介绍OGG的安装部署,下面是实验环境介绍。
实验规划:
项目 | 存储节点 | 节点1 | 节点2 |
---|---|---|---|
操作系统 | CentOS-7-x86_64 | CentOS-7-x86_64 | CentOS-7-x86_64 |
主机名 | storage | racnode1 | racnode2 |
IP地址 | 192.168.10.33/192.168.10.34 | 192.168.80.30 | 192.168.80.30 |
数据库及版本 | 无 | ORACLE 11.2.0.4.0 | ORACLE 11.2.0.4.0 |
数据库字符集 | 无 | ZHS16GBK | ZHS16GBK |
ORACLE SID | 无 | racdb1 | racdb2 |
Goldengate用户 | 无 | ogg | ogg |
Goldengate 版本 | 无 | 112101 | racdb1 |
2. 实验步骤:
2.1创建ogg操作系统用户
以下操作racnode1 和racnode2都需要进行
useradd -u 1003 -g oinstall -G dba ogg
passwd ogg
2.2修改OGG操作系统用户环境变量
vim .bash_profile
----------------------------racnode1--------------------------
export LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib
export ORACLE_SID=racdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH
----------------------------racnode2--------------------------
export LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib
export ORACLE_SID=racdb2
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH
--------------------------------------------------------------
使得环境变量生效
source .bash_profile
2.3创建OGG安装目录
两个节点都需要进行操作
使用root用户创建解压ogg文件夹
mkdir /u01/app/ogg
chown -R ogg:oinstall /u01/app/ogg
---------------------------------------------------
2.4上传OGG安装介质
使用xftp或者其他远程传输软件(需要用到的安装包放在百度网盘自行拿走)
链接:https://pan.baidu.com/s/1UgKlRppBA4-o_RFp26wlYw?pwd=1234
提取码:1234
--来自百度网盘超级会员V7的分享
使用ogg用户
tar -xvf fbo_ggs_Linux_x64_ora10g_64bit.tar -C /u01/app/ogg/
使用scp远程传输解压文件
racnode2使用scp远程传输ogg解压后的文件
在racnode1上使用root用户
---------------------------------------------------
ssh ogg@192.168.80.31
-----------------------------------------------------
scp -r /u01/app/ogg/ ogg@racnode2:/u01/app
2.5登录OGG测试
使用ogg用户
cd /u01/app/ogg
./ggsci
不出意外的话是我下面这个页面
如果出现了意外就是环境变量LD_LIBRARY_PATH填错了要对应oracle的lib目录
或者是会出现
意思就是没有libnnz10.so这个文件,我们进入到oracle lib文件中查看一下
cd $ORACLE_HOME/lib
我这个是已经cp过得,如果没有情况下把libnnz11.so拷贝一下
使用root用户
cp libnnz11.so libnnz10.so
chown -R ogg:oinstall $ORACLE_HOME/lib/libnnz10.so
2.6建立OGG表空间
为什么要建立OGG表空间呢??
因为GoldenGate的数据单独建立表空间,你能够更好地管理、优化性能、隔离数据,并且更方便地进行备份和恢复,从而提高整个GoldenGate复制过程的效率和可维护性。
create tablespace ogg datafile
'+DATA/racdb/datafile/ogg01.dbf' size 50M autoextend on;
2.7创建OGG用户
create user ogg identified by 123456 default tablespace ogg;
2.8为OGG用户授权
grant CONNECT, RESOURCE to ogg;
grant SELECT ANY DICTIONARY, SELECT ANY TABLE to ogg;
grant ALTER ANY TABLE to ogg;
grant FLASHBACK ANY TABLE to ogg;
grant EXECUTE on DBMS_FLASHBACK to ogg;
grant insert any table to ogg;
grant update any table to ogg;
grant delete any table to ogg;
如果你觉得很费劲可以直接赋予dba权限,但是。。。很难评价
GRANT DBA TO ogg;
2.9打开数据库的附加日志和force log
打开数据库的附加日志和强制日志可以增强数据同步和复制的准确性和可靠性
查看数据库的基本情况
col NAME,OPEN_MODE,FORCE_LOGGING,SUPPLEMENTAL_LOG_DATA_MIN format a20;
select NAME,OPEN_MODE,FORCE_LOGGING,SUPPLEMENTAL_LOG_DATA_MIN from v$database;
发现附加日志和force log都没有打开
------------开启force log
alter database force logging;
------------开启附加日志
alter database add SUPPLEMENTAL log data;
2.10运行OGG支持DDL脚本
@/u01/app/ogg/marker_setup.sql
@/u01/app/ogg/ddl_setup.sql
@/u01/app/ogg/role_setup.sql
@/u01/app/ogg/ddl_enable.sql
2.11创建OGG的管理目录
在正式配置OGG之前,首先需要创建OGG的管理目录,racnode1和racnode2都需要创建,登录OGG,只需要执行
create subdirs
dirprm | 存放OGG参数各的配置信息 |
dirrpt | 存放进程报告文件 |
dirchk | 存放检查点文件 |
dirpcs | 存放进程状态文件 |
dirsql | 存放SQL脚本文件 |
dirdef | 存放DEFGEN工具生成的数据定义文件 |
dirdat | 存放Trail 文件,也就是Capture进程捕获的日志文件 |
dirtmp | 当事物需要的内存超过已分配内存时,默认存储在这个目录 |
至此ogg准备工作结束了