我的编程空间,编程开发者的网络收藏夹
学习永远不晚

LINUX环境OGG同步测试

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

LINUX环境OGG同步测试

因为刚换工作所以开始有点忙,刚闲下来就把以前的案例又重新测试给大家分享一下。本文主要记录了测试的过程命令,虽然结果没截图,但是结果是ok的而且经过多次测试。如果本文中有问题的地方欢迎留言指出

环境描述

源主机                                                 目的主机
操作系统:RatHat Linux 6.5 x64         操作系统:RatHat Linux 6.5 x64
主机名:source.zhan                         主机名:target.zhan
IP地址:192.168.214.52                     IP地址:192.168.214.53
数据库版本:11.2.0.4 x64                   数据库版本:11.2.0.4 x64
数据库SID:zhankys                          数据库SID:zhankyt
OGG版本:12.1.2.1                          OGG版本:12.1.2.1

环境准备(源目的相同)

创建目录赋权

--赋权归档目录
mkdir -p /u01/archivelog
chown -R oracle:oinstall /u01
chmod -R 775 /u01
--赋权软件安装包目录
mkdir -p /u01/zky
chown -R oracle:oinstall /u01
chmod -R 775 /u01
--创建OGG安装目录
mkdir /ogg
chown -R oracle:oinstall /ogg
chmod -R 775 /ogg
--设置OGG环境变量
echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib'>>/home/oracle/.bash_profile

数据库准备(源目的相同)

--登录数据库
sqlplus / as sysdba
--创建ogg账户
create tablespace ogg_tablespace datafile '/u01/app/oracle/oradata/ogg01.dbf' size 10m autoextend on next 5m;
create user goldengate identified by goldengate default tablespace ogg_tablespace;
grant dba to goldengate;
--查看归档、强制日志模式、数据库级别的补充日志是否开启(注意归档存放目录)
archive log list;
select force_logging,supplemental_log_data_min from v$database;
show parameter enable_goldengate_replication;
--开启归档方法
shutdow immediate
start mount
alter database archivelog;
--设置归档日志路径
alter system set log_archive_dest_1='location=/u01/archivelog' scope =both;
alter database open;
--开启数据库强制日志模式、数据库级别的补充日志
alter database force logging;
alter database add supplemental log data;
--修改允许使用ogg的参数(针对11.2.0.4库)
ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION = TRUE SCOPE=BOTH;

更改tnsname(源目的相同)

vi /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora 
ZHANKYS =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.214.52)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ZHANKYS)
    )
  )
ZHANKYT =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.214.53)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ZHANKYT)
    )
  )

初始化数据(源目的相同)

初始化数据准备(源目的相同)(初始化就是保持两边数据库的基础数据一样。ps:这里因为测试等后面有时间在从新弄一份模拟真实环境初始化)

connect goldengate/goldengate
--创建表
DROP TABLE tcustmer;
CREATE TABLE tcustmer ( cust_code VARCHAR(4) NOT NULL, name VARCHAR(30),
city VARCHAR(20), state CHAR(2), PRIMARY KEY (cust_code));
DROP TABLE tcustord;
CREATE TABLE tcustord ( cust_code VARCHAR(4) NOT NULL, product_code VARCHAR(8) NOT NULL,
order_id INTEGER NOT NULL, product_price DECIMAL(8,2), product_amount INTEGER,
transaction_id INTEGER, PRIMARY KEY (cust_code, product_code, order_id) );

select * from goldengate.tcustmer;
select * from goldengate.tcustord;

图形化安装OGG(源目的相同)

OGG软件安装(源目的相同)

xhost +
su - oracle
cd /u01/zky/
unzip 121210_ggs_Linux_x64_shiphome.zip
cd fbo_ggs_Linux_x64_shiphome/Disk1/
./runInstaller

LINUX环境OGG同步测试
LINUX环境OGG同步测试
LINUX环境OGG同步测试
LINUX环境OGG同步测试

配置OGG参数

创建ogg目录(源目的相同)

cd /ogg
./ggsci
create subdirs

创建checkpoint表(源目的相同)(如果有多实例的时候需要在dblogin的时候@库名:dblogin userid goldengate@库名,password goldengate)

{
dblogin userid goldengate,password goldengate
add checkpointtable goldengate.ggs_checkpoint
}

设置globals(源目的相同)

edit params ./globals
{
CHECKPOINTTABLE goldengate.ggs_checkpoint
UNLOCKEDTRAILFILES
}

配置MGR(源目的相同)

edit params mgr
{
PORT 7809
AUTOSTART ER *
AUTORESTART ER *,RETRIES 3,WAITMINUTES 5,RESETMINUTES 60
LAGREPORTHOURS 1
LAGINFOMINUTES 3
LAGCRITICALMINUTES 10
PURGEOLDEXTRACTS ./dirdat/*,USECHECKPOINTS,MINKEEPDAYS 3
}
start mgr

配置需要trandata的对象(源)

dblogin userid goldengate,password goldengate
add trandata goldengate.tcustmer
add trandata goldengate.tcustord

配置extract(源)

add extract e_cs,tranlog,begin now
add exttrail ./dirdat/cs,extract e_cs,megabytes 5 
edit param e_cs 
{
EXTRACT e_cs
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
GETENV (NLS_LANG)
userid goldengate,password goldengate
EXTTRAIL ./dirdat/cs,FORMAT RELEASE 12.1
DISCARDFILE ./dirrpt/e_cs.dsc,PURGE
--NOCOMPRESSDELETES
NOCOMPRESSUPDATES
GETUPDATEBEFORES
GETUPDATEAFTERS
TRANLOGOPTIONS LOGRETENTION disabled
WARNLONGTRANS 30m,CHECKINTERVAL 3m

table goldengate.tcustmer;
table goldengate.tcustord;
}
start e_cs

配置pump(源)

add extract p_cs,exttrailsource ./dirdat/cs,begin now
add rmttrail ./dirdat/cs,extract p_cs,megabytes 5
edit param p_cs
{
EXTRACT p_cs
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
GETENV (NLS_LANG)
userid goldengate,password goldengate
NOPASSTHRU 
RMTHOST 192.168.214.53,MGRPORT 7809,TIMEOUT 120
RMTTRAIL ./dirdat/cs,format RELEASE 12.1
DISCARDFILE ./dirrpt/p_cs.dsc,PURGE

table goldengate.tcustmer;
table goldengate.tcustord;
}
start p_cs

配置replicat(目的)

add replicat r_cs,exttrail ./dirdat/cs,checkpointtable goldengate.ggs_checkpoint
edit param r_cs
{
REPLICAT b_r_29
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
GETENV (NLS_LANG)
userid goldengate,password goldengate
HANDLECOLLISIONS
ASSUMETARGETDEFS
REPERROR DEFAULT,DISCARD
DBOPTIONS NOSUPPRESSTRIGGERS
DISCARDFILE ./dirrpt/b_r_29.dsc,PURGE

MAP goldengate.TCUSTMER, TARGET goldengate.TCUSTMER;
MAP goldengate.TCUSTORD, TARGET goldengate.TCUSTORD;
}
start r_cs

校验结果

select * from goldengate.TCUSTMER;
select * from goldengate.TCUSTORD;

INSERT INTO goldengate.tcustmer VALUES ('ZZZ','BG SOFTWARE CO.','SEATTLE','WZ');
INSERT INTO goldengate.tcustord VALUES ('ZZZ','CAR',144,17520,3,100);
COMMIT;

INSERT INTO goldengate.tcustmer VALUES ('ZqZZ','BqG SOFTWARE CO.','SEATTLE','WZ');
INSERT INTO goldengate.tcustord VALUES ('ZqZZ','CAR',144,17520,3,100);
COMMIT;

INSERT INTO goldengate.tcustmer VALUES ('ZbZ','BzG SOFTWARE CO.','SEATTLE','WZ');
INSERT INTO goldengate.tcustord VALUES ('ZbZ','CAR',144,17520,3,100);
COMMIT;

INSERT INTO goldengate.tcustmer VALUES ('ZghZ','BG SOFTWARE CO.','SEATTLE','WZ');
INSERT INTO goldengate.tcustord VALUES ('ZghZ','CAR',144,17520,3,100);
COMMIT;

delete goldengate.tcustmer where cust_code='ZZZ';
delete goldengate.tcustord where cust_code='ZZZ';
delete goldengate.tcustmer where cust_code='ZqZZ';
delete goldengate.tcustord where cust_code='ZqZZ';
delete goldengate.tcustmer where cust_code='ZbZ';
delete goldengate.tcustord where cust_code='ZbZ';
delete goldengate.tcustmer where cust_code='ZghZ';
delete goldengate.tcustord where cust_code='ZghZ';
commit;

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

LINUX环境OGG同步测试

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么搭建linux测试环境

要搭建一个Linux测试环境,你可以按照以下步骤进行操作:1.选择Linux发行版:首先要选择一个适合测试的Linux发行版,比如Ubuntu、CentOS、Fedora等。2.安装虚拟化软件:你可以选择安装虚拟机软件,比如VirtualB
2023-08-24

linux如何搭建web测试环境

搭建Linux上的Web测试环境可以按照以下步骤进行:1. 安装Apache Web服务器:在终端中运行以下命令安装Apache:```shellsudo apt-get updatesudo apt-get install apache2
2023-08-23

python环境测试MySQLdb、DB

首先介绍下MySQLdb、DBUtil、sqlobject:   (1)MySQLdb 是用于Python连接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。除了MyS
2023-01-31

Linux环境下Ruby应用的容器化测试

在Linux环境下,为Ruby应用进行容器化测试,你可以使用Docker和Docker Compose安装Docker:首先,确保你已经在Linux系统上安装了Docker。如果没有,请参考官方文档(https://docs.docker.
Linux环境下Ruby应用的容器化测试
2024-09-16

Linux环境下安装docker环境(亲测无坑)

目录安装前提条件第一步:检查并清除系统残余项,并安装docker依赖环境第二步:Docker依赖环境搭建好之后,安装并启动Docker安装前提条件 Docker 要求 CentOS 系统的内核版本高于 3.10 ,首先验证你的服务器是否支持
2022-06-04

Linux环境下DB2数据库的自动化测试

在Linux环境下进行DB2数据库的自动化测试,可以遵循以下步骤:安装DB2数据库及必要的工具确保在Linux服务器上安装了DB2数据库管理系统,以及DB2命令行工具(db2)和图形界面工具(DB2 Control Desk)。此外,还可以
Linux环境下DB2数据库的自动化测试
2024-09-22

Linux如何构造磁盘空间满的测试环境

这篇文章给大家分享的是有关Linux如何构造磁盘空间满的测试环境的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。利用suse操作系统的ramdisk,来挂接虚拟磁盘分区,然后通过填满虚拟磁盘分区来实现磁盘满环境的条
2023-06-13

Linux环境变量配置与软件兼容性测试

在Linux系统中,环境变量配置对于软件兼容性测试至关重要,因为它可以影响软件在不同环境下的运行和表现。以下是关于Linux环境变量配置与软件兼容性测试的相关信息:Linux环境变量配置方法直接修改PATH:使用export PATH=/
Linux环境变量配置与软件兼容性测试
2024-09-24

Docker容器化Linux应用的环境一致性测试

Docker容器化Linux应用的环境一致性测试是为了确保在不同环境中,应用能够以相同的方式运行。这种测试对于持续集成和持续部署(CI/CD)流程非常重要,因为它可以帮助开发人员发现潜在的问题,并确保应用在各种环境中都能正常工作。以下是一些
Docker容器化Linux应用的环境一致性测试
2024-10-06

Android实现同时安装测试环境与生产环境包,及区分app名和图标

众所周知,相同包名的APP,是不能同时安装的,但是我们实际开发中,测试同学往往在测试环境没问题,上了生产环境,却发现了bug,这时候就只能卸载生产环境的包,再去安装测试环境。如果开发流程中缺少自动化打包或者测试同学不保存蒲公英二维码,这时候
2022-06-06

编程热搜

目录