logo资料库

Oracle 12.2主从数据同步方法.docx

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
Oracle 12.2主从数据同步方法
一.背景
二.测试环境
三.步骤
1软件安装
2源端配置
3目标端配置
4启动同步
5同步测试(sql plus)
6异常排查
Oracle 12.2 主从数据同步方法 目录 Oracle 12.2 主从数据同步方法 .........................................................................................................1 一.背景 .................................................................................................................................... 1 二.测试环境 ............................................................................................................................ 1 三.步骤 .................................................................................................................................... 1 1 软件安装 ......................................................................................................................... 1 2 源端配置 ......................................................................................................................... 2 3 目标端配置..................................................................................................................... 4 4 启动同步 ......................................................................................................................... 5 5 同步测试(sql plus).......................................................................................................... 6 6 异常排查 ......................................................................................................................... 6 一.背景 因项目客户需求,实现 oracle 12 数据库的主从数据同步,为此,在公司内部搭建相关环境, 测试并总结 oracle 12 数据库主从数据同步方法(方案)。 二.测试环境 主数据库:win10+ oracle 12.2.0.1+oracle goldengate12.3, IP:172.16.100.73 从数据库:win7+ oracle 12.2.0.1+oracle goldengate12.3,IP:192.168.33.56 三.步骤 1 软件安装 1.1 数据库安装 源服务器和目标服务安装 oracle 数据库,数据库版本均为 12.2.0.1。 其中,可插入数据库名称均为 orclpdb。 1.2 工具安装 源服务器和目标服务安装 oracle goldengate,版本均为 12.3。 源服务器安装路径为 d:\ogg 目标服务器安装路径为 e:\ogg
注意:在开始以下部署前,需要确保源服务器和目标服务器的可插入数据库处于 open 状态。 2 源端配置 2.1 配置数据库 TNS 节点,使 PDB 可识别 具体位置:数据库安装路径下,\12.2.0\dbhome_1\network\admin\tnsnames.ora 节点配置如下: ORCLPDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orclpdb) ) ) 2.2 创建测试用户和数据表(通过 sys 登录 sql plus) SQL>alter session set container=orclpdb; SQL>create user gg_src identified by gg_src; SQL>grant dba to gg_src; SQL> conn gg_src@orclpdb/gg_src; SQL>create table tab01(id number(8),name varchar2(20)); 2.3 配置数据库为归档模式(通过 sys 登录 sql plus) 首先查看归档模式 SQL>select log_mode from v$database; 如果归档模式是 ARCHIVELOG,则无需更改,否则执行以下语句: SQL>shutdown immediate; SQL>startup mount; SQL>alter database archivelog; SQL>alter database open; 2.4 设置 supplemental logging and FORCE LOGGING 等选项(通过 sys 登录 sql plus) SQL> alter database add supplemental log data; SQL> alter database force logging; SQL> alter system switch logfile; SQL> alter system set enable_goldengate_replication=true; 2.5 创建 Common User(通过 sys 登录 sql plus) SQL> create user C##GGADMIN identified by ggadmin; SQL> exec dbms_goldengate_auth.grant_admin_privilege('C##GGADMIN',container=>'ALL'); SQL> grant dba to c##ggadmin container=all;
2.6 配置 ogg 第一,切换到 command 窗口,从 ogg 目录启动 ogg 命令行窗口,命令如下: d:\ogg\ggsci 进入 ogg 命令行窗口后,依次执行: GGSCI (MY-PC) 1> dblogin userid C##GGADMIN@pdborcl password ggadmin GGSCI (MY-PC as C##GGADMIN@orcl/ORCLPDB) 1> ADD SCHEMATRANDATA gg_src ALLCOLS GGSCI (MY-PC as C##GGADMIN@orcl/ORCLPDB) 2> ADD TRANDATA gg_src.* 第二,退出当前窗口,并重新进入: GGSCI (MY-PC as C##GGADMIN@orcl/ORCLPDB) 3> exit d:\ogg\ggsci 进入 ogg 命令行窗口后,依次执行: GGSCI (MY-PC) 1> dblogin userid C##GGADMIN password ggadmin GGSCI (MY-PC as C##GGADMIN@orcl/CDB$ROOT) 2> REGISTER EXTRACT ext1 DATABASE CONTAINER (orclpdb) GGSCI (MY-PC as C##GGADMIN@orcl/CDB$ROOT) 3> ADD EXTRACT ext1 INTEGRATED TRANLOG, BEGIN NOW GGSCI (MY-PC as C##GGADMIN@orcl/CDB$ROOT) 4> ADD EXTTRAIL d:\ogg\dirdat\lt EXTRACT ext1 GGSCI (MY-PC as C##GGADMIN@orcl/CDB$ROOT) 5> ADD EXTRACT extdp1 EXTTRAILSOURCE d:\ogg\dirdat\lt BEGIN NOW GGSCI (MY-PC as C##GGADMIN@orcl/CDB$ROOT) 6> ADD RMTTRAIL e:\ogg\dirdat\rt EXTRACT extdp1 第三,退出当前窗口,并重新进入: GGSCI (MY-PC as C##GGADMIN@orcl/ORCLPDB) 7> exit d:\ogg\ggsci 进入 ogg 命令行窗口后,依次执行: GGSCI (MY-PC) 1>edit params ext1 在弹出编辑窗口填写以下内容并存盘 EXTRACT ext1 SETENV (ORACLE_SID='ORCL') userid C##GGADMIN@ORCL, password ggadmin LOGALLSUPCOLS UPDATERECORDFORMAT COMPACT EXTTRAIL D:\ogg\dirdat\lt SOURCECATALOG ORCLPDB TABLE gg_src.*; GGSCI (MY-PC) 1> edit params extdp1 在弹出编辑窗口填写以下内容并存盘 EXTRACT extdp1
SETENV (ORACLE_SID='ORCL') userid C##GGADMIN@ORCL, password ggadmin RMTHOST 192.168.33.56, MGRPORT 7809 RMTTRAIL e:\ogg\dirdat\rt SOURCECATALOG ORCLPDB TABLE gg_src.*; 3 目标端配置 3.1 配置数据库 TNS 节点,使 PDB 可识别 具体位置:数据库安装路径下,\12.2.0\dbhome_1\network\admin\tnsnames.ora 节点配置如下: ORCLPDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orclpdb) ) ) 3.2 创建测试用户和数据表(通过 sys 登录 sql plus) SQL>alter session set container=pdborcl; SQL>create user gg_stg identified by gg_stg; SQL>grant dba to gg_stg; SQL> conn gg_stg@orclpdb/gg_stg; SQL>create table tab01(id number(8),name varchar2(20)); 3.3 配置数据库为归档模式(通过 sys 登录 sql plus) 首先查看归档模式 SQL>select log_mode from v$database; 如果归档模式是 ARCHIVELOG,则无需更改,否则执行以下语句: SQL>shutdown immediate; SQL>startup mount; SQL>alter database archivelog; SQL>alter database open; 3.4 设置 supplemental logging and FORCE LOGGING 等选项(通过 sys 登录 sql plus) SQL> alter database add supplemental log data; SQL> alter database force logging; SQL> alter system switch logfile; SQL> alter system set enable_goldengate_replication=true; 3.5 创建 Common User(通过 sys 登录 sql plus)
SQL> create user C##GGADMIN identified by ggadmin; SQL> exec dbms_goldengate_auth.grant_admin_privilege('C##GGADMIN',container=>'ALL'); SQL> grant dba to c##ggadmin container=all; 3.6 配置 ogg 第一,切换到 command 窗口,从 ogg 目录启动 ogg 命令行窗口,命令如下: e:\ogg\ggsci 进入 ogg 命令行窗口后,依次执行: GGSCI (MY-PC) 1> DBLOGIN USERID C##ggadmin@orclpdb, PASSWORD ggadmin GGSCI (MY-PC as C##ggadmin@orcl/orclpdb) 2> ADD REPLICAT rep1 INTEGRATED EXTTRAIL e:\ogg\dirdat\rt GGSCI (MY-PC as C##ggadmin@orcl/orclpdb) 3> edit params rep1 在弹出编辑窗口填写以下内容并存盘 REPLICAT rep1 SETENV (ORACLE_SID='ORCL') DBOPTIONS INTEGRATEDPARAMS(parallelism 6) USERID C##GGADMIN@ORCLPDB, PASSWORD ggadmin ASSUMETARGETDEFS MAP ORCLPDB.gg_src.*, TARGET ORCLPDB.gg_stg.*; GGSCI (MY-PC as C##ggadmin@orcl/orclpdb) 4> edit params ./GLOBALS 在弹出编辑窗口填写以下内容并存盘 ALLOWOUTPUTDIR e:\ogg\dirdat 4 启动同步 1. 源端: 切换到 command 窗口,从 ogg 目录启动 ogg 命令行窗口,命令如下: d:\ogg\ggsci 进入 ogg 命令行窗口后,依次执行: GGSCI (MY-PC) 1> start mgr GGSCI (MY-PC) 2> start extract ext1 GGSCI (MY-PC) 3> start extract extdp1 GGSCI (MY-PC) 4> info all 如果没有异常发生,可以看到进程 manager,ext1 和 extdp1 处于 running 状态 2. 目标端: 切换到 command 窗口,从 ogg 目录启动 ogg 命令行窗口,命令如下: e:\ogg\ggsci 进入 ogg 命令行窗口后,依次执行: GGSCI (MY-PC) 1> start mgr GGSCI (MY-PC) 2> start replicat rep1
GGSCI (MY-PC) 3> info all 如果没有异常发生,可以看到进程 manager,rep1 处于 running 状态 5 同步测试(sql plus) 1. 源端连接 orclpdb,并在数据表 tab01 插入数据 2. 目标端连接 roclpdb,查看表 tab01 数据是否同步 6 异常排查 1. 在 ogg 相关进程启动和运行发生错误时,可以查看日志 ggserr.log 排查错误原因(位于 工具根目录下)。 2. 源 端 报 错 ERROR OGG-01232 Oracle GoldenGate Capture for Oracle, EXTDP1.prm: Receive TCP params error: TCP/IP error 10054 (远程主机强迫关闭了一个现有的连接。) 原因:通常这是目标端的 delivery 进程与源端失联(例如远程主机关机或睡眠),此时源 端数据传输进程会关闭,导致同步无法进行。 解决方法:首先确保目标端机器可以访问(从源端可以 ping 通),然后重启源端数据传 输进程。(只要源端的日志没有清空,失联期间的数据再重启进程后,仍然可以陆续同 步到目标端)。 3. 目 标 端 报 错 ERROR Extract reposition err -. cause: OGG-01029 Oracle GoldenGate Delivery for Oracle, REP1.prm: The process encountered an error while attempting to position to a specific point in the trail file. action: Verify that the specified sequence number and RBA exist, and specify valid ones if necessary. Restart the process. 上述是官方的答案,一种可行性的方案如下: 重新初始化操作,首先确认抽取进程 ext1,传输进程 dpump1,复制进程 rep1 都处在 stop 状态。 源端: 修改 e 进程启动时间 ALTER EXTRACT ext1, TRANLOG, BEGIN 2018-05-29 17:00 启动 e 进程,d 进程 start ext1 start dpump1 根据 scn 号重新初始化数据 SELECT dbms_flashback.get_system_change_number from dual; --10653006236238 可以用 dblink 或者数据泵的方式进行。
目标端: 重新启动 r 进程,根据 scn 号 START REPLICAT rep1, aftercsn 10653006236238 附:参考资料 https://www.cnblogs.com/xqzt/p/4535381.html https://blog.csdn.net/royzhang7/article/details/44940735 https://www.cnblogs.com/margiex/p/4046219.html https://blog.csdn.net/Cloudsnowe/article/details/51613364 http://blog.coffeewoo.itpub.net/29357786/viewspace-2151364
分享到:
收藏