You work with GoldenGate then you know that there was tool GoldenGate Director for configuration, deployment, monitoring and management. Really these responsibilities are distributed among development and support. So there should be two tools: for development and for support. Oracle is following this ideology and has created two tools:
- GoldenGate Monitor (or GG plugin for OEM if you are OEM fan) – for management and monitoring
- GoldenGate Studio – for design and deployment
What do we need from development tools? I have the following list in my head:
- WYSIWYG/drag’n’drop interface
- easy moving configuration through the path Dev/QA/Prod
- collective working
GoldenGate has these features. It was created to be great scalable development tool.
Let’s start from architecture prospect. We have:
- GoldenGate instance (just standard GoldenGate installation)
- Monitor Agent (aka jagent)
- GoldenGate Studio (thick GUI client)
- Repository (contains GoldenGate Studio projects)
GoldenGate instance installation
Just install it as usual. You should do additional two steps
1. Check that datastore exists
GGSCI (scgg1.ru.oracle.com) 4> info datastore
2016-07-13T10:35:54Z WARNING OGG-06307 Datastore does not exist.
2. If datastore doesn’t exists stop all GoldenGate processes and create it.
stop mgr !
stop jagent !
GGSCI (scgg1.ru.oracle.com) 19> create datastore
Profile ‘Trace’ added.
2016-07-13T10:39:09Z INFO OGG-06489 Datastore created
GGSCI (scgg1.ru.oracle.com) 20> info datastore
2016-07-13T10:39:13Z INFO OGG-06309 Datastore uses shared memory (SHM) environment files with a starting ID of 0x000001c0.
3. Enable GoldenGate monitoring by adding ENABLEMONITORING to file $GG_HOME/GLOBALS
Monitor agent installation
I’ve described this topic in Configuring GoldenGate agent for ODI and Enterprise Manager (version 12.2). Agent can be installed in any mode – OGGMON or OEM but you should use correct port while configuring connection in GoldenGate Studio. It is better to use OEM mode because it is “silent” mode. If you will choose OGGMON then agent will try to find GoldenGate Monitor and if you don’t have it then it will spam our logfile.
Make sure you installed the last Monitor Agent version.
GoldenGate Studio installation
1. Download last version of GoldenGate Studio (it is 18.104.22.168 for now). Don’t install first RTM version (22.214.171.124).
2. Run GoldenGate Studio installation:
java -jar fmw_126.96.36.199.0_oggstudio.jar
3. Set destination directory for installation then agree to other defaults
4. Run GoldenGate Studio (Studio doesn’t create shortcuts in Windows Start Menu for now)
Install GoldenGate Studio Repository
1. Run RCU to create repository
2. Fill database connection information then choose to install Repository
3. Fill required passwords and agree to other defaults
4. Wait until installation will be finished
Let’s start to use GoldenGate Studio.
Start to use
1. Let’s connect GoldenGate Studio to repository. Click Connect to Repository link and choose to not use wallet (for test only)
2. Create new connection to repository and make it default:
|User (for Studio connection)||SUPERVISOR|
|Password (for Studio connection)||you password|
|User (for Database connection)||DEV12_OGGSTUDIO_REPO|
|Password (for Database connection)||your password|
|Driver List:||Oracle JDBC Driver|
3. So we are here and can start create new project File->New… Then choose Create New Project. Wizard will start
4. Enter appropriate information for project, solution name.
5. Choose solution template. This template is just start point – you can customize it latter. Let’s create unidirectional solution
6. Choose name for Deployment Profile then choose default deployment architecture template (we also can customize it latter)
7. Don’t choose Physical Resources for source target and just skip this page because we hasn’t created connection yet. Also choose to not do initial load and don’t start GoldenGate processes. It is better to do this step manually for now.
8. We just created project and chose logical design for it. GoldenGate Studio should look like this
9. Let’s add some real resources to make it work. First of all we should add two database connections and two GoldenGate instance connections. Let’s choose File->New… Then Create New Data Server Connection. Create two data server connections: for source and target
10. Create two GoldenGate Monitor Agent connections: for source and destination GoldenGate installations. You need some parameters to do this.
|GoldenGate port||Take it from mgr.prm (7809)|
|Agent Username||Take it from Monitor Agent parameter file Config.properties:
|Agent Password||You configured it while running pw_agent_util.sh. See Monitor agent installation|
|Agent Port||Take it from Monitor Agent parameter file Config.properties. This parameter depends on agent mode.
Test connection after entering all parameters. You should get two successful tests
11. You should have 4 created resources to continue
12. Open Deployment Profile to specify objects participating in replication
13. Select DS01 and then choose source database in Data Server Resource (properties panel). Repeat the same step for DS02
Also configure User Alias which will be used by GoldenGate to connect to database (by default GoldenGate Studio uses ggalias). I prefer to use ggadmin alias. This alias should be configured in ggsci console.
15. The last step is to configure mappings. Let’s create mapping. Choose File->New then Mapping Group->Create New Mapping Group in a solution. Name it.
16. Drag tables from Global Resource Library to the source and target side. Then press AutoMap button.
17. Double click target table to do column mapping.
18. Then we should attach the created mapping to already created project. Open project and select replication path on diagram.
19. Add mapping by clicking Plus button
20. Everything is configured. We can do deployment. Right click on Profile and choose Deploy to deploy GoldenGate configuration online or choose “Generate GoldenGate files…” to save configuration in local directory.
GoldenGate Studio is tool with interesting functionality. It is a tool for design, develop and deploy. It has some monitoring and management features but not so many. It can useful for large deployments.