Skip navigation
Dear DBA Frank

Uninstall Golden Gate

Posted by Dear DBA Frank Jun 30, 2020

How to uninstall Golden Gate 12.2.0.1.0 from Linux machines and 12cR1 Oracle databases?

In the OGG_HOME, there is a "deinstall" folder, with a deinstall script: do not run it yet!  There are things to do first!

 

 

Find out where the trail files are:

Trail files are the in:

ll -R /data/****f/dump1/ogg/dirdat/DEVP/

 

Contents of the inventory.xml file before the uninstallation (mine is in /app/oracle/product/ogg/oraInventory/ContentsXML/inventory.xml ):

 

In case you want to reproduce the same OGG extracts or replicats in the future, save the *prm and *obey files that are typîccaly in $OGG_HOME/dirprm:

Now let's stop all Golden Gate activity. Do it on the source and all the destinations!

GGSCI (r****f) 2> stop er*

Once everything (manager, replicats, extracts) are stopped, let's use the Oracle-provided sql scripts to uninstall Golden Gate from the database.

 

Launch SQL*Plus from the OGG_HOME (where the ddl_disable.sql, ddl_remove.sql and marker_remove.sql files are located):

 

SQL> @ddl_disable

ALTER TRIGGER sys .GGS_DDL_TRIGGER_BEFORE DISABLE

*

ERROR at line 1:

ORA-04080: trigger 'GGS_DDL_TRIGGER_BEFORE' does not exist

 

SQL> @ddl_remove.sql

DDL replication removal script.
WARNING: this script removes all DDL replication objects and data.

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.

Enter Oracle GoldenGate schema name:OGGADMIN
Working, please wait ...
Spooling to file ddl_remove_spool.txt

Script complete.

 

 

Exit SQL*Plus then cd to the OGG_HOME/deinstall directory and run deinstall.sh:

 

 

The log should say:

[ogg@r**** deinstall]$ cat /app/oracle/product/ogg/oraInventory/logs/silentInstall2020-06-30_08-09-53PM.log
silentInstall2020-06-30_08-09-53PM.log
Starting deinstall
This deinstallation was successful
End of deinstallations

The REPLICATs are gone:

And all the Golden Gate directory structure is gone from the OGG_HOME:

[ogg@r****f 12.2.0]$ echo $OGG_HOME
/app/oracle/product/ogg/12.2.0
[ogg@rbpsvlrd0f 12.2.0]$ ll
total 0

Check oraInventory and confirm $OGG_HOME has been removed  from inventory.

If the OGG user is not used for anything else, we can drop it:

We can also get rid of the trail files, so as to save disk space:

 

And delete the Oracle Golden Gate Linux user if it's no longer needed:

as root: cat /etc/passwd|grep ogg ; userdel -r ogg ; cat /etc/passwd|grep ogg

 

That's it.

Problem when you don't have enough swap: the deinstall program requires 500MB of swap space.  This is what occurs if you have less than that:

./deinstall.sh

ALERT: Ensure all the processes running from the current Oracle Home are shutdown prior to running this software uninstallation script.

Proceed with removing Oracle GoldenGate home: /app/oracle/product/ogg/12.2.0 (yes/no)? [no]
yes
Starting Oracle Universal Installer...

Checking swap space: 76 MB available, 500 MB required.    Failed <<<<

Some requirement checks failed. You must fulfill these requirements before

continuing with the installation,


Exiting Oracle Universal Installer, log for this session can be found at /app/oracle/product/ogg/oraInventory/logs/installActions2020-06-30_07-07-33PM.log

 

I checked the script and could not find a way to bypass that swap space requirement. So you really must clear swap space, as root :

Between swapoff and swapon, there can elapse a long time, as the data that was in the swap must be transferred to RAM.  The bigger the used space in the swap and the more RAM-starved your OS, the longer it will take.

Then the deinstall program will run successfully as above.

 

I welcome comments/questions/your 2 cents...