Oracle GoldenGate Microservices Architecture 12.3 quick set up tutorial

Oracle GoldenGate 12.3 Microservices Architecture just came out. This is a separate build, and in contrary to previous architecture (called now Classic Architecture) has distinct installation binaries and completely different directory structure after installation. Processes are run from different binaries and the whole configuration is also completely different. This article is a complete tutorial which shows how to install and configure OGG 12.3 Microservices Architecture (MA) to replicate a table from Oracle 12.2 to Oracle 11.2.

Before you start the configuration, please note, that the OGG 12.3 MA is brand new . You might run into many different issues while using it. Very often strange warnings come out in the log.

In this tutorial I am using:

  1. Host hostdb with Linux (x86_64)
    1. Oracle 12.2.0.1 (database O122ASIA – source for replication)
    2. Oracle 11.2.0.4 (database O112AFRO – target for replication)
  2. Host hostogg with Linux (x86_64)
    1. OGG 12.3 MA for Oracle 11 + Client Oracle 11.2.0.4
    2. OGG 12.3 MA for Oracle 12 + Client Oracle 12.2.0.1

I am not describing the installation & configuration process for databases. The databases are installed and configured using absolutely minimum options that are required to run them. I have tried to run the replication with Oracle 12.1.0.2 as the source database but it seems not to work at all (details below). In my lab Integrated Extract fails. But with Oracle database 12.2.0.1 it works fine.

This is a picture of how Microservices Architecture works:

Let’s start.

1. Software installation

Oracle provides separate binaries for Oracle 12 and Oracle 11 databases. When the replication is involving both versions – then both binaries are to be installed. Also both versions of Oracle client are required in such configuration. The following paths have been chosen for the installation.

  • /opt/db/11.2.0.4 – database client
  • /opt/db/12.2.0.1 – database client
  • /opt/gg/12.3.0.ora11ma – OGG 12.3 MA for Oracle 11
  • /opt/gg/12.3.0.ora12ma – OGG 12.3 MA for Oracle 12
  • /opt/oraInventory – Oracle Inventory

1.1. Oracle database 11.2.0.4 client installation

Unpack the ZIP archive and run the installer: ./runInstaller

Choose Custom option to install only the required components.

Skip the updates:

Choose English as the only installed language:

Set Oracle Base to /opt/db and database location to /opt/db/11.2.0.4

Since this is the first installation – Inventory location needs to be set.

It’s just enough to install SQL*Plus. Other packages are (probably) not required by OGG. But SQL*Plus is useful to test the configuration.

The documentation is not clear about which options are actually required.

Skip the swap requirement check – in my lab I have 16GB of RAM but only 8GB swap. That should not be a problem for Oracle client:

Summary:

The installer requires to run /opt/oraInventory/orainstRoot.sh using root user:

The script adds some files to /etc folder and sets the owner to oracle user. The end screen should show that installation is complete:

In the end you can (optionally) run also root.sh script using the root account to install shell environment scripts in /usr/local/bin:

[root@demawend 11.2.0.4]# cd /opt/db/11.2.0.4
[root@demawend 11.2.0.4]# ./root.sh 
Performing root user operation for Oracle 11g

The following environment variables are set as:
 ORACLE_OWNER= oracle
 ORACLE_HOME= /opt/db/11.2.0.4

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
 Copying dbhome to /usr/local/bin ...
 Copying oraenv to /usr/local/bin ...
 Copying coraenv to /usr/local/bin ...



Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed

Create /opt/db/11.2.0.4/network/admin/tnsnames.ora file with the following content:

O112AFRO =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = hostdb)(PORT = 4380))
      (CONNECT_DATA =
      (SERVICE_NAME = O112AFRO.ORADOMAIN)
    )
 )

The service name should match the service name of your Oracle database O112AFRO.

1.2. Oracle database 12.2.0.1 client installation

Unpack the ZIP archive and run the installer: ./runInstaller and choose Custom option to install only the required components.

Set the oracle base to /opt/db and software location to /opt/db/12.2.0.1

Choose the same options like for Oracle 11g:

Summary:

The installation is complete:

Create /opt/db/12.2.0.1/network/admin/tnsnames.ora file with the following content:

O122ASIA =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = hostdb)(PORT = 4490))
      (CONNECT_DATA =
      (SERVICE_NAME = O122ASIA.ORADOMAIN)
    )
 )

The service name should match the service name of your Oracle database O122ASIA.

 1.3. Oracle GoldenGate 12.3 Microservices Architecture for Oracle 11g installation

Unpack the ZIP archive and run the installer: ./runInstaller and choose version for Oracle 11g.

The target directory is: /opt/gg/12.3.0.ora11ma

Summary:

The installation is complete:

 

1.4. Oracle GoldenGate 12.3 Microservices Architecture for Oracle 12c installation

Unpack the ZIP archive and run the installer: ./runInstaller and choose version for Oracle 12c.

The target directory is: /opt/gg/12.3.0.ora12ma

Summary:

The installation is complete:

2. Instance configuration

The goal is to create one Service Manager and two Deployments for OGG: one for Oracle 11g and one for Oracle 12c.

First create the directories:

mkdir /opt/gg/OGGSM
mkdir /opt/gg/G123AFRO
mkdir /opt/gg/G123ASIA

The purpose for the directories is:

  • /opt/gg/OGGSM – Service Manager (one for the whole replication)
  • /opt/gg/G123ASIA – deployment for Oracle 12c
  • /opt/gg/G123AFRO – deployment for Oracle 11g

Those locations are separate from binaries. One binary can handle multiple deployments.

2.1. Service Manager + Deployment for Oracle 12c

Next run the instance configuration assistant (oggca):

export ORACLE_HOME=/opt/db/12.2.0.1
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH}
export OGG_HOME=/opt/gg/12.3.0.ora12ma
export TNS_HOME=/opt/db/12.2.0.1/network/admin
cd ${OGG_HOME}/bin
./oggca.sh

Select Create new Service Manager in the location /opt/gg/OGGSM,set the host to hostogg and port to 7000:

It is not possible to create just a Service Manager without a Deployment, so choose the only available option:

The name of the Deployment is G123ASIA (handing database O122ASIA). It will use the OGG 12.3 for Oracle 12c binaries. Multiple deployment can share the software location, because no files being used by the Deployment are placed together. Finally Oracle has divided the OGG binaries from the configuration, traces and logs files. Thanks Oracle for this feature!

Set the location of the deployment to /opt/gg/G123ASIA. It’s better to leave all the subdirectories with default values:

Set the environment variables to:

  • Oracle Home: /opt/db/12.2.0.1
  • LD_LIBRARY_PATH: /opt/gg/12.3.0.ora12ma/lib:/opt/gg/12.3.0.ora12ma/install/lib:/opt/gg/12.3.0.ora12ma/oui/lib/linux64:/opt/db/12.2.0.1/lib:
  • TNS_ADMIN: /opt/db/12.2.0.1/network/admin
  • ORACLE_SID: O122ASIA

Omitting some of the variables may (like TNS_ADMIN) will cause strange errors. OGG has no default for that variable.

The account will be used for both – connecting to the Service Manager and the Deployment. It will also be used later to create a second Deployment and attach to the Service Manager. Set the user will be admingg and password adminPWD1.

To make this configuration easier – uncheck all encryption options:

Since all servers from the deployment are independent – they need 3 listener ports. Set the port values to:

  • Administration Server Port: 7001
  • Distribution Server Port: 7002
  • Receiver Server Port: 7003

The last parameter is the default user that will be used in GLOBALS with ggschema parameter: choose the default GGADMIN user:

Summary of the installation parameters:

Installation is very quick. Just needs a few files to be created. After it is complete:

After the installer is finished – the Service Manager and the Deployment servers are running. The processes are up and the network listener is active.

bash-4.4$ ps -ef | grep /opt/gg
oracle 29676 2986 0 21:08 pts/4 00:00:00 /opt/gg/12.3.0.ora12ma/bin/ServiceManager --config /opt/gg/OGGSM/var/temp/ServiceManager-config.dat --force
oracle 29765 29676 0 21:08 ? 00:00:00 /opt/gg/12.3.0.ora12ma/bin/adminsrvr --config /opt/gg/OGGSM/var/temp/G123ASIA-adminsrvr-config.dat --force --quiet --deployment G123ASIA
oracle 29767 29676 0 21:08 ? 00:00:00 /opt/gg/12.3.0.ora12ma/bin/distsrvr --config /opt/gg/OGGSM/var/temp/G123ASIA-distsrvr-config.dat --force --quiet --deployment G123ASIA
oracle 29769 29676 0 21:08 ? 00:00:00 /opt/gg/12.3.0.ora12ma/bin/recvsrvr --config /opt/gg/OGGSM/var/temp/G123ASIA-recvsrvr-config.dat --force --quiet --deployment G123ASIA
oracle 30924 24205 0 21:09 pts/4 00:00:00 grep /opt/gg

bash-4.4$ netstat -apn | grep LISTEN | grep tcp | grep 70
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp 0 0 192.168.0.30:4470 0.0.0.0:* LISTEN - 
tcp 0 0 0.0.0.0:7000 0.0.0.0:* LISTEN 29676/ServiceManage 
tcp 0 0 0.0.0.0:7001 0.0.0.0:* LISTEN 29765/adminsrvr 
tcp 0 0 0.0.0.0:7002 0.0.0.0:* LISTEN 29767/distsrvr 
tcp 0 0 0.0.0.0:7003 0.0.0.0:* LISTEN 29769/recvsrvr

What is worth notice – even though the configuration assistant asked for the host name – the processes are listening on 0.0.0.0 interface, not the interface specified for the installer.

[Update, 2017.11.23]

As Tanyi noticed in the comment – you might need to start the Service Manager manually. This could happen if the host is rebooted. To start it run:

cd /opt/gg/OGGSM/bin
./startSM.sh

2.2. Deployment for Oracle 11g

Leave the console with environment settings for Oracle 12c open and run a second console that would launch the Configuration Assistant for Oracle 11g:

export ORACLE_HOME=/opt/db/11.2.0.4
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH}
export OGG_HOME=/opt/gg/12.3.0.ora11ma
export TNS_HOME=/opt/db/11.2.0.4/network/admin
cd ${OGG_HOME}/bin
./oggca.sh

Choose Existing Service Manager, host hostogg and port 7000:

Choose to Add a new GoldenGate deployment.

Set the name of the OGG 11g deployment to G123AFRO and the location of binaries to /opt/gg/12.3.0.ora11ma:

Set the location of the deployment to /opt/gg/G123AFRO. Leave all the subdirectories with default values:

Set the environment variables to (don’t forget TNS_ADMIN!):

  • Oracle Home: /opt/db/11.2.0.4
  • LD_LIBRARY_PATH: /opt/gg/12.3.0.ora11ma/lib:/opt/gg/12.3.0.ora11ma/install/lib:/opt/gg/12.3.0.ora11ma/oui/lib/linux64:/opt/db/11.2.0.4/lib:
  • TNS_ADMIN: /opt/db/11.2.0.4/network/admin
  • ORACLE_SID: O112AFRO

The configuration assistant asks for the user and password. Enter the credentials same as for previously created Service Manger. It might be confusing that the password has to be entered twice, since it is to be verified by the previously created instance. The verification of the password is performed at the end of the wizard and if the password is incorrect the whole process will fail (and has to be started from scratch):

Unselect encryption:

Set 3 ports to:

  • Administration Server Port: 7010
  • Distribution Server Port: 7011
  • Receiver Server Port: 7012

Set the schema to GGADMIN:

A brief summary is:

The setup is done:

The second Deployment is up and running, what can be verified with top & netstat:

bash-4.4$ netstat -apn | grep LISTEN | grep 70
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:7011 0.0.0.0:* LISTEN 21478/adminsrvr 
tcp 0 0 0.0.0.0:7012 0.0.0.0:* LISTEN 21480/distsrvr 
tcp 0 0 0.0.0.0:7013 0.0.0.0:* LISTEN 21482/recvsrvr 
tcp 0 0 0.0.0.0:7000 0.0.0.0:* LISTEN 16211/ServiceManage 
tcp 0 0 0.0.0.0:7001 0.0.0.0:* LISTEN 11700/adminsrvr 
tcp 0 0 0.0.0.0:7002 0.0.0.0:* LISTEN 11702/distsrvr 
tcp 0 0 0.0.0.0:7003 0.0.0.0:* LISTEN 11704/recvsrvr 
unix 2 [ ACC ] STREAM LISTENING 29708 - /tmp/.ICE-unix/1363
unix 2 [ ACC ] STREAM LISTENING 29707 - @/tmp/.ICE-unix/1363

bash-4.4$ ps -ef | grep /opt/gg
oracle 11700 2986 0 05:41 ? 00:00:02 /opt/gg/12.3.0.ora12ma/bin/adminsrvr --config /opt/gg/OGGSM/var/temp/G123ASIA-adminsrvr-config.dat --force --quiet --deployment G123ASIA
oracle 11702 2986 0 05:41 ? 00:00:01 /opt/gg/12.3.0.ora12ma/bin/distsrvr --config /opt/gg/OGGSM/var/temp/G123ASIA-distsrvr-config.dat --force --quiet --deployment G123ASIA
oracle 11704 2986 0 05:41 ? 00:00:04 /opt/gg/12.3.0.ora12ma/bin/recvsrvr --config /opt/gg/OGGSM/var/temp/G123ASIA-recvsrvr-config.dat --force --quiet --deployment G123ASIA
oracle 16211 2986 0 05:49 pts/11 00:00:02 /opt/gg/12.3.0.ora12ma/bin/ServiceManager
oracle 21478 16211 0 05:57 ? 00:00:00 /opt/gg/12.3.0.ora11ma/bin/adminsrvr --config /opt/gg/OGGSM/var/temp/G123AFRO-adminsrvr-config.dat --force --quiet --deployment G123AFRO
oracle 21480 16211 0 05:57 ? 00:00:00 /opt/gg/12.3.0.ora11ma/bin/distsrvr --config /opt/gg/OGGSM/var/temp/G123AFRO-distsrvr-config.dat --force --quiet --deployment G123AFRO
oracle 21482 16211 0 05:57 ? 00:00:00 /opt/gg/12.3.0.ora11ma/bin/recvsrvr --config /opt/gg/OGGSM/var/temp/G123AFRO-recvsrvr-config.dat --force --quiet --deployment G123AFRO
oracle 23202 14614 0 05:59 pts/11 00:00:00 grep /opt/gg

3.Database preparation

Below is a setup of minimal database parameters to run OGG. Do not use user account with DBA role since this is a very bad habit to use even for testing environments. Only the required rights should be granted.

3.1. Database O122ASIA set up

The database configuration script for Oracle 12c:

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE FORCE LOGGING;
ALTER SYSTEM SWITCH LOGFILE;
shutdown immediate
startup mount
alter database archivelog;
alter database open;
alter system set enable_goldengate_replication=true;
alter system set streams_pool_size = 1000m;

-- the rest does not require sys account:
CREATE TABLESPACE JAN DATAFILE SIZE 104857600 AUTOEXTEND ON NEXT 104857600 BLOCKSIZE 8192;
CREATE TABLESPACE GGADMIN DATAFILE SIZE 10485760 AUTOEXTEND ON NEXT 10485760 BLOCKSIZE 8192;

CREATE USER JAN IDENTIFIED BY janpwd DEFAULT TABLESPACE "JAN" TEMPORARY TABLESPACE "TEMP";
ALTER USER JAN QUOTA UNLIMITED ON JAN;
GRANT CONNECT TO JAN;
GRANT RESOURCE TO JAN;

CREATE USER GGADMIN IDENTIFIED BY ggpwd DEFAULT TABLESPACE "GGADMIN" TEMPORARY TABLESPACE "TEMP";
ALTER USER GGADMIN QUOTA UNLIMITED ON GGADMIN;
GRANT CONNECT TO GGADMIN;
GRANT RESOURCE TO GGADMIN;
GRANT ALTER ANY TABLE TO GGADMIN;
exec dbms_goldengate_auth.grant_admin_privilege('GGADMIN');

create table JAN.table1 (
  a numeric(10),
  b varchar2(20)
);
alter table JAN.table1 add constraint table1_pk primary key(a)

After the setup is done the ALTER ANY TABLE grant (required for ADD TRANDATA) can be revoked.

3.2. Database O112AFRO set up

Setup script for target database for Oracle 11g:

alter system set enable_goldengate_replication=true;
alter system set streams_pool_size = 1000m;

CREATE TABLESPACE JAN DATAFILE SIZE 104857600 AUTOEXTEND ON NEXT 104857600 BLOCKSIZE 8192;
CREATE TABLESPACE GGADMIN DATAFILE SIZE 10485760 AUTOEXTEND ON NEXT 10485760 BLOCKSIZE 8192;

CREATE USER JAN IDENTIFIED BY janpwd DEFAULT TABLESPACE "JAN" TEMPORARY TABLESPACE "TEMP";
ALTER USER JAN QUOTA UNLIMITED ON JAN;
GRANT CONNECT TO JAN;
GRANT RESOURCE TO JAN;

CREATE USER GGADMIN IDENTIFIED BY ggpwd DEFAULT TABLESPACE "GGADMIN" TEMPORARY TABLESPACE "TEMP";
ALTER USER GGADMIN QUOTA UNLIMITED ON GGADMIN;
GRANT CONNECT TO GGADMIN;
GRANT RESOURCE TO GGADMIN;
grant select on "_DBA_APPLY_PROGRESS" to ggadmin;
exec dbms_goldengate_auth.grant_admin_privilege('GGADMIN');
grant select any dictionary to GGADMIN;
alter system set streams_pool_size = 1000m;

create table JAN.table1 (
  a numeric(10),
  b varchar2(20)
);
alter table JAN.table1 add constraint table1_pk primary key(a);
grant insert, update, delete, select on JAN.table1 to GGADMIN;

Two of the grants are interesting:

grant select on "_DBA_APPLY_PROGRESS" to ggadmin;
grant select any dictionary to GGADMIN;

The grants are not mentioned by the documentation as being required. But without them the Replicat process will not start (details later).

4. Extract configuration

From now on the rest of the configuration can be done using the web interface. Open browser with url: http://hostogg:7001/ and login using admingg/adminPWD1 credentials:

Next click on the upper left corner and from the menu choose Configuration:

The credential store has to be created. Click on the (+) and enter the following data:

  • Alias: GGADMIN_O122ASIA
  • User ID: ggadmin@O122ASIA
  • Password: ggpwd

Click Submit.

Next click on the right side icon – Log in to database.

The next step is to create the TRANDATA. Click the (+) next to the Trandata option:

Enter table details, name: JAN.table1 and click Submit.

Next go to Overview tab (menu on the left) and click to add new Extract using the (+) icon:

Choose Integrated Extract:

Enter parameters:

  • Process name: easia
  • Credentialstore domain: OracleGoldenGate
  • Credential Alias: GGADMIN_O122ASIA
  • Begin: Now
  • Trail Name: ea

Add the table to the list by adding to the end of the parameter file:

TABLE JAN.table1

And finish the creation clicking Create and Register:

Creating Extract process might take some time. Once it is completed it should be up an running:

Since the Extract process is up and running, generate some traffic on the source database server. On O122ASIA run SQL script:

insert into JAN.table1 values (1, 'val1');
commit;

We are not yet replicating the data, just checking if the Extract process works. You might notice that some data appeared in file /opt/gg/G123ASIA/var/lib/data/ea000000000

4.1. Configuring Integrated Extract on Oracle 12.1.0.2

It is worth mentioning that trying to configure Extract process with the Oracle 12.1.0.2 database fails. An error message appears like this:

The message is:

Error:
Code: OGG-08100
Severity: INFO
Title: REPLICAT (Integrated) added.
Code: OGG-06594
Severity: INFO
Title: Replicat RASIA has been altered. Even the start up position might be updated, duplicate suppression remains active in next startup. To override duplicate suppression, start RASIA with NOFILTERDUPTRANSACTIONS option.
Code: OGG-08100
Severity: INFO
Title: REPLICAT (Integrated) altered.
Code: OGG-00945
Severity: WARNING
Title: Startup of REPLICAT RASIA failed (No additional details)
Code: OGG-00975
Severity: INFO
Title: REPLICAT RASIA starting
Code: OGG-08100
Severity: INFO
Title: Deleted REPLICAT RASIA.

Probably Oracle 12.1.0.2 database is not yet certified with OGG 12.3 Microservices Edition. The problem is probably not related to grants as the operation fails even if the database user has DBA role. Actually OGG MA calls different SQL commands than OGG Classic while registering and creating the Extract process.

5. Pump configuration

I’m intentionally using OGG Classic Architecture terminology here to easier identify the task for someone who has used OGG earlier. Instead of Pump process you create a Path in the Distribution Server. Connect to http://hostogg:7002/ and click (+) sign next to the path list:

Enter parameters for Path:

  • Path name: pasia
  • Source: Extract, ea, ogg
  • Target: hostogg, 7012, pa
  • Begin: now

Next click Create and Run.

The path creation can take a few seconds. The result should look like that:

Check on the Receiver site if the Path has been created properly. Log in to http://hostogg:7012/ using admingg/adminPWD1 credentials:

The target server should see some incoming data from the source:

A trail file should appear on the target Deployment (G123AFRO). At this point check that a file appeared: /opt/gg/G123AFRO/var/lib/data/pa000000000

Put another transaction and check if the size and time stamp of trail file changed. Run on O122ASIA:

insert into JAN.table1 values (2, 'val2');
commit;

6. Replicat configuration

Go to the Admin Server: http://hostogg:7010/ and go to Configuration tab. Next click (+) to add credential store:

Enter details:

  • Alias: GGADMIN_O112AFRO
  • User ID: ggadmin@O112AFRO
  • Password: ggpwd

Click Submit:

Log in to the database using far most right icon (like before with G123ASIA):

Go back to Overview tab and Create Replicat process – click on (+):

Select Integrated Replicat:

Enter parameters:

  • Process name: rafro
  • Credentialstore domain: OracleGoldenGate
  • Credential Alias: GGADMIN_O112AFRO
  • Begin: Position in Log
  • Transaction Log Sequence Number: 0
  • Transaction Log RBA Offset: 0
  • Trail Name: pa

Click Next:

Replace:

MAP *.*, TARGET *.*;

with:

MAP JAN.table1, TARGET JAN.table1;

Next click Create and Register. A new and working Replicat process should appear in the list:

Test the replication on O122ASIA:

insert into JAN.table1 values (3, 'val3');
commit;

And on O112AFRO all rows should be present:

SQL> select * from JAN.table1;

A          B
---------- ------------------------------------------------------------
 1 val1
 2 val2
 3 val3

The online replication is working! This concludes the configuration of replication using Oracle GoldenGate Microservices Architecture for Oracle.

Now you can experiment with the environment and check different features by yourself.

7. Errors

During the installation you might run into many errors. Also warning appear all the time with strange messages (like unable to create log file, which exists). I have listed just a few of them which can cause problems:

In the log you might find in the /opt/gg/G123AFRO/var/log/ER-events.log file:

2017-09-04T19:31:32.427+0200 ERROR OGG-00870 Oracle GoldenGate Delivery for Oracle, RAFRO.prm: Database error 942 (ORA-00942: table or view does not exist SQL select transaction_id, commit_position from SYS."_DBA_APPLY_PROGRESS" where apply# = :1 and (1 = (case when (utl_raw.length(commit_position) = :2) and commit_position >= :3 then 1 when (utl_raw.length(commit_position) > :4) then 1 else 0 end))).
2017-09-04T19:31:32.427+0200 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, RAFRO.prm: PROCESS ABENDING.

Then it means that the grant to select from SYS._DBA_APPLY_PROGRESS is missing.

The message:

2017-09-04T19:36:40.699+0200 WARNING OGG-00869 Oracle GoldenGate Delivery for Oracle, RAFRO.prm: Error (942, P$C��.) start select in getColAttrsFromCatalog.
2017-09-04T19:36:40.704+0200 ERROR OGG-00665 Oracle GoldenGate Delivery for Oracle, RAFRO.prm: OCI Error describe for query (status = 942-ORA-00942: table or view does not exist), SQL<SELECT c.name, c.col#,
 c.segcol#, c.intcol#, c.type#, c.length, 1 - c.null$ nullable, c.precision#, c.scale, c.charsetid, c.charsetform, c.property, tc.data_type, tc.data_type_owner, tc.data_precision, tc.data_length, tc.char_u
sed, tc.char_length, opq.flags, (SELECT max(segcol#) FROM sys.col$ sc WHERE sc.obj# = o.obj# and sc.col# = c.col# and c.segcol# = 0) storage_segcol, 0 FROM sys.user$ u, sys.obj$ o, sys.col$ c, dba_tab_c
ols tc, sys.opqtype$ opq WHERE u.user# = o.owner# AND u.name = tc.owner AND tc.owner = :owner_name AND o.obj# = c.obj# AND o.name = tc.table_name AND tc.table_name = :table_name AND c.intcol# = tc.inte
rnal_column_id AND c.obj# = opq.obj# (+) AND c.intcol# = opq.intcol# (+) AND 1 = opq.type (+) AND o.type# in (2, 3, 4) ORDER BY c.intcol# >.
2017-09-04T19:36:43.713+0200 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, RAFRO.prm: PROCESS ABENDING.

To avoid this error I have created grant to select from dictionaries. Actually less privileges might solve the issue.

 

16 thoughts on “Oracle GoldenGate Microservices Architecture 12.3 quick set up tutorial”

  1. I like your post here, regarding the DB12.1 failed to register issue, it happened on specific version of database under 12.1 only, you may patch it to fix it, thanks.

  2. This was awesome . I like the presentation. I realized that you failed to mention the fact that we have to go the Service manager home which is (/OGGSM/bin) and to the bin directory to start the service manager

    startSM.sh script

    I had to start this before running the gui , without which i was faced with several failures .

    Thanks very Much

  3. Hi,

    Have you faced any installation issues like

    2018-01-10T01:02:46.510+05:30 | SEVERE | > GET https://192.168.1.4:7000/services/v2/deployments HTTP/1.1
    2018-01-10T01:02:46.510+05:30 | SEVERE | > Accept-Charset: UTF-8
    2018-01-10T01:02:46.511+05:30 | SEVERE | > Accept: application/json
    2018-01-10T01:02:46.511+05:30 | SEVERE | > Content-Type: application/json
    2018-01-10T01:02:46.511+05:30 | SEVERE | >
    2018-01-10T01:02:46.518+05:30 | SEVERE | Rest call exception: Connection failed for URL ‘https://192.168.1.4:7000/services/v2/deployments’ – Connection refused (Connection refused)
    java.net.ConnectException: Connection refused (Connection refused)
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at sun.n

    firewall service is disabled
    selinux is disabled
    still facing issue can you suggest

    1. Hi @Pavan,
      A connection refused error shows that this problem could be related to network issues. I would first check if the network connection is open/there are no network issues. You could try to test it with telnet to check if you are able to connect to the specific port. You could test with telnet from different network locations.
      HTH,
      Adam

      1. Hi,

        Thank-you for you reply, I have tested on oracle lnux 5,6 and 7 versions 64 bit on VMware, with java (JDK) 8 its keeps failing with same error

        1. iptables are disabled
        2. firewall disabled
        3. se Linux disabled

        still its fails with same issue

        java.net.ConnectException: Connection refused

        secondly for every other port in Linux it fails not sure why its happening

        root@myhost ~]# telnet 192.168.1.2 22
        Trying 192.168.1.2…
        Connected to myhost.home.com (192.168.1.2).
        Escape character is ‘^]’.
        SSH-2.0-OpenSSH_4.3
        ^C
        Connection closed by foreign host.
        [root@myhost ~]# telnet 192.168.1.2 7000
        Trying 192.168.1.2…
        telnet: connect to address 192.168.1.2: Connection refused
        telnet: Unable to connect to remote host: Connection refused
        [root@myhost ~]# telnet 192.168.1.2 8000
        Trying 192.168.1.2…
        telnet: connect to address 192.168.1.2: Connection refused
        telnet: Unable to connect to remote host: Connection refused

        Not sure whats wrong with every other ports

  4. Hi Adam,

    Thanks for sharing the steps very informative. I am facing issues while trying to login into service manager for 11g database. it is just throwing me out of the portal with the below error in notification tab.

    OGG-12604 | The authorization information for ‘GET /services/v2/currentuser’ is missing, invalid or not properly formed.
    OGG-12604 | The authorization information for ‘GET /services/v2/targets’ is missing, invalid or not properly formed.
    OGG-12604 | The authorization information for ‘GET /services/v2/summary’ is missing, invalid or not properly formed.

    1. Hi Imran, I did not have time to look into your issue. I do not have any OGG MA configuration running so it is difficult to help you. Have you tried looking for help with support or on the Community Oracle forum? I think that it would be the best place to start. Good luck with your OGG instances, Adam

  5. If you are interested in viewing the Performance Metrics server , during the installation of the micro service , make sure you enable monitoring on the Gui interface . This will enable the service manager to display the performance metrics server

  6. Pingback: writeaessay

  7. To solve the problem on 12.2, you need to install patch.
    For version 12.1.0.2 it was patch p20448066_121020_Linux-x86-64.zip. See My Oracle Support Document 244241.1

  8. Thanks for the article. It would be nice to add a line at the beginning of each section saying “the following is to be done on host xxx”. Some screenshots show hostname such as demawend. But only hostdb and hostogg are mentioned at the very beginning. Oracle official documentation is also missing such info. So reading it is confusing.

  9. Thanks for the article. It would be nice to add a line at the beginning of each section saying “the following is to be done on host xxx”. Some screenshots show hostname such as demawend. But only hostdb and hostogg are mentioned at the very beginning. Oracle official documentation is also missing such info. So reading it is confusing.

Leave a Comment

Your email address will not be published. Required fields are marked *