ogg单向DML同步配置
来源:互联网 发布:node.js是前端还是后端 编辑:程序博客网 时间:2024/05/16 02:50
接触ogg很长时间了,但是最近一直没有进一步深入的研究。前两天客户打电话让帮忙解决ogg不能同步的问题,不过j最后发现客户源端归档缺失,而且没有备份。那只能重做同步了。
操作过程明显生疏不少,借这个机会再熟悉起来,先从安装配置熟悉。
OGG介质下载: http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html?ssSourceSiteId=ocomen
ogg同步,当然至少两台db,源端和目标端:
源端:linux 5.5 + oracle 11.2.0.1 32bit + ogg112101_fbo_ggs_Linux_x86_ora11g_32bit.zip
目标端:linux 5.8 + oracle 11.2.0.3 64bit + ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
一、源端,必须开启附加日志、归档和强制写日志
1.开启附加日志
[oracle@db ~]$ sqlplus / as sysdbaSQL> select supplemental_log_data_min from v$database; SUPPLEME ---------------NOSQL> alter database add supplemental log data;SQL> select supplemental_log_data_min from v$database; SUPPLEME ---------------YES
2.开户归档
SQL> alter system set log_archive_dest_1='location=/u01/archivelog';SQL> shutdown immediateSQL> startup mountSQL> alter database archivelog;SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /u01/archivelogSQL> alter database open;
3.开启强制写日志
SQL> select force_logging from v$database;FOR------NOSQL> alter database force logging;SQL> select force_logging from v$database;FOR------YES
二、创建用户并授相关权限
1.源端
[oracle@db ~]$ sqlplus / as sysdbaSQL> create tablespace ggtbs datafile '/u01/oradata/db1/ggtbs01.dbf' size 200m autoextend on;SQL> create user ogg identified by ogg default tablespace ggtbs quota unlimited on ggtbs;SQL> grant connect,resource,create session,alter session to ogg;SQL> grant select any dictionary,select any table, alter any table, create any table,flashback any table to ogg;SQL> grant execute on dbms_flashback to ogg;
2.目标端
[oracle@db1 ~]$ sqlplus / as sysdbaSQL> create tablespace ggtbs datafile '/u01/oradata/db1/ggtbs01.dbf' size 200m autoextend on;SQL> create user ogg identified by ogg default tablespace ggtbs quota unlimited on ggtbs;SQL> grant connect,resource,create session,alter session to ogg;SQL> grant select any dictionary,select any table, alter any table to ogg;SQL> grant create table to ogg;同步的表为scott下所有表,所以目标端ogg用户有对scott下的表有dml权限,否则开启的同步的表在目标端应用时报权限错误。可使用下面执行的结果批量授权
SQL> SELECT 'GRANT SELECT,DELETE,UPDATE,INSERT ON '|| table_name || ' TO ogg;' FROM USER_TABLES;
三、ogg配置
1.将Ogg介质分别上传到两台服务器的/ogg目录下,并解压
源端:
[root@db ~]# mkdir /ogg[root@db ~]# chown oracle:oinstall /ogg[oracle@db ~]$ cd /ogg[oracle@db ogg]$ unzip ogg112101_fbo_ggs_Linux_x86_db1_32bit.zip[oracle@db ogg]$ tar xvf fbo_ggs_Linux_x86_db1_32bit.tar[oracle@db ogg]$ ./ggsci GGSCI (db) 1> create subdirsCreating subdirectories under current directory /oggParameter files /ogg/dirprm: already existsReport files /ogg/dirrpt: createdCheckpoint files /ogg/dirchk: createdProcess status files /ogg/dirpcs: createdSQL script files /ogg/dirsql: createdDatabase definitions files /ogg/dirdef: createdExtract data files /ogg/dirdat: createdTemporary files /ogg/dirtmp: createdStdout files /ogg/dirout: created
目标端操作同上。
2.配置MGR进程
源端:
<pre name="code" class="sql">GGSCI (db) 2> dblogin userid oggPassword: Successfully logged into database.GGSCI (db) 3> add trandata scott.*GGSCI (db) 4> exit[oracle@db ogg] ./ggsciGGSCI (db) 1> edit params mgrPORT 7809PURGEOLDEXTRACTS /ogg/dirdat, USECHECKPOINTSGGSCI (db) 2> start mgrManager started.GGSCI (db) 3> info mgrManager is running (IP port db.7809).GGSCI (db) 4> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNING
目标端:
<pre name="code" class="sql">[oracle@db1 ogg] ./ggsciGGSCI (db1) 1> edit params mgrPORT 7809PURGEOLDEXTRACTS /ogg/dirdat, USECHECKPOINTSGGSCI (db1) 2> start mgrManager started.GGSCI (db1) 3> info mgrManager is running (IP port db1.7809).GGSCI (db1) 4> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNING
3.数据初始化
目标端数据先要与源端初步一致,即数据初始化。这个操作可选择多种方式,包括ogg配置、导入导出/数据泵等。
对于测试环境没有关系,使用ogg自带的配置可以慢慢初始化(http://blog.csdn.net/u010587433/article/details/41864321);
对于数据量比较大可选择数据泵等方式。
这里选择数据泵,源端:
<pre name="code" class="sql">SQL> create directory dump_dir as ‘/u01/dump/'SQL> grant read,write on directory dump_dir to scott;[oracle@db ~]$ expdp scott/scott directory=dump_dir dumpfile=scott_20141210.dmp logfile=scott_20141210.log[oracle@db ~]$ scp /u01/dump/scott_20141210.dmp 192.168.1.81:/u01/dump/
目标端:
SQL> create directory dump_dir as ‘/u01/dump/'SQL> grant read,write on directory dump_dir to scott;[oracle@db1 ~]$ impdp scott/scott directory=dump_dir dumpfile=scott_20141210.dmp logfile=scott_20141210.log
4.配置三个进程,首先实现DML同步
源端extract进程
<pre name="code" class="sql">[oracle@db ogg]$ ./ggsciGGSCI (db) 12> edit param extscottEXTRACT EXTSCOTTSETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)USERID ogg, PASSWORD oggEXTTRAIL ./dirdat/aaTABLE scott.*;GGSCI (db) 13> add extract extscott,tranlog,begin nowEXTRACT added.GGSCI (db) 15> add exttrail ./dirdat/aa,extract extscott,megabytes 5 EXTTRAIL added.GGSCI (db) 16> start extscottSending START request to MANAGER ...EXTRACT EXTSCOTT starting
源端pump进程
<pre name="code" class="sql">GGSCI (db) 21> edit param pumscottEXTRACT PUMSCOTTSETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)PASSTHRURMTHOST db1, MGRPORT 7809RMTTRAIL ./dirdat/paTABLE scott.*;GGSCI (db) 22> add extract pumscott,exttrailsource ./dirdat/aaEXTRACT added.GGSCI (db) 23> add rmttrail ./dirdat/pa,extract pumscott,megabytes 5RMTTRAIL added.GGSCI (db) 24> start pumscottSending START request to MANAGER ...EXTRACT PUMSCOTT starting目标端
GGSCI (db1) 3> edit params ./GLOBALSCHECKPOINTTABLE ogg.ggschkptGGSCI (db1) 4> exit[oracle@db1 ogg]$ggsciGGSCI (db1) 1> dblogin userid oggPassword: Successfully logged into database.GGSCI (db1) 2> add checkpointtable
replicat进程
<pre name="code" class="sql">GGSCI (db1) 3> add replicat repscott,exttrail ./dirdat/paGGSCI (db1) 4> edit param repscottREPLICAT REPSCOTTSETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)USERID ogg, PASSWORD oggHANDLECOLLISIONSASSUMETARGETDEFSDISCARDFILE ./dirrpt/repscott_aa.DSC, PURGEMAP scott.*, TARGET scott.*;GGSCI (db1) 5> start repscottSending START request to MANAGER ...REPLICAT REPSCOTT starting5.查看运行情况
源端:
GGSCI (db) 15> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNING EXTRACT RUNNING EXTSCOTT 00:00:00 00:00:02 EXTRACT RUNNING PUMSCOTT 00:00:00 00:00:10目标端:
GGSCI (db1) 8> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNING REPLICAT RUNNING REPSCOTT 00:00:00 00:00:07
四、测试是否同步
在源端对scott用户下表进行dml操作,在目标端查看是否同步。
- ogg单向DML同步配置
- 【OGG】OGG的单向DML复制配置(一)
- OGG配置DML单向复制一例及错误分析
- 一次完整的单向dml复制OGG配置
- 【OGG】RAC环境下配置OGG单向同步 (四)
- GOLDENGATE DML单向同步
- (一)OGG的安装与配置,并实现单向DML复制操作
- MYSQL手把手教你安装和配置OGG,并实现单向DML复制技术
- GoldenGate单向表DML同步
- 【Oracle】OGG单向复制配置
- OGG同步序列配置
- oracle---oracle的单向ogg搭建流程(DML+DDL)
- ogg 配置复习(dml>ddl>sequnce)
- 【OGG】OGG的单向复制配置-支持DDL(二)
- Otter单向同步配置
- Otter单向同步配置
- 【GoldenGate】使用OGG,两个Oracle库之间单向同步数据
- Windows平台OGG单向数据同步笔记(一)
- 贪心算法 汽车加油问题
- Jsp标准标签库
- 比较好的js写法
- ios中 搜索关键字在结果中高亮显示
- 【开发者眼中的AppCan】选择AppCan准没错
- ogg单向DML同步配置
- android自定义控件笔记
- .Net程序测试阿里云OSS开放存储服务
- squid 3.4.8 编译安装出错的解决办法
- java垃圾回收精华
- 支付宝在ios应用上的开发实现
- Java_Eclipse学习(四)
- 内核打印规范
- 32位ubuntu物理地址扩展(PAE)分页机制及如何开启PAE支持4G以上内存(有时grub里面会让你选择)