linux version CentOS release 5.5 (Final)
ogg version Oracle GoldenGate Command Interpreter for Oracle Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO Linux, x64, 64bit (optimized)
oracle version Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
A:主库
B:备库
=====================================================================
A
#开启DML支持
#测试环境使用mount状态,因为在配置归档案模式时需要mount状态配置,如果是生产库则不需要,因为它们本身一定会配置为归档模式
SQL> startup mount;
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 5
Next log sequence to archive 7
Current log sequence 7
(保证数据库处于归档模式)
SQL> alter database archivelog;
====================================================================
A
#配置归档存放位置
SQL> alter system set log_archive_dest_1='location=/u01/archive';
System altered.
A
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/archive
Oldest online log sequence 5
Next log sequence to archive 7
Current log sequence 7
=====================================================================
A
#检查数据库是否开启附加日志模式
SQL> select supplemental_log_data_min from v$database;
SUPPLEME
--------
NO
=====================================================================
A
#开启数据库是否开启附加日志模式,数据库open模式也可以执行
SQL> alter database add supplemental log data;
Database altered.
=====================================================================
A
#检查数据库是否开启附加日志模式
SQL> select supplemental_log_data_min from v$database;
SUPPLEME
--------
YES
---------------------------------------------------------------------
打开数据库附加日志功能
原因:数据库要生成额外redo信息,来唯一标识表中一条记录。
只有收集到足够信息才能转换成SQL语句在目标端数据库执行
=====================================================================
A
#强制数据库日志模式
SQL> alter database force logging;
Database altered.
=====================================================================
A
#检查数据库是否为归档,附加日志
SQL> select LOG_MODE, SUPPLEMENTAL_LOG_DATA_MIN,FORCE_LOGGING from v$database;
LOG_MODE SUPPLEME FOR
------------ -------- ---
ARCHIVELOG YES YES
=====================================================================
A
SQL>ALTER DATABASE OPEN;
#切换日志
SQL>alter system switch logfile;
=====================================================================
A
#创建管理用户使用的独立表空间
SQL> create tablespace og1 datafile '/u01/app/oracle/oradata/pdb/ogg_01.dbf' SIZE 1024M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED BLOCKSIZE 8k;
Tablespace created.
======================================================================
A
#创建管理用户ggadmin
SQL> create user ggadmin identified by oracle default tablespace og1;
User created.
======================================================================
A
#赋权给管理用户,因为测试档开启dba权限
SQL> grant connect,resource,dba to ggadmin;
Grant succeeded.
(如何让ogg支持这个权限是必须的SQL>grant execute on utl_file to ggadmin;
因为我给管理用户使用dba权限所以就不必了)
======================================================================
A
SQL> create tablespace og2 datafile '/u01/app/oracle/oradata/pdb/ogg_02.dbf' SIZE 1024M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED BLOCKSIZE 8k;
Tablespace created.
======================================================================
A
#创建复制用户gg1
SQL> create user gg1 identified by oracle default tablespace og2;
======================================================================
SQL> grant connect,resource to gg1;
=====================================================================
A
#使用复制用户gg1登录oracle,创建表
SQL>conn gg1/oracle
SQL> create table t1 (id int primary key,name char(10));
Table created.
SQL> select * from t1;
=====================================================================
A 配置OGG用户环境,单独管理ogg软件
[root@pd ~]#useradd -g oinstall -G oinstall -d /home/ogg ogg
[root@pd ~]#passwd ogg
[root@pd ~]#mkdir -p /u01/app/ogg
[root@pd app]#chown -R ogg:oinstall ogg/
[root@pd app]#chmod 775 ogg
[root@pd app]# ls -lh
total 12K
drwxrwxr-x 2 oracle oinstall 4.0K Dec 22 18:01 ogg
drwxrwxr-x 9 oracle oinstall 4.0K Aug 17 16:32 oracle
drwxrwx--- 5 oracle oinstall 4.0K Aug 17 16:27 oraInventory
=====================================================================
A
#将ogg软件上传到oracle当中,可以使用sftp上传就可以。xmanager自带的xftp上传
#解压缩oracle压缩包
[oracle@pd ogg]$ unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
Archive: ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
inflating: fbo_ggs_Linux_x64_ora11g_64bit.tar
inflating: OGG_WinUnix_Rel_Notes_11.2.1.0.1.pdf
inflating: Oracle GoldenGate 11.2.1.0.1 README.txt
inflating: Oracle GoldenGate 11.2.1.0.1 README.doc
[oracle@pd ogg]$ tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
======================================================================
A
#配置主库ogg用户参数环境
[root@pd app]# su - ogg
[ogg@pd ~]$ pwd
/home/ogg
[ogg@pd ~]$ vi .bash_profile
#下面信息实际上是从oracle安装用户环境配置参数基础上增加几条参数信息,请注意这里
export OGG_HOME=/u01/app/ogg; #这里增加一条
export ORACLE_HOSTNAME=pd;
export ORACLE_UNQNAME=pdb;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1;
export ORACLE_SID=pd;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
#export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; #这一段注销掉
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
#下面是后增加的
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$OGG_HOME;
export PATH=/usr/sbin:/usr/bin:/usr/local/bin:$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH:$OGG_HOME;
#保存退出
[ogg@pd ~]$ source .bash_profile #保存上面配置
#解析为什么要配置上述相关参数
LD_LIBRARY_PATH环境变量,必须要有$ORACLE_HOME/lib 才可执行./ggsci交互界面,
否则会报如下错误 [oracle@leonarding2 ~]$ ./ggsci ./ggsci: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory
原因:GoldenGate 在运行时需要oracle的共享库文件。但oracle数据库运行没有问题。
===================================================================================
A
#ogg用户安装ogg软件
[ogg@pd ogg]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:32:14
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
----------------------------------------------------------------------------------
A ogg用户
GGSCI (pd) > create subdirs
Creating subdirectories under current directory /u01/app/ogg
Parameter files /u01/app/ogg/dirprm: already exists
Report files /u01/app/ogg/dirrpt: created
Checkpoint files /u01/app/ogg/dirchk: created
Process status files /u01/app/ogg/dirpcs: created
SQL script files /u01/app/ogg/dirsql: created
Database definitions files /u01/app/ogg/dirdef: created
Extract data files /u01/app/ogg/dirdat: created
Temporary files /u01/app/ogg/dirtmp: created
Stdout files /u01/app/ogg/dirout: created
========================================================
A
#配置DDL支持,DDL功能实际是通过几个SQL脚本@marker_setup.sql,@ddl_setup.sql,@role_setup.sql,@dbmspool.sql
及抽取进程配置相关参数达成
[oracle@pd ~]$ cd /u01/app/ogg
[oracle@pd ogg]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 9 14:17:17 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> @marker_setup.sql
Marker setup script
You will be prompted for the name of a schema for the Oracle GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter Oracle GoldenGate schema name:ggadmin
Marker setup table script complete, running verification script...
Please enter the name of a schema for the GoldenGate database objects:
Setting schema name to OGG
MARKER TABLE
-------------------------------
OK
MARKER SEQUENCE
-------------------------------
OK
Script complete.
SQL>
-------------------------------------------------------------------
SQL> @ddl_setup.sql
Oracle GoldenGate DDL Replication setup script
Verifying that current user has privileges to install DDL Replication...
You will be prompted for the name of a schema for the Oracle GoldenGate database objects.
NOTE: For an Oracle 10g source, the system recycle bin must be disabled. For Oracle 11g and later, it can be enabled.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter Oracle GoldenGate schema name:ggadmin
Working, please wait ...
Spooling to file ddl_setup_spool.txt
Checking for sessions that are holding locks on Oracle Golden Gate metadata tables ...
Check complete.
------------------------------------------------------------------
SQL> @role_setup.sql
GGS Role setup script
This script will drop and recreate the role GGS_GGSUSER_ROLE
To use a different role name, quit this script and then edit the params.sql script to change the gg_role parameter to the preferred name. (Do not run the script.)
You will be prompted for the name of a schema for the GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter GoldenGate schema name:ogg
Wrote file role_setup_set.txt
PL/SQL procedure successfully completed.
Role setup script complete
Grant this role to each user assigned to the Extract, GGSCI, and Manager processes, by using the following SQL command:
GRANT GGS_GGSUSER_ROLE TO <loggedUser>
where <loggedUser> is the user assigned to the GoldenGate processes.
-------------------------------------------------------
A
SQL> Grant GGS_GGSUSER_ROLE to ggadmin;
Grant succeeded.
=======================================================
A
SQL> @ddl_enable.sql
Trigger altered.
=======================================================
A
cd /u01/app/oracle/product/11.2.0/db_1/rdbms/admin
SQL> @dbmspool.sql
=======================================================
A
/u01/app/ogg/
SQL>@ddl_pin.sql ggadmin
=======================================================
Aogg用户下
#ogg中管理用户ggadmin登录oracle准备创建相关参数表
GGSCI (pd) > dblogin userid ggadmin, password oracle
Successfully logged into database.
========================================================
Aogg用户下./ggsci
#为主库gg1用户添加监控表
GGSCI (pd) >add trandata gg1.*
========================================================
A ogg用户下
GGSCI (pd) > info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
========================================================
A ogg用户下
#编辑管理"mgr"配置
GGSCI (pd) > edit params mgr
port 7809 #GoldenGate主进程端口号
DYNAMICPORTLIST 7810-7939
AUTOSTART EXTRACT *
AUTORESTART EXTRACT *
PURGEOLDEXTRACTS /u01/app/ogg/dirdat/*,usecheckpoints, minkeepdays 3
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
---------------------------------------------------------------------------------------
MANAGER进程参数配置说明:
PORT:指定服务监听端口;这里以7839为例,默认端口为7809
DYNAMICPORTLIST:动态端口:可以制定最大256个可用端口的动态列表,当指定的端口不可用时,管理进程将会从列表中选择一个可用的端口,源端和目标段的Collector、Replicat、GGSCI进程通信也会使用这些端口;
COMMENT:注释行,也可以用--来代替;
AUTOSTART:指定在管理进程启动时自动启动哪些进程;
AUTORESTART:自动重启参数设置:本处设置表示每3分钟尝试重新启动所有EXTRACT进程,共尝试5次;
PURGEOLDEXTRACTS:定期清理trail文件设置:本处设置表示对于超过3天的trail文件进行删除。
LAGREPORT、LAGINFO、LAGCRITICAL:
定义数据延迟的预警机制:本处设置表示MGR进程每隔1小时检查EXTRACT的延迟情况,如果超过了30分钟就把延迟作为信息记录到错误日志中,如果延迟超过了45分钟,则把它作为警告写到错误日志中。
========================================================================================
A ogg用户下
#编辑抽取ex1进程相关参数
GGSCI (pd) > edit param ex1
EXTRACT ex1 #抽取进程名ex1
USERID ggadmin, PASSWORD oracle #连接本机DB的帐号密码
EXTTRAIL /u01/app/ogg/dirdat/ex #从redo buffer中抓取日志放到本地trail文件中,命名以ex开头文件
dynamicresolution
gettruncates
ddl include mapped
TABLE gg1.*; #需要抽取的表,可以使用通配符
========================================================================================
A ogg用户下
#编辑数据泵dp1相关参数
GGSCI (pd) > edit params dp1
EXTRACT dp1 #创建数据泵进程名称dp1
USERID ggadmin, PASSWORD oracle #登陆哪台数据库抓取日志
RMTHOST 192.168.14.111, MGRPORT 7809 TCPBUFSIZE 5000000 #发送到远程主机,与OGG主进程mgr的7809端口通信
RMTTRAIL /u01/app/ogg/dirdat/rt #指定远程队列文件路径
PASSTHRU
DYNAMICRESOLUTION
NUMFILES 3000
TABLE gg1.*; #复制sender用户下所有表内容
========================================================================================
A ogg用户下
GGSCI (pd) > info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
======================================================================================
A ogg用户下
#注册主库Extract进程
GGSCI (PD) > info all #查看进程状态
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
#注册进程
GGSCI (st) > dblogin userid ggadmin, password oracle
Successfully logged into database.
GGSCI (PD) > add extract ex1, tranlog, begin now
GGSCI (PD) > add exttrail /u01/app/ogg/dirdat/ex,extract ex1
GGSCI (PD) > add extract dp1 exttrailsource /u01/app/ogg/dirdat/ex
GGSCI (PD) > add rmttrail /u01/app/ogg/dirdat/rt, extract dp1
------------------------------------------------------------
#how to delete extract
delete extract ex1, tranlog, begin now
delete exttrail /u01/app/ogg/dirdat/ex, extract ex1
delete extract dp1 exttrailsource /u01/app/ogg/dirdat/ex
delete rmttrail /u01/app/ogg/dirdat/rt,extract dp1
=======================================================================================
A ogg用户下
#Extract进程完全注册后
GGSCI (pd) > info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
EXTRACT STOPPED DP1 00:00:00 00:00:07
EXTRACT STOPPED EX1 00:00:00 00:01:06
=======================================================================================
=======================================================================================
=======================================================================================
B
#配置备库st
[oracle@st ogg]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 9 11:46:30 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
========================================================================================
B
#将备库置为mount状态
SQL>startup mount
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 5
Next log sequence to archive 7
Current log sequence 7
=========================================================================================
SQL> alter system set log_archive_dest_1='location=/u01/archive';
System altered.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/archive
Oldest online log sequence 5
Next log sequence to archive 7
Current log sequence 7
=========================================================================================
B
SQL> select supplemental_log_data_min from v$database;
SUPPLEME
--------
NO
========================================================================================
B
SQL> alter database add supplemental log data;
Database altered.
SQL> select supplemental_log_data_min from v$database;
SUPPLEME
--------
YES
=====================================================================
B
SQL> alter database force logging;
Database altered.
SQL> select LOG_MODE, SUPPLEMENTAL_LOG_DATA_MIN,FORCE_LOGGING from v$database;
LOG_MODE SUPPLEME FOR
------------ -------- ---
ARCHIVELOG YES YES
=====================================================================
B
SQL>ALTER DATABASE OPEN;
SQL>alter system switch logfile;
=====================================================================
B
SQL> create tablespace og1 datafile '/u01/app/oracle/oradata/pdb/ogg_01.dbf' SIZE 1024M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED BLOCKSIZE 8k;
Tablespace created.
=====================================================================
B
SQL> create user ggadmin identified by oracle default tablespace og1;
User created.
======================================================================
B
SQL> grant connect,resource,dba to ggadmin;
Grant succeeded.
======================================================================
B
SQL> create tablespace og2 datafile '/u01/app/oracle/oradata/pdb/ogg_02.dbf' SIZE 1024M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED BLOCKSIZE 8k;
Tablespace created.
======================================================================
SQL> create user gg1 identified by oracle default tablespace og2;
======================================================================
SQL> grant connect,resource to gg1;
==========================================================================
B
[oracle@st app]$ mkdir -p ogg
[root@st app]# chown -R oracle:oinstall ogg/
[root@st app]# chmod 775 ogg
[root@st app]# su - oracle
[oracle@st app]$ cd ogg
[oracle@st ogg]$ ls
ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
[oracle@st ogg]$ unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
[oracle@st ogg]$ tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
===========================================================================
B
切换到root用户
[root@st ~]#useradd -g oinstall -G oinstall -d /home/ogg ogg
[root@st ~]#passwd ogg
[root@st ~]#mkdir -p /u01/app/ogg
[root@st app]#chown -R ogg:oinstall ogg/
[root@st app]#chmod 775 ogg
===========================================================================
B
[root@st app]# su - ogg
[ogg@st ogg]$ cd /home/ogg
[ogg@st ~]$ vi .bash_profile
#添加如下内容,注意这些信息实际就是从oracle安装用户bash_profile复制过来的只要信息匹配增加几条就可以
export OGG_HOME=/u01/app/ogg;
export ORACLE_HOSTNAME=st;
export ORACLE_UNQNAME=pdb;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1;
export ORACLE_SID=pdb;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$OGG_HOME;
export PATH=/usr/sbin:/usr/bin:/usr/local/bin:$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH:$OGG_HOME;
[ogg@st ~]$ source .bash_profile #使配置生效
===========================================================================================
B
[ogg@st ~]$ cd /u01/app/ogg
[ogg@st ogg]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:32:14
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
GGSCI (st) 1> quit
=====================================================================================
B
GGSCI (st) 1> create subdirs
Creating subdirectories under current directory /u01/app/ogg
Parameter files /u01/app/ogg/dirprm: already exists
Report files /u01/app/ogg/dirrpt: created
Checkpoint files /u01/app/ogg/dirchk: created
Process status files /u01/app/ogg/dirpcs: created
SQL script files /u01/app/ogg/dirsql: created
Database definitions files /u01/app/ogg/dirdef: created
Extract data files /u01/app/ogg/dirdat: created
Temporary files /u01/app/ogg/dirtmp: created
Stdout files /u01/app/ogg/dirout: created
==========================================================
B
#在备库创建全局表检查点参数
GGSCI (st) > edit params ./GLOBALS
GGSCHEMA ggadmin
CHECKPOINTTABLE ggadmin.chktbl
======================================================================================
B
GGSCI (st) > dblogin userid ggadmin, password oracle
Successfully logged into database.
GGSCI (st) >add checkpointtable #如果出错,请退出OGG,重新登录再输入此命令即可.如果还是不行就要检查.bash_profile环境配置是否正确如果
=======================================================================================
B
GGSCI (st) > edit params mgr
port 7809
DYNAMICPORTLIST 7810-7850
AUTOSTART REPLICAT *
AUTORESTART REPLICAT *
=========================================================================================
B
#编辑目标库replicat进程
GGSCI (st) 11> edit params rep1
REPLICAT rep1 #备库复制进程名rep1
USERID ggadmin,PASSWORD oracle #目标数据库的帐号密码
ASSUMETARGETDEFS #两台数据库数据结构一致则使用此参数
DISCARDFILE /u01/app/ogg/discards, append, megabytes 10 #错误信息写入XXXX文件
MAP gg1.*, TARGET gg1.*; #映射关系,注意target前必须留一个空格
=========================================================================================
B
#增加replicat进程注册
GGSCI (st) > add replicat rep1, exttrail /u01/app/ogg/dirdat/rt checkpointtable ggadmin.chktbl
REPLICAT added.
-----------------------------------------------------------------------------------------
#delte replicat
delete replicat rep1, exttrail /u01/app/ogg/dirdat/rt checkpointtable ggadmin.chktbl
-----------------------------------------------------------------------------------------
B
#检查备库注册情况
GGSCI (st) 9> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
REPLICAT STOPPED REP1 00:00:00 00:00:01
=========================================================================================
A
#启动主库
GGSCI (PD) > info all
GGSCI (PD) > start mgr
GGSCI (PD) > start ex1
GGSCI (PD) > start dp1
GGSCI (pd) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING DP1 00:00:00 00:00:02
EXTRACT RUNNING EX1 00:00:00 00:00:01
=========================================================================================
B
#启动replicat备库
GGSCI (st) 22> start replicat rep1
Sending START request to MANAGER ...
REPLICAT REP1 starting
=========================================================================================
B
GGSCI (st) 24> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REP1 00:00:00 00:00:02
=========================================================================
A
#DML验证
#ogg DDL主要用几个相关脚本通过触发器和编辑抽取进程相关参数实现
SQL> select * from t1;
no rows selected
SQL> insert into t1 values(13,'boobooke3');
1 row created.
SQL> select * from t1;
ID NAME
---------- ----------
0 boobooke
SQL> commit;
--------------------------------------------------------------------------
B
SQL> select * from t1;
ID NAME
---------- ----------
0 boobooke
=======================================================
A
SQL> conn gg1/oracle
SQL> create table t2(id int primary key,name char(10));
SQL> insert into t2 values(14,'boobooke4');
SQL> commit;
B
SQL> conn gg1/oracle
SQL> select * from t2;
ID NAME
---------- ----------
14 boobooke4
#查询到表,DDL成功开启
=================================================================
GGSCI (pd) 2> show all
Parameter settings:
SET SUBDIRS ON
SET DEBUG OFF
Current directory: /u01/app/ogg
Using subdirectories for all process files
Editor: vi
Reports (.rpt) /u01/app/ogg/dirrpt #OGG报告
Parameters (.prm) /u01/app/ogg/dirprm #存放参数文件
Stdout (.out) /u01/app/ogg/dirout
Replicat Checkpoints (.cpr) /u01/app/ogg/dirchk #检查点即可以放在表中也可以放在文件中
Extract Checkpoints (.cpe) /u01/app/ogg/dirchk #提取进程检查点
Process Status (.pcs) /u01/app/ogg/dirpcs #进程状态
SQL Scripts (.sql) /u01/app/ogg/dirsql #存放SQL脚本
Database Definitions (.def) /u01/app/ogg/dirdef #连接是什么类型数据库 oracle mysql db2 sqlserver
ogg version Oracle GoldenGate Command Interpreter for Oracle Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO Linux, x64, 64bit (optimized)
oracle version Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
A:主库
B:备库
=====================================================================
A
#开启DML支持
#测试环境使用mount状态,因为在配置归档案模式时需要mount状态配置,如果是生产库则不需要,因为它们本身一定会配置为归档模式
SQL> startup mount;
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 5
Next log sequence to archive 7
Current log sequence 7
(保证数据库处于归档模式)
SQL> alter database archivelog;
====================================================================
A
#配置归档存放位置
SQL> alter system set log_archive_dest_1='location=/u01/archive';
System altered.
A
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/archive
Oldest online log sequence 5
Next log sequence to archive 7
Current log sequence 7
=====================================================================
A
#检查数据库是否开启附加日志模式
SQL> select supplemental_log_data_min from v$database;
SUPPLEME
--------
NO
=====================================================================
A
#开启数据库是否开启附加日志模式,数据库open模式也可以执行
SQL> alter database add supplemental log data;
Database altered.
=====================================================================
A
#检查数据库是否开启附加日志模式
SQL> select supplemental_log_data_min from v$database;
SUPPLEME
--------
YES
---------------------------------------------------------------------
打开数据库附加日志功能
原因:数据库要生成额外redo信息,来唯一标识表中一条记录。
只有收集到足够信息才能转换成SQL语句在目标端数据库执行
=====================================================================
A
#强制数据库日志模式
SQL> alter database force logging;
Database altered.
=====================================================================
A
#检查数据库是否为归档,附加日志
SQL> select LOG_MODE, SUPPLEMENTAL_LOG_DATA_MIN,FORCE_LOGGING from v$database;
LOG_MODE SUPPLEME FOR
------------ -------- ---
ARCHIVELOG YES YES
=====================================================================
A
SQL>ALTER DATABASE OPEN;
#切换日志
SQL>alter system switch logfile;
=====================================================================
A
#创建管理用户使用的独立表空间
SQL> create tablespace og1 datafile '/u01/app/oracle/oradata/pdb/ogg_01.dbf' SIZE 1024M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED BLOCKSIZE 8k;
Tablespace created.
======================================================================
A
#创建管理用户ggadmin
SQL> create user ggadmin identified by oracle default tablespace og1;
User created.
======================================================================
A
#赋权给管理用户,因为测试档开启dba权限
SQL> grant connect,resource,dba to ggadmin;
Grant succeeded.
(如何让ogg支持这个权限是必须的SQL>grant execute on utl_file to ggadmin;
因为我给管理用户使用dba权限所以就不必了)
======================================================================
A
SQL> create tablespace og2 datafile '/u01/app/oracle/oradata/pdb/ogg_02.dbf' SIZE 1024M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED BLOCKSIZE 8k;
Tablespace created.
======================================================================
A
#创建复制用户gg1
SQL> create user gg1 identified by oracle default tablespace og2;
======================================================================
SQL> grant connect,resource to gg1;
=====================================================================
A
#使用复制用户gg1登录oracle,创建表
SQL>conn gg1/oracle
SQL> create table t1 (id int primary key,name char(10));
Table created.
SQL> select * from t1;
=====================================================================
A 配置OGG用户环境,单独管理ogg软件
[root@pd ~]#useradd -g oinstall -G oinstall -d /home/ogg ogg
[root@pd ~]#passwd ogg
[root@pd ~]#mkdir -p /u01/app/ogg
[root@pd app]#chown -R ogg:oinstall ogg/
[root@pd app]#chmod 775 ogg
[root@pd app]# ls -lh
total 12K
drwxrwxr-x 2 oracle oinstall 4.0K Dec 22 18:01 ogg
drwxrwxr-x 9 oracle oinstall 4.0K Aug 17 16:32 oracle
drwxrwx--- 5 oracle oinstall 4.0K Aug 17 16:27 oraInventory
=====================================================================
A
#将ogg软件上传到oracle当中,可以使用sftp上传就可以。xmanager自带的xftp上传
#解压缩oracle压缩包
[oracle@pd ogg]$ unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
Archive: ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
inflating: fbo_ggs_Linux_x64_ora11g_64bit.tar
inflating: OGG_WinUnix_Rel_Notes_11.2.1.0.1.pdf
inflating: Oracle GoldenGate 11.2.1.0.1 README.txt
inflating: Oracle GoldenGate 11.2.1.0.1 README.doc
[oracle@pd ogg]$ tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
======================================================================
A
#配置主库ogg用户参数环境
[root@pd app]# su - ogg
[ogg@pd ~]$ pwd
/home/ogg
[ogg@pd ~]$ vi .bash_profile
#下面信息实际上是从oracle安装用户环境配置参数基础上增加几条参数信息,请注意这里
export OGG_HOME=/u01/app/ogg; #这里增加一条
export ORACLE_HOSTNAME=pd;
export ORACLE_UNQNAME=pdb;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1;
export ORACLE_SID=pd;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
#export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; #这一段注销掉
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
#下面是后增加的
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$OGG_HOME;
export PATH=/usr/sbin:/usr/bin:/usr/local/bin:$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH:$OGG_HOME;
#保存退出
[ogg@pd ~]$ source .bash_profile #保存上面配置
#解析为什么要配置上述相关参数
LD_LIBRARY_PATH环境变量,必须要有$ORACLE_HOME/lib 才可执行./ggsci交互界面,
否则会报如下错误 [oracle@leonarding2 ~]$ ./ggsci ./ggsci: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory
原因:GoldenGate 在运行时需要oracle的共享库文件。但oracle数据库运行没有问题。
===================================================================================
A
#ogg用户安装ogg软件
[ogg@pd ogg]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:32:14
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
----------------------------------------------------------------------------------
A ogg用户
GGSCI (pd) > create subdirs
Creating subdirectories under current directory /u01/app/ogg
Parameter files /u01/app/ogg/dirprm: already exists
Report files /u01/app/ogg/dirrpt: created
Checkpoint files /u01/app/ogg/dirchk: created
Process status files /u01/app/ogg/dirpcs: created
SQL script files /u01/app/ogg/dirsql: created
Database definitions files /u01/app/ogg/dirdef: created
Extract data files /u01/app/ogg/dirdat: created
Temporary files /u01/app/ogg/dirtmp: created
Stdout files /u01/app/ogg/dirout: created
========================================================
A
#配置DDL支持,DDL功能实际是通过几个SQL脚本@marker_setup.sql,@ddl_setup.sql,@role_setup.sql,@dbmspool.sql
及抽取进程配置相关参数达成
[oracle@pd ~]$ cd /u01/app/ogg
[oracle@pd ogg]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 9 14:17:17 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> @marker_setup.sql
Marker setup script
You will be prompted for the name of a schema for the Oracle GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter Oracle GoldenGate schema name:ggadmin
Marker setup table script complete, running verification script...
Please enter the name of a schema for the GoldenGate database objects:
Setting schema name to OGG
MARKER TABLE
-------------------------------
OK
MARKER SEQUENCE
-------------------------------
OK
Script complete.
SQL>
-------------------------------------------------------------------
SQL> @ddl_setup.sql
Oracle GoldenGate DDL Replication setup script
Verifying that current user has privileges to install DDL Replication...
You will be prompted for the name of a schema for the Oracle GoldenGate database objects.
NOTE: For an Oracle 10g source, the system recycle bin must be disabled. For Oracle 11g and later, it can be enabled.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter Oracle GoldenGate schema name:ggadmin
Working, please wait ...
Spooling to file ddl_setup_spool.txt
Checking for sessions that are holding locks on Oracle Golden Gate metadata tables ...
Check complete.
------------------------------------------------------------------
SQL> @role_setup.sql
GGS Role setup script
This script will drop and recreate the role GGS_GGSUSER_ROLE
To use a different role name, quit this script and then edit the params.sql script to change the gg_role parameter to the preferred name. (Do not run the script.)
You will be prompted for the name of a schema for the GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter GoldenGate schema name:ogg
Wrote file role_setup_set.txt
PL/SQL procedure successfully completed.
Role setup script complete
Grant this role to each user assigned to the Extract, GGSCI, and Manager processes, by using the following SQL command:
GRANT GGS_GGSUSER_ROLE TO <loggedUser>
where <loggedUser> is the user assigned to the GoldenGate processes.
-------------------------------------------------------
A
SQL> Grant GGS_GGSUSER_ROLE to ggadmin;
Grant succeeded.
=======================================================
A
SQL> @ddl_enable.sql
Trigger altered.
=======================================================
A
cd /u01/app/oracle/product/11.2.0/db_1/rdbms/admin
SQL> @dbmspool.sql
=======================================================
A
/u01/app/ogg/
SQL>@ddl_pin.sql ggadmin
=======================================================
Aogg用户下
#ogg中管理用户ggadmin登录oracle准备创建相关参数表
GGSCI (pd) > dblogin userid ggadmin, password oracle
Successfully logged into database.
========================================================
Aogg用户下./ggsci
#为主库gg1用户添加监控表
GGSCI (pd) >add trandata gg1.*
========================================================
A ogg用户下
GGSCI (pd) > info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
========================================================
A ogg用户下
#编辑管理"mgr"配置
GGSCI (pd) > edit params mgr
port 7809 #GoldenGate主进程端口号
DYNAMICPORTLIST 7810-7939
AUTOSTART EXTRACT *
AUTORESTART EXTRACT *
PURGEOLDEXTRACTS /u01/app/ogg/dirdat/*,usecheckpoints, minkeepdays 3
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
---------------------------------------------------------------------------------------
MANAGER进程参数配置说明:
PORT:指定服务监听端口;这里以7839为例,默认端口为7809
DYNAMICPORTLIST:动态端口:可以制定最大256个可用端口的动态列表,当指定的端口不可用时,管理进程将会从列表中选择一个可用的端口,源端和目标段的Collector、Replicat、GGSCI进程通信也会使用这些端口;
COMMENT:注释行,也可以用--来代替;
AUTOSTART:指定在管理进程启动时自动启动哪些进程;
AUTORESTART:自动重启参数设置:本处设置表示每3分钟尝试重新启动所有EXTRACT进程,共尝试5次;
PURGEOLDEXTRACTS:定期清理trail文件设置:本处设置表示对于超过3天的trail文件进行删除。
LAGREPORT、LAGINFO、LAGCRITICAL:
定义数据延迟的预警机制:本处设置表示MGR进程每隔1小时检查EXTRACT的延迟情况,如果超过了30分钟就把延迟作为信息记录到错误日志中,如果延迟超过了45分钟,则把它作为警告写到错误日志中。
========================================================================================
A ogg用户下
#编辑抽取ex1进程相关参数
GGSCI (pd) > edit param ex1
EXTRACT ex1 #抽取进程名ex1
USERID ggadmin, PASSWORD oracle #连接本机DB的帐号密码
EXTTRAIL /u01/app/ogg/dirdat/ex #从redo buffer中抓取日志放到本地trail文件中,命名以ex开头文件
dynamicresolution
gettruncates
ddl include mapped
TABLE gg1.*; #需要抽取的表,可以使用通配符
========================================================================================
A ogg用户下
#编辑数据泵dp1相关参数
GGSCI (pd) > edit params dp1
EXTRACT dp1 #创建数据泵进程名称dp1
USERID ggadmin, PASSWORD oracle #登陆哪台数据库抓取日志
RMTHOST 192.168.14.111, MGRPORT 7809 TCPBUFSIZE 5000000 #发送到远程主机,与OGG主进程mgr的7809端口通信
RMTTRAIL /u01/app/ogg/dirdat/rt #指定远程队列文件路径
PASSTHRU
DYNAMICRESOLUTION
NUMFILES 3000
TABLE gg1.*; #复制sender用户下所有表内容
========================================================================================
A ogg用户下
GGSCI (pd) > info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
======================================================================================
A ogg用户下
#注册主库Extract进程
GGSCI (PD) > info all #查看进程状态
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
#注册进程
GGSCI (st) > dblogin userid ggadmin, password oracle
Successfully logged into database.
GGSCI (PD) > add extract ex1, tranlog, begin now
GGSCI (PD) > add exttrail /u01/app/ogg/dirdat/ex,extract ex1
GGSCI (PD) > add extract dp1 exttrailsource /u01/app/ogg/dirdat/ex
GGSCI (PD) > add rmttrail /u01/app/ogg/dirdat/rt, extract dp1
------------------------------------------------------------
#how to delete extract
delete extract ex1, tranlog, begin now
delete exttrail /u01/app/ogg/dirdat/ex, extract ex1
delete extract dp1 exttrailsource /u01/app/ogg/dirdat/ex
delete rmttrail /u01/app/ogg/dirdat/rt,extract dp1
=======================================================================================
A ogg用户下
#Extract进程完全注册后
GGSCI (pd) > info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
EXTRACT STOPPED DP1 00:00:00 00:00:07
EXTRACT STOPPED EX1 00:00:00 00:01:06
=======================================================================================
=======================================================================================
=======================================================================================
B
#配置备库st
[oracle@st ogg]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 9 11:46:30 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
========================================================================================
B
#将备库置为mount状态
SQL>startup mount
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 5
Next log sequence to archive 7
Current log sequence 7
=========================================================================================
SQL> alter system set log_archive_dest_1='location=/u01/archive';
System altered.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/archive
Oldest online log sequence 5
Next log sequence to archive 7
Current log sequence 7
=========================================================================================
B
SQL> select supplemental_log_data_min from v$database;
SUPPLEME
--------
NO
========================================================================================
B
SQL> alter database add supplemental log data;
Database altered.
SQL> select supplemental_log_data_min from v$database;
SUPPLEME
--------
YES
=====================================================================
B
SQL> alter database force logging;
Database altered.
SQL> select LOG_MODE, SUPPLEMENTAL_LOG_DATA_MIN,FORCE_LOGGING from v$database;
LOG_MODE SUPPLEME FOR
------------ -------- ---
ARCHIVELOG YES YES
=====================================================================
B
SQL>ALTER DATABASE OPEN;
SQL>alter system switch logfile;
=====================================================================
B
SQL> create tablespace og1 datafile '/u01/app/oracle/oradata/pdb/ogg_01.dbf' SIZE 1024M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED BLOCKSIZE 8k;
Tablespace created.
=====================================================================
B
SQL> create user ggadmin identified by oracle default tablespace og1;
User created.
======================================================================
B
SQL> grant connect,resource,dba to ggadmin;
Grant succeeded.
======================================================================
B
SQL> create tablespace og2 datafile '/u01/app/oracle/oradata/pdb/ogg_02.dbf' SIZE 1024M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED BLOCKSIZE 8k;
Tablespace created.
======================================================================
SQL> create user gg1 identified by oracle default tablespace og2;
======================================================================
SQL> grant connect,resource to gg1;
==========================================================================
B
[oracle@st app]$ mkdir -p ogg
[root@st app]# chown -R oracle:oinstall ogg/
[root@st app]# chmod 775 ogg
[root@st app]# su - oracle
[oracle@st app]$ cd ogg
[oracle@st ogg]$ ls
ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
[oracle@st ogg]$ unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
[oracle@st ogg]$ tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
===========================================================================
B
切换到root用户
[root@st ~]#useradd -g oinstall -G oinstall -d /home/ogg ogg
[root@st ~]#passwd ogg
[root@st ~]#mkdir -p /u01/app/ogg
[root@st app]#chown -R ogg:oinstall ogg/
[root@st app]#chmod 775 ogg
===========================================================================
B
[root@st app]# su - ogg
[ogg@st ogg]$ cd /home/ogg
[ogg@st ~]$ vi .bash_profile
#添加如下内容,注意这些信息实际就是从oracle安装用户bash_profile复制过来的只要信息匹配增加几条就可以
export OGG_HOME=/u01/app/ogg;
export ORACLE_HOSTNAME=st;
export ORACLE_UNQNAME=pdb;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1;
export ORACLE_SID=pdb;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$OGG_HOME;
export PATH=/usr/sbin:/usr/bin:/usr/local/bin:$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH:$OGG_HOME;
[ogg@st ~]$ source .bash_profile #使配置生效
===========================================================================================
B
[ogg@st ~]$ cd /u01/app/ogg
[ogg@st ogg]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:32:14
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
GGSCI (st) 1> quit
=====================================================================================
B
GGSCI (st) 1> create subdirs
Creating subdirectories under current directory /u01/app/ogg
Parameter files /u01/app/ogg/dirprm: already exists
Report files /u01/app/ogg/dirrpt: created
Checkpoint files /u01/app/ogg/dirchk: created
Process status files /u01/app/ogg/dirpcs: created
SQL script files /u01/app/ogg/dirsql: created
Database definitions files /u01/app/ogg/dirdef: created
Extract data files /u01/app/ogg/dirdat: created
Temporary files /u01/app/ogg/dirtmp: created
Stdout files /u01/app/ogg/dirout: created
==========================================================
B
#在备库创建全局表检查点参数
GGSCI (st) > edit params ./GLOBALS
GGSCHEMA ggadmin
CHECKPOINTTABLE ggadmin.chktbl
======================================================================================
B
GGSCI (st) > dblogin userid ggadmin, password oracle
Successfully logged into database.
GGSCI (st) >add checkpointtable #如果出错,请退出OGG,重新登录再输入此命令即可.如果还是不行就要检查.bash_profile环境配置是否正确如果
=======================================================================================
B
GGSCI (st) > edit params mgr
port 7809
DYNAMICPORTLIST 7810-7850
AUTOSTART REPLICAT *
AUTORESTART REPLICAT *
=========================================================================================
B
#编辑目标库replicat进程
GGSCI (st) 11> edit params rep1
REPLICAT rep1 #备库复制进程名rep1
USERID ggadmin,PASSWORD oracle #目标数据库的帐号密码
ASSUMETARGETDEFS #两台数据库数据结构一致则使用此参数
DISCARDFILE /u01/app/ogg/discards, append, megabytes 10 #错误信息写入XXXX文件
MAP gg1.*, TARGET gg1.*; #映射关系,注意target前必须留一个空格
=========================================================================================
B
#增加replicat进程注册
GGSCI (st) > add replicat rep1, exttrail /u01/app/ogg/dirdat/rt checkpointtable ggadmin.chktbl
REPLICAT added.
-----------------------------------------------------------------------------------------
#delte replicat
delete replicat rep1, exttrail /u01/app/ogg/dirdat/rt checkpointtable ggadmin.chktbl
-----------------------------------------------------------------------------------------
B
#检查备库注册情况
GGSCI (st) 9> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
REPLICAT STOPPED REP1 00:00:00 00:00:01
=========================================================================================
A
#启动主库
GGSCI (PD) > info all
GGSCI (PD) > start mgr
GGSCI (PD) > start ex1
GGSCI (PD) > start dp1
GGSCI (pd) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING DP1 00:00:00 00:00:02
EXTRACT RUNNING EX1 00:00:00 00:00:01
=========================================================================================
B
#启动replicat备库
GGSCI (st) 22> start replicat rep1
Sending START request to MANAGER ...
REPLICAT REP1 starting
=========================================================================================
B
GGSCI (st) 24> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REP1 00:00:00 00:00:02
=========================================================================
A
#DML验证
#ogg DDL主要用几个相关脚本通过触发器和编辑抽取进程相关参数实现
SQL> select * from t1;
no rows selected
SQL> insert into t1 values(13,'boobooke3');
1 row created.
SQL> select * from t1;
ID NAME
---------- ----------
0 boobooke
SQL> commit;
--------------------------------------------------------------------------
B
SQL> select * from t1;
ID NAME
---------- ----------
0 boobooke
=======================================================
A
SQL> conn gg1/oracle
SQL> create table t2(id int primary key,name char(10));
SQL> insert into t2 values(14,'boobooke4');
SQL> commit;
B
SQL> conn gg1/oracle
SQL> select * from t2;
ID NAME
---------- ----------
14 boobooke4
#查询到表,DDL成功开启
=================================================================
GGSCI (pd) 2> show all
Parameter settings:
SET SUBDIRS ON
SET DEBUG OFF
Current directory: /u01/app/ogg
Using subdirectories for all process files
Editor: vi
Reports (.rpt) /u01/app/ogg/dirrpt #OGG报告
Parameters (.prm) /u01/app/ogg/dirprm #存放参数文件
Stdout (.out) /u01/app/ogg/dirout
Replicat Checkpoints (.cpr) /u01/app/ogg/dirchk #检查点即可以放在表中也可以放在文件中
Extract Checkpoints (.cpe) /u01/app/ogg/dirchk #提取进程检查点
Process Status (.pcs) /u01/app/ogg/dirpcs #进程状态
SQL Scripts (.sql) /u01/app/ogg/dirsql #存放SQL脚本
Database Definitions (.def) /u01/app/ogg/dirdef #连接是什么类型数据库 oracle mysql db2 sqlserver