Windows服务器简单而又好管理,是很多用户的首选,这次就给大家讲解一下在Oracle的云上怎么搭建一个包括Oracle数据库的运行环境,为了实现保证业务系统数据的安全和可用,利用GoldenGate搭建一个实时数据复制链路,从而实现在线数据的实时灾备需求。
以下是具体的实现步骤:
安装Oracle数据库
1、 下载Oracle软件

2、 安装数据库













安装GoldenGate,实现数据实时复制
1、 打补丁
Microsoft Visual C ++ 2005 SP1 Redistributable Package.
2、 开始安装GoldenGate for oracle database






3、 配置GoldenGatefor Oracle
1)、在数据库里建立复制用户使用的表空间
create tablespace goldengatedatafile '' size 100M autoextend on;
2)、建立复制用的数据库用户
create user goldengate
identified by "goldengate"
default tablespace goldengate
temporary tablespace TEMP
profile DEFAULT;
--赋必要的权限
grant connect to GOLDENGATE;
grant dba to GOLDENGATE;
grant resource toGOLDENGATE;
3)、数据库增加附件日志,用于复制
SQL>alter database addsupplemental log data;
SQL> Select
SUPPLEMENTAL_LOG_DATA_MIN
,SUPPLEMENTAL_LOG_DATA_PK
,SUPPLEMENTAL_LOG_DATA_UI
,SUPPLEMENTAL_LOG_DATA_FK
,SUPPLEMENTAL_LOG_DATA_ALL from v$database;
SUPPLEME SUP SUP SUP SUP
-------- --- --- --- ---
YES YES YES YES NO
4)、开启数据库强制日志模式
SQL> select FORCE_LOGGING from v$database;
FOR
---
YES
SQL>alter database forcelogging;
5)、确定数据库字符集
SQL> SHOW PARAMETER NLS_LANGUAGE
SQL> SHOW PARAMETERNLS_TERRITORY
SQL>SELECT name,value$ from SYS.PROPS$ WHERE name = 'NLS_CHARACTERSET';
NAME
------------------------------
VALUE$
--------------------------------------------------------------------------------
NLS_CHARACTERSET
ZHS16GBK
6)、在ogg的安装目录执行ggsci命令,启动GoldenGate的命令行工具,然后执行create subdirs,建立相关的目录

7)、在GGSCI的命令行窗口里,执行edit param mgr命令,创建mgr.prmPORT 7809DYNAMICPORTLIST 7840-7914STARTUPVALIDATIONDELAY 5PURGEOLDEXTRACTS .\dirdat\*, USECHECKPOINTS, MINKEEPDAYS 7LAGREPORTHOURS 1LAGINFOMINUTES 30LAGCRITICALMINUTES 45
保存,退出。
执行start mgr,命令启动GoldenGate的管理进程。
8)、给复制表增加附加日志
GGSCI>dblogin userid goldengate,password goldengate
GGSCI>add schema.*
9)、全局设置增加检查点表
GGSCI (hydcdb1) 1> dblogin userid goldengate,passwordgoldengate
Successfully logged into database.
GGSCI (hydcdb1) 2> add checkpointtablegoldengate.checkpoint
Successfully created checkpoint tablegoldengate.checkpoint.
GGSCI (hydcdb1) 3> edit params ./globals
GGSCHEMA goldengate
CHECKPOINTTABLE goldengate.checkpoint
10)、增加GoldenGate的抽取进程
GGSCI>add extract extoa,tranlog,begin now,threads 2
GGSCI>add exttrail ./dirdat/la,extract extoa,megabytes 100
GGSCI>edit params extoa
EXTRACT extoa setenv (NLS_LANG= SIMPLIFIED CHINESE_CHINA.ZHS16GBK) userid goldengate,password goldengate
GETTRUNCATES
REPORTCOUNT EVERY 1 MINUTES,RATE DBOPTIONS ALLOWUNUSEDCOLUMN DISCARDFILE ogg/dirrpt/extoa.dsc,APPEND,MEGABYTES5000
WARNLONGTRANS 2h,CHECKINTERVAL 10m
EXTTRAIL ./dirdat/la
FETCHOPTIONS NOUSESNAPSHOT DYNAMICRESOLUTION table test.*;
11)、增加网络传输进程
GGSCI>add extract dpeoa,exttrailsource ./dirdat/la
GGSCI>add rmttrail ./dirdat/ra, EXTRACT dpeoa
GGSCI>edit params dpeoa
EXTRACT dpeoa
setenv (NLS_LANG= SIMPLIFIED CHINESE_CHINA.ZHS16GBK)
userid goldengate,password goldengate
PASSTHRU
RMTHOST xxx.xxx.xxx.xxx, MGRPORT 7810, compress
RMTTRAIL ./dirdat/ra
Table test.*;
12)、在目标端数据库服务器上增加数据投递进程
GGSCI>add replicat repoa exttrail ./dirdat/ra,checkpointtable goldengate.checkpoint
GGSCI>edit param repoa
REPLICAT repoa
USERID goldengate,PASSWORD goldengate
setenv (NLS_LANG= SIMPLIFIED CHINESE_CHINA.ZHS16GBK)
REPORT AT 01:59
REPORTCOUNT EVERY 30 MINUTES, RATE
REPERROR DEFAULT, ABEND
numfiles 50000
HANDLECOLLISIONS
assumetargetdefs
DISCARDFILE ./dirrpt/repsa.dsc, APPEND, MEGABYTES 50
GETTRUNCATES
ALLOWNOOPUPDATES
Map test.* , target test.*;
13)、数据初始化
在源端服务器启动mgr 和extoa进程 pump进程
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
1.5461E+13
SQL> col CURRENT_SCN for 99999999999999
SQL> /
CURRENT_SCN
---------------
15461434443577
SQL> create directory expdp as '/backup';
目录已创建。
SQL> grantread,write on directory expdp to system;
授权成功。
expdp system/xxxdirectory=expdp dumpfile=ahsimis_%U.dmp logfile=expdp.log PARALLEL=2 tables= AHSIMIS.AB02,AHSIMIS.AB09, AHSIMIS.AB14, AHSIMIS.AB15, AHSIMIS.AC01, AHSIMIS.AC02,AHSIMIS.AC04, AHSIMIS.AC20, AHSIMIS.IC10, AHSIMIS.IC15, AHSIMIS.IC20,AHSIMIS.IC40, AHSIMIS.IC02, AHSIMIS.JC10, AHSIMIS.JC14, AHSIMIS.KA02,AHSIMIS.KA03, AHSIMIS.KA04, AHSIMIS.KA06, AHSIMIS.KA17, AHSIMIS.KB01,AHSIMIS.KB03, AHSIMIS.KB10, AHSIMIS.KC04, AHSIMIS.KC08, AHSIMIS.KC20,AHSIMIS.KC21, AHSIMIS.KC24, AHSIMIS.LC01, AHSIMIS.LC07, AHSIMIS.MC01,AHSIMIS.MC03, AHSIMIS.MC08, AHSIMIS.QZ_HDSJ_JS, AHSIMIS.QZ_LHJYRYCBXX_JS,AHSIMIS.DZ_DWCBXX_JS flashback_scn=15461434451617
在目标端数据库上导入数据
impdpsystem/oracle directory=impdp dumpfile=ahsimis_%U.dmp logfile=expdp.logREMAP_SCHEMA=ahsimis:ahsimis
在目标端Goldengate中启动投递进程
GGSCI>start replicat repob, aftercsn 15461434451617
14)、启动进程,检查复制情况

通过GoldenGate的命令行工具检查,看到实时变化的数据已经被同步过来
我们看到在Oracle的云环境上搭建一个Windows+oracle数据库高可用环境是多么的简单,大家还不赶快去体验和尝试一下。




