#全篇分为4部分,1安装部分、2数据库配置部分、3ggs配置部分、4初始数据传输,启动同步部分
有问题可以留言 看到就回。
#1. Source Install GoldenGate.
#wget GoldenGate.
##use silent insall, config file:
#unzipdir/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
[oracle@ggs_source ~]$ echo '
oracle.install.responseFileVersion=/oracle/install/rsoggmt_ogginstall_response_schema_v12_1_2
INSTALL_OPTION=ORA12c
SOFTWARE_LOCATION=/data/oracle/product/ogg_src
START_MANAGER=true
MANAGER_PORT=7809
DATABASE_LOCATION=/data/oracle/product/12.2.0/myproject
INVENTORY_LOCATION=
UNIX_GROUP_NAME=oinstall
' > /tmp/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
[oracle@ggs_source ~]$ cd /tmp/fbo_ggs_Linux_x64_shiphome/Disk1/
[oracle@ggs_source ~]$ ./runInstaller -responseFile /tmp/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp -silent
2.Source database config
[oracle@ggs_source ~]$ sqlplus / as sysdba
SQL> show parameter name
NAME TYPE VALUE
----------------------------------------------------------------------------------------
cdb_cluster_name string ogg
cell_offloadgroup_name string
db_file_name_convert string
db_name string ogg
db_unique_name string ogg
global_names boolean FALSE
instance_name string myproject
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string
service_names string ogg
SQL> exit
[oracle@ggs_source ~]$ echo '
ogg =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ggs_source.ogg001.top)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ogg)
)
)
ogg =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 106.42.178.23)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ogg)
)
)
' > /data/oracle/product/12.2.0/myproject/network/admin/tnsnames.ora
#创建用户并授予权限
[oracle@ggs_source ~]$ sqlplus / as sysdba
SQL> create tablespace ggs_data datafile '/data/ggsdata/ggs_data01.dbf' size 200m;
SQL> create temporary tablespace ggstemp temoggile '/data/ggsdata/ggstemp.dbf' SIZE 200M autoextend on next 10M maxsize 1000M;
SQL> create user ggs_test identified by ggs_test default tablespace ggs_data temporary tablespace ggstemp;
User created.
SQL> grant connect,resource to ggs_test;
Grant succeeded.
SQL> grant select any dictionary, select any table to ggs_test;
Grant succeeded.
SQL> grant create table to ggs_test;
Grant succeeded.
SQL> grant flashback any table to ggs_test;
Grant succeeded.
SQL> grant execute on dbms_flashback to ggs_test;
Grant succeeded.
SQL> grant execute on utl_file to ggs_test;
Grant succeeded.
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
Grant succeeded.
SQL> exec dbms_goldengate_auth.grant_admin_privilege('ggs_test');
Grant succeeded.
#Note:必须开启存档模式才能支持 Integrated Mode,否则extract进程启动时报错,内容如下
#vim /data/oracle/product/ogg_src/ggserror.log
#2018-12-01T13:14:47.336+0800 ERROR OGG-02057 Oracle GoldenGate Capture for Oracle, ext1.prm: The Oracle source database is not configured properly to support integrated capture.
#2018-12-01T13:14:47.336+0800 ERROR OGG-02055 Oracle GoldenGate Capture for Oracle, ext1.prm: ARCHIVELOG mode must be enabled on this Oracle database.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 444596224 bytes
Fixed Size 8621712 bytes
Variable Size 289407344 bytes
Database Buffers 142606336 bytes
Redo Buffers 3960832 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
#Configuring Logging Properties
#enable supplemental logging mode and in forced logging mode
SQL> SELECT supplemental_log_data_min, force_logging FROM v$database;
SUPPLEMENTAL_LOG FORCE_LOGGING
----------------------------------------
NO NO
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> ALTER DATABASE FORCE LOGGING;
SQL> SELECT supplemental_log_data_min, force_logging FROM v$database;
SUPPLEMENTAL_LOG FORCE_LOGGING
----------------------------------------
YES YES
#Switch the log files.
SQL> ALTER SYSTEM SWITCH LOGFILE;
#####################################################################################
SQL> alter database flashback on;
#if error should to do
ERROR at line 1:
ORA-38706: Cannot turn on FLASHBACK DATABASE logging.
ORA-38709: Recovery Area is not enabled.
解决方法:
1、通过oerr ora 38709查询,提示如下:
38709, 00000, "Recovery Area is not enabled."
// *Cause: An ALTER DATABASE FLASHBACK ON command failed because the
// Recovery Area was not enabled.
// *Action: Set DB_RECOVERY_FILE_DEST to a location and retry.
从提示很清楚的看出来,oracle是需要我们去设置DB_RECOVERY_FILE_DEST参数,这个代表FRA的存储路径
2、设置DB_RECOVERY_FILE_DEST这个参数前必须先设置DB_RECOVERY_FILE_DEST_SIZE,这个是FRA空间大小
3、设置这两个参数
SQL> alter system set db_recovery_file_dest_size=5G;
SQL> alter system set db_recovery_file_dest='/data/ggsdata/