{"id":5422,"date":"2015-09-01T14:48:05","date_gmt":"2015-09-01T12:48:05","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/"},"modified":"2015-09-01T14:48:05","modified_gmt":"2015-09-01T12:48:05","slug":"setting-up-a-sample-replication-with-goldengate","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/","title":{"rendered":"Setting up a sample replication with GoldenGate"},"content":{"rendered":"<p>The first post in this series outlined on how to install and patch Oracle GoldenGate to the latest release:<\/p>\n<ul>\n<li><a href=\"http:\/\/dbi-services.com\/blog\/installing-and-patching-oracle-goldengate-12c-to-the-latest-release\/\" target=\"_blank\" rel=\"noopener\">Installing and patching Oracle GoldenGate 12c to the latest release<\/a><\/li>\n<\/ul>\n<p>In this post I&#8217;ll look in how to prepare the databases and how to setup GoldenGate for a first sample replication between two Oracle 12.1.0.2 databases.<\/p>\n<p>My test setup is as follows:<\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Hostname<\/b><\/td>\n<td><b>Database<\/b><\/td>\n<td><b>Type<\/b><\/td>\n<\/tr>\n<tr>\n<td>oelgg1<\/td>\n<td>DB1<\/td>\n<td>Source<\/td>\n<\/tr>\n<tr>\n<td>oelgg2<\/td>\n<td>DB2<\/td>\n<td>Target<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<br \/>\nThe idea is that GoldenGate replicates a table in the HR schema in oelgg1\/DB1 to oelgg2\/DB2. As, in case of replication, you do not want to loose any transaction at least the source database needs to be set in force logging mode. Additionally then database needs to be in archive log mode so that GoldenGate will be able to read the archived log files in case replication fails for some time.<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\nalter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST' scope=both;\nalter system set enable_goldengate_replication=TRUE scope=both;\nshutdown immediate;\nstartup mount\nalter database archivelog;\nalter database open;\nalter system switch logfile;\nalter database force logging;\nalter database add supplemental log data;\narchive log list;\n<\/pre>\n<p>The force logging mode captures transactions even if nologging is specified for some operations by the end users or applications. The <a href=\"http:\/\/docs.oracle.com\/database\/121\/SUTIL\/GUID-D857AF96-AC24-4CA1-B620-8EA3DF30D72E.htm#SUTIL1582\" target=\"_blank\" rel=\"noopener\">supplemantal log data<\/a> is necessary so that GoldenGate is able to extract committed transactions out of the redo logs.<\/p>\n<p>The next step is to create a GoldenGate admin user both databases:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\ncreate user ggadmin identified by \"manager\" default tablespace users temporary tablespace temp;\ngrant create session, dba to ggadmin;\nexec dbms_goldengate_auth.grant_admin_privilege ('GGADMIN');\n<\/pre>\n<p>Note that the dba role granted to ggadmin is just a convenient way for getting all required privileges. For a detailed list of required privileges check the <a href=\"https:\/\/docs.oracle.com\/goldengate\/1212\/gg-winux\/GIORA\/user_assignment.htm#GIORA550\" target=\"_blank\" rel=\"noopener\">documentation<\/a>.<\/p>\n<p>As GoldenGate uses <a href=\"http:\/\/docs.oracle.com\/goldengate\/1212\/gg-winux\/GIORA\/setup.htm#GIORA374\" target=\"_blank\" rel=\"noopener\">flashback query to create before images of some data types<\/a> we need to enable this:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\ngrant flashback any table to ggadmin;\nalter system set undo_retention=86400 scope=both;\n<\/pre>\n<p>Before we proceed further you should test if you can connect from the source database to the target database and vice versa:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n$ sqlplus ggadmin\/manager@DB1\n$ sqlplus ggadmin\/manager@DB2\n<\/pre>\n<p>Now is a good time to create a wallet and store the credentials for the ggamin user. This is done directly with the GoldenGate command line interpreter ggsci (do this for the source and the target database):<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n$ \/u01\/app\/oracle\/product\/12.1.0\/gg_12121\/ggsci\n\nOracle GoldenGate Command Interpreter for Oracle\nVersion 12.1.2.1.9 21381983 OGGCORE_12.1.2.1.0OGGBP_PLATFORMS_150728.2027_FBO\nLinux, x64, 64bit (optimized), Oracle 12c on Jul 29 2015 04:52:08\nOperating system character set identified as UTF-8.\n\nCopyright (C) 1995, 2015, Oracle and\/or its affiliates. All rights reserved.\n\nGGSCI (oelgg1.it.dbi-services.com) 1&gt; create wallet\n\nCreated wallet at location 'dirwlt'.\n\nOpened wallet at location 'dirwlt'.\n\nGGSCI (oelgg1.it.dbi-services.com) 2&gt; add credentialstore\n\nCredential store created in .\/dircrd\/.\n\nGGSCI (oelgg1.it.dbi-services.com) 4&gt; alter credentialstore add user ggadmin@DB1 alias DB1 domain admin\nPassword: \n\nCredential store in .\/dircrd\/ altered.\n\nGGSCI (oelgg1.it.dbi-services.com) 5&gt; info credentialstore domain admin\n\nReading from .\/dircrd\/:\n\nDomain: admin\n\n  Alias: ggadmin_source\n  Userid: ggadmin\n<\/pre>\n<p>In my test setup I have installed the Oracle sample schemas and will use the HR schema for replication. Now is the time to add supplemental log data to the tables we want to replicate. This is achieved by using the GoldenGate <a href=\"http:\/\/docs.oracle.com\/goldengate\/1212\/gg-winux\/GWURF\/ggsci_commands067.htm#GWURF268\" target=\"_blank\" rel=\"noopener\">trandata<\/a> command.<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nGGSCI (oelgg1.it.dbi-services.com) 2&gt; dblogin userid ggadmin@DB1\nPassword: \nSuccessfully logged into database.\n\nGGSCI (oelgg1.it.dbi-services.com as ggadmin@DB1) 3&gt; add trandata hr.employees\n\nLogging of supplemental redo data enabled for table HR.EMPLOYEES.\nTRANDATA for scheduling columns has been added on table 'HR.EMPLOYEES'.\n<\/pre>\n<p>Before we do any additional configuration make sure the GoldenGate manager is started on both hosts:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nGGSCI (oelgg1.it.dbi-services.com as ggadmin@DB1) 4&gt; info all\n\nProgram     Status      Group       Lag at Chkpt  Time Since Chkpt\n\nMANAGER     STOPPED                                           \n\n\nGGSCI (oelgg1.it.dbi-services.com as ggadmin@DB1) 5&gt; start manager\nManager started.\n\n\nGGSCI (oelgg1.it.dbi-services.com as ggadmin@DB1) 6&gt; info manager\n\nManager is running (IP port oelgg1.it.dbi-services.com.7809, Process ID 17810).\n\n\nGGSCI (oelgg1.it.dbi-services.com as ggadmin@DB1) 7&gt; \n<\/pre>\n<p>We can start the manager because oui created a manager configuration file when we installed GoldenGate. The configuration file is located in the dirprm sub-directory of the GoldenGate installation:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\noracle@oelgg1:\/u01\/app\/oracle\/product\/12.1.0\/gg_12121\/ [DB1] ls -la dirprm\ntotal 16\ndrwxr-xr-x.  2 oracle oinstall   37 Aug 29 14:03 .\ndrwxr-xr-x. 30 oracle oinstall 4096 Sep  1 08:31 ..\n-rwxr-x---.  1 oracle oinstall  103 Aug  7  2014 jagent.prm\n-rw-r--r--.  1 oracle oinstall    9 Aug 29 14:03 mgr.prm\n<\/pre>\n<p>Using the ggsci interpreter this file can be edited with:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nGGSCI (oelgg1.it.dbi-services.com) 11&gt; edit params mgr\n<\/pre>\n<p>I&#8217;ll add the following line to the manager configuration and restart the manager afterwards:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nPURGEOLDEXTRACTS .dirdat\/aa*, USECHECKPOINTS, MINKEEPHOURS 2\n<\/pre>\n<p>This tells GoldenGate to purge trail files once they have been <a href=\"http:\/\/docs.oracle.com\/goldengate\/1212\/gg-winux\/GWURF\/gg_parameters123.htm#GWURF1025\" target=\"_blank\" rel=\"noopener\">processed and saves disk space<\/a>. Trail files can be become huge.<\/p>\n<p>Now that the managers are configured we can continue with configuring the capture\/extract process:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nGGSCI (oelgg1.it.dbi-services.com) 2&gt; edit params extract1\n<\/pre>\n<p>The following parameters are added to the extract configuration file:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nEXTRACT extract1\nUSERIDALIAS DB1 DOMAIN admin\nEXTTRAIL .\/dirdat\/aa\nTABLE hr.employees;\n<\/pre>\n<p>Having the parameter file ready we can now create the capture process:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nGGSCI (oelgg1.it.dbi-services.com) 3&gt; add extract extract1, integrated tranlog, begin now\nEXTRACT added.\nGGSCI (oelgg1.it.dbi-services.com) 4&gt; info all\n\nProgram     Status      Group       Lag at Chkpt  Time Since Chkpt\n\nMANAGER     RUNNING                                           \nEXTRACT     STOPPED     EXTRACT1    00:00:00      00:00:45    \n<\/pre>\n<p>Note that the extract1 is still stopped. Lets create the local trail for the extract:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nGGSCI (oelgg1.it.dbi-services.com) 6&gt; add exttrail .\/dirdat\/aa, extract extract1\nEXTTRAIL added.\n<\/pre>\n<p>For the <a href=\"http:\/\/docs.oracle.com\/goldengate\/1212\/gg-winux\/GWUAD\/wu_changesync.htm#GWUAD955\" target=\"_blank\" rel=\"noopener\">integrated capture<\/a> mode to work we now must register the capture process with the database:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nGGSCI (oelgg1.it.dbi-services.com) 1&gt; dblogin useridalias DB1 domain admin\nSuccessfully logged into database.\n\nGGSCI (oelgg1.it.dbi-services.com as ggadmin@DB1) 2&gt; register extract extract1 database\nExtract EXTRACT1 successfully registered with database at SCN 1706387.\n<\/pre>\n<p>Is it recommended to use the GoldenGate <a href=\"http:\/\/docs.oracle.com\/goldengate\/1212\/gg-winux\/GWUAD\/wu_about_gg.htm#GWUAD112\" target=\"_blank\" rel=\"noopener\">data pump process<\/a> to isolate the primary extract process from network latency. So, lets configure this:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nGGSCI (oelgg1.it.dbi-services.com as ggadmin@DB1) 5&gt; edit params datapmp1\n<\/pre>\n<p>The following parameters are added to the data pump configuration file:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nEXTRACT datapmp1\nUSERIDALIAS DB1 domain admin\nRMTHOST oelgg2, MGRPORT 7809\nRMTTRAIL .\/dirdat\/bb\nTABLE hr.employees;\n<\/pre>\n<p>Before starting the capture process we need to assign the datapump to the extract1:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nGGSCI (oelgg1.it.dbi-services.com) 2&gt; add extract datapmp1, exttrailsource .\/dirdat\/aa begin now\nEXTRACT added.\n\nGGSCI (oelgg1.it.dbi-services.com) 4&gt; add rmttrail .\/dirdat\/bb extract datapmp1\nRMTTRAIL added.\n<\/pre>\n<p>Finally we can start the extract:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nGGSCI (oelgg1.it.dbi-services.com) 6&gt; start extract extract1\n\nSending START request to MANAGER ...\nEXTRACT EXTRACT1 starting\n\nGGSCI (oelgg1.it.dbi-services.com) 16&gt; start extract datapmp1\n\nSending START request to MANAGER ...\nEXTRACT DATAPMP1 starting\n\nGSCI (oelgg1.it.dbi-services.com) 13&gt; info all\n\nProgram     Status      Group       Lag at Chkpt  Time Since Chkpt\n\nMANAGER     RUNNING                                           \nEXTRACT     RUNNING     DATAPMP1    00:00:00      00:00:37    \nEXTRACT     RUNNING     EXTRACT1    00:00:10      00:00:05    \n<\/pre>\n<p>Both extracts are running which is what we expected. Now the counterpart, the apply\/replicat process must be configured on the the <b>target<\/b> system:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nGGSCI (oelgg2.it.dbi-services.com) 1&gt; edit params replcat1\n<\/pre>\n<p>The parameters to add are:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nREPLICAT replcat1\nUSERIDALIAS DB2 DOMAIN admin\nDISCARDFILE .\/dirdsc\/replcat1.dsc, PURGE\nASSUMETARGETDEFS\nMAP hr.employees, TARGET hr.employees;\n<\/pre>\n<p>As with the capture process on the source database the apply process on the target needs to get registered with the database:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nGGSCI (oelgg2.it.dbi-services.com) 5&gt; dblogin useridalias DB2 domain admin\nSuccessfully logged into database.\n\nGGSCI (oelgg2.it.dbi-services.com as ggadmin@DB2) 6&gt; add replicat replcat1 integrated exttrail .\/dirdat\/bb\nREPLICAT (Integrated) added.\n\nGGSCI (oelgg2.it.dbi-services.com as ggadmin@DB2) 8&gt; start replicat replcat1\n\nSending START request to MANAGER ...\nREPLICAT REPLCAT1 starting\n\nGGSCI (oelgg2.it.dbi-services.com) 15&gt; info all\n\nProgram     Status      Group       Lag at Chkpt  Time Since Chkpt\n\nMANAGER     RUNNING                                           \nREPLICAT    RUNNING     REPLCAT1    00:00:00      00:05:30    \n\n<\/pre>\n<p>Time to test if the replication really works. On the source database:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nSQL&gt; update hr.employees set PHONE_NUMBER = '000.000.0000' where EMPLOYEE_ID = 199;\n\n1 row updated.\n\nSQL&gt; commit;\n\nCommit complete.\n\nSQL&gt; \n\n<\/pre>\n<p>Was this replicated to the target database? <\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nSQL&gt; select EMPLOYEE_ID,PHONE_NUMBER from hr.employees where EMPLOYEE_ID = 199;\n\nEMPLOYEE_ID PHONE_NUMBER\n----------- --------------------\n\t199 000.000.0000\n\nSQL&gt; select instance_name from v$instance;\n\nINSTANCE_NAME\n----------------\nDB2\n<\/pre>\n<p>Cool. The first GoldenGate replication is up and running. Hope this helps.<\/p>\n<p>In the next post I&#8217;ll look into how to setup a replication when we need to stage the tables on the target before starting the replication. In the setup of this post both tables (hr.employees) had the same data when the replication started. In real life you&#8217;d use e.g. data pump to populate the target database and start the replication afterwards. That is what the next post will be about.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The first post in this series outlined on how to install and patch Oracle GoldenGate to the latest release: Installing and patching Oracle GoldenGate 12c to the latest release In this post I&#8217;ll look in how to prepare the databases and how to setup GoldenGate for a first sample replication between two Oracle 12.1.0.2 databases. [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[328,96],"type_dbi":[],"class_list":["post-5422","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","tag-goldengate","tag-oracle"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Setting up a sample replication with GoldenGate - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Setting up a sample replication with GoldenGate\" \/>\n<meta property=\"og:description\" content=\"The first post in this series outlined on how to install and patch Oracle GoldenGate to the latest release: Installing and patching Oracle GoldenGate 12c to the latest release In this post I&#8217;ll look in how to prepare the databases and how to setup GoldenGate for a first sample replication between two Oracle 12.1.0.2 databases. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-09-01T12:48:05+00:00\" \/>\n<meta name=\"author\" content=\"Daniel Westermann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@westermanndanie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Westermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"Setting up a sample replication with GoldenGate\",\"datePublished\":\"2015-09-01T12:48:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/\"},\"wordCount\":723,\"commentCount\":0,\"keywords\":[\"GoldenGate\",\"Oracle\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/\",\"name\":\"Setting up a sample replication with GoldenGate - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2015-09-01T12:48:05+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Setting up a sample replication with GoldenGate\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\",\"name\":\"Daniel Westermann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"caption\":\"Daniel Westermann\"},\"description\":\"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.\",\"sameAs\":[\"https:\/\/x.com\/westermanndanie\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Setting up a sample replication with GoldenGate - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/","og_locale":"en_US","og_type":"article","og_title":"Setting up a sample replication with GoldenGate","og_description":"The first post in this series outlined on how to install and patch Oracle GoldenGate to the latest release: Installing and patching Oracle GoldenGate 12c to the latest release In this post I&#8217;ll look in how to prepare the databases and how to setup GoldenGate for a first sample replication between two Oracle 12.1.0.2 databases. [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/","og_site_name":"dbi Blog","article_published_time":"2015-09-01T12:48:05+00:00","author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"Setting up a sample replication with GoldenGate","datePublished":"2015-09-01T12:48:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/"},"wordCount":723,"commentCount":0,"keywords":["GoldenGate","Oracle"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/","url":"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/","name":"Setting up a sample replication with GoldenGate - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2015-09-01T12:48:05+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/setting-up-a-sample-replication-with-goldengate\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Setting up a sample replication with GoldenGate"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66","name":"Daniel Westermann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","caption":"Daniel Westermann"},"description":"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.","sameAs":["https:\/\/x.com\/westermanndanie"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/5422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=5422"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/5422\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=5422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=5422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=5422"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=5422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}