{"id":5363,"date":"2025-03-19T07:00:00","date_gmt":"2025-03-19T04:00:00","guid":{"rendered":"https:\/\/www.dataplatform.gr\/?p=5363"},"modified":"2025-06-08T03:37:53","modified_gmt":"2025-06-08T00:37:53","slug":"pos-mporoyme-na-ayxisoyme-tin-apodosi","status":"publish","type":"post","link":"https:\/\/www.dataplatform.gr\/en\/post-mortem-of-the-apodosis\/","title":{"rendered":"How can we increase performance on Oracle GoldenGate Replicat target with parallelism?"},"content":{"rendered":"<p>If we choose to do it <strong>Initial Load<\/strong> before synchronization via <strong>Replicat<\/strong> of <strong>GoldenGate<\/strong> or simply Replicat has a large amount of data to synchronize, one Replicat thread is not enough.<\/p>\n\n\n\n<p>In this article we will see two ways to run the Replicat process in parallel. One way is through <strong>Classic Replicat with RANGE FILTER which has very good performance at Initial Load<\/strong>The other way is through <strong>Coordinated Replicat<\/strong> <strong>which is recommended for transaction synchronization because it protects against conflicts, blocks and deadlocks <\/strong>as the head Coordinator process coordinates the execution of DDL (ALTER, CREATE) and DML (UPDATE, INSERT, DELETE) actions in the correct order<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Classic Replicat with RANGE FILTER<\/h3>\n\n\n\n<p>In this mode we can do <code>MAP<\/code> and putting <code><strong>RANGE FILTER<\/strong> <\/code>in the tables that are in the parameter file of each Replicat, we can divide them into multiple partitions. This way we can create multiple different Replicat processes, each of which is responsible for applying the specific partition of the table.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"491\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-04-1024x491.jpg\" alt=\"\" class=\"wp-image-5365\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-04-1024x491.jpg 1024w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-04-300x144.jpg 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-04-768x369.jpg 768w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-04-18x9.jpg 18w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-04.jpg 1217w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">01 (docs.oracle.com)<\/figcaption><\/figure>\n\n\n\n<p>This method has excellent performance for use in Initial Load as it consists of massive <code>INSERTS<\/code>. However, we must be careful because this method cannot be used in the second phase of synchronization where we will pass transactions as the fact that DDL (ALTER, CREATE) and DML (UPDATE,INSERT,DELETE) actions are performed does not guarantee that they will be passed in the correct order. For this reason, if we try to pass transactions with this method we will have conflicts, blocks, deadlocks and errors.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Coordinated Replicat<\/strong> <\/h3>\n\n\n\n<p>In this function, by defining during creation that it is a coordinated replica and making <code>MAP<\/code> putting <code><strong>THREADRANGE<\/strong><\/code> in the tables found in the Replicat parameter file, you create a single process called Replicat Coordinator, this in turn creates threads accordingly <code>THREADRANGE<\/code> that we have defined and undertakes to coordinate the order in which each thread must run so that transactions do not have conflicts, blocks, deadlocks and errors. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"562\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-03-1024x562.jpg\" alt=\"\" class=\"wp-image-5366\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-03-1024x562.jpg 1024w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-03-300x165.jpg 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-03-768x421.jpg 768w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-03-18x10.jpg 18w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-03.jpg 1161w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The differences between Replicat modes<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"990\" height=\"821\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-02.png\" alt=\"\" class=\"wp-image-5367\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-02.png 990w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-02-300x249.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-02-768x637.png 768w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-02-14x12.png 14w\" sizes=\"auto, (max-width: 990px) 100vw, 990px\" \/><figcaption class=\"wp-element-caption\">03 (docs.oracle.com)<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u03c4\u03b1-\u03c0\u03c1\u03bf\u03b1\u03c0\u03b1\u03b9\u03c4\u03bf\u03cd\u03bc\u03b5\u03bd\u03b1\">The prerequisites<\/h2>\n\n\n\n<p>For this article we assume that we already have a complete GoldenGate installation.<\/p>\n\n\n\n<p>How to install and configure can be read in the article <a href=\"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-replicate-pinakes-apo-tin-oracle-database-pros-t\/\">here<\/a>.<\/p>\n\n\n\n<p>Then for our example we will assume that we have made the following settings in the target for Extracts.<\/p>\n\n\n\n<p>We have created and started the extract for transaction synchronization:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">edit param MIS_EXT<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>EXTRACT MIS_EXT\nUSERIDALIAS GGADMIN\nRMTHOST sqlserverdb.mshome.net, MGRPORT 7809\nRMTFILE .\/dirdat\/mi, PURGE\nTABLE STRATOS.CUSTOMERS;<\/code><\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">add extract mis_ext, integrated tranlog, exttrail .\/dirdat\/mi, BEGIN NOW<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">start mis_ext<\/pre>\n\n\n\n<p>We have created and started the extract for the Initial Load:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">edit param INI_EXT<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>EXTRACT INI_EXT\nUSERIDALIAS GGADMIN\nRMTHOST sqlserverdb.mshome.net, MGRPORT 7809\nRMTFILE .\/dirdat\/fe, PURGE\nTABLE STRATOS.CUSTOMERS;<\/code><\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">add extract ini_ext, sourceistable<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing Classic Replicat with RANGE FILTER for Initial Load<\/h2>\n\n\n\n<p>For its installation, the only difference from a Replicat is the addition of <code>RANGE FILTER <\/code>after the <code>MAP<\/code> with a definition depending on how many Replicat Processes we want to create. For our example we will have two processes:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">edit param IN1_REP<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>REPLICAT in1_rep\nTARGETDB sqlserverdb, USERIDALIAS ggadmin\nSOURCECHARSET PASSTHRU\nBATCHSQL\nREPERROR(60,TRANSABORT, MAXRETRIES 10, DELAYSECS 60)\nDISCARDFILE .\/dirrpt\/sql_discard.txt, APPEND, MEGABYTES 50\nFUNCTIONSTACKSIZE 500\nMAP STRATOS.CUSTOMERS, TARGET DBO.CUSTOMERS FILTER (@RANGE(1,2));\n<\/code><\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">edit param IN2_REP<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>REPLICAT in2_rep\nTARGETDB sqlserverdb, USERIDALIAS ggadmin\nSOURCECHARSET PASSTHRU\nBATCHSQL\nREPERROR(60,TRANSABORT, MAXRETRIES 10, DELAYSECS 60)\nDISCARDFILE .\/dirrpt\/sql_discard.txt, APPEND, MEGABYTES 50\nFUNCTIONSTACKSIZE 500\n\nMAP STRATOS.CUSTOMERS, TARGET DBO.CUSTOMERS FILTER (@RANGE(2,2));<\/code><\/pre>\n\n\n\n<p>Beyond the <code>RANGE FILTER<\/code> we have added the <strong><code>BATCHSQL<\/code><\/strong>, the <strong><code>TRANSABORT<\/code><\/strong> for re-executing transactions from timeouts\/deadlocks and we have increased the <code><strong>FUNCTIONSTACKSIZE<\/strong><\/code> so that insert statements can be run en masse in batches, increasing performance.<\/p>\n\n\n\n<p>Then we add these two replicat processes:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">add replicat in1_rep, exttrail .\/dirdat\/fe\nadd replicat in2_rep, exttrail .\/dirdat\/fe<\/pre>\n\n\n\n<p>And let&#039;s get started:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">start in*<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing Coordinated Replicat for transaction synchronization<\/h2>\n\n\n\n<p>To install it, we will only create a Replicat to which we will add the <code>THREADRANGE<\/code> that we want after <code>MAP<\/code> with a definition depending on how many threads we want to use. For our example we will set 8 threads:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">edit param mirep<\/pre>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>REPLICAT mirep\nTARGETDB sqlserverdb, USERIDALIAS ggadmin\nSOURCECHARSET PASSTHRU\nREPERROR(60,TRANSABORT, MAXRETRIES 10, DELAYSECS 60)\nDISCARDFILE .\/dirrpt\/sql_discard.txt, APPEND, MEGABYTES 50\nDISCARDROLLOVER AT 03:00 ON TUESDAY\nREPORTROLLOVER AT 03:00 ON TUESDAY\nFUNCTIONSTACKSIZE 500\nHANDLECOLLISIONS\n<code>APPLY_PARALLELISM 8<\/code>MAP STRATOS.CUSTOMERS, TARGET DBO.CUSTOMERS THREADRANGE(1-8);\n<\/code><\/pre>\n\n\n\n<p>The parameter <code><strong>HANDLE COLLISIONS<\/strong><\/code> we define it so that we don&#039;t have a problem with the initial synchronization with conflicts from the Initial Load, we can remove it later. If we want it to run only in one thread on the specific table instead of <code><strong>THREADRANGE <\/strong><\/code>we put <code><strong>THREAD(1)<\/strong><\/code>Optionally if we want it to run with 8 threads by default on any table we define <code><strong>APPLY_PARALLELISM 8<\/strong><\/code>.<\/p>\n\n\n\n<p>Then we add and start the Coordinated Replicat process:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">add replicat mirep, coordinated, exttrail .\/dirdat\/mi\nstart mirep<\/pre>\n\n\n\n<p>In case we want to start from a specific trail file and rba:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">add replicat mirep, coordinated, exttrail .\/dirdat\/fe, extseqno=55, extrba=1292840<\/pre>\n\n\n\n<p>When we start it we set the parameter <strong><code>FILTERDUMPTRANSACTIONS<\/code><\/strong> so that transactions that have already passed can be checked:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">start mirep FILTERDUPTRANSACTIONS<\/pre>\n\n\n\n<p>Once it starts, we will see that Coordinated Replicat has created eight threads underneath it:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">info mirep, detail<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"954\" height=\"546\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-01.png\" alt=\"\" class=\"wp-image-5369\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-01.png 954w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-01-300x172.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-01-768x440.png 768w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2023\/03\/crep-01-18x10.png 18w\" sizes=\"auto, (max-width: 954px) 100vw, 954px\" \/><figcaption class=\"wp-element-caption\">04<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">In case of abnormal stop of Coordinated Replicat<\/h3>\n\n\n\n<p>In the event that Coordinated Replicat aborts or closes unexpectedly, we must synchronize it with the command before starting it again. <strong><code>synchronize<\/code><\/strong> so that all threads are at the same point in time:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">synchronize replicat mirep<\/pre>\n\n\n\n<p>When the synchronization is complete we will see that it has stopped, then we can start it again:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">start mirep<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sources:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.oracle.com\/goldengate\/1212\/gg-winux\/GWUAD\/wu_changesync.htm#GWUAD514\" target=\"_blank\" rel=\"noreferrer noopener\">Configuring Online Change Synchronization<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.oracle.com\/en\/cloud\/paas\/goldengate-cloud\/gwuad\/administering-coordinated-replicat-configuration.html#GUID-C14B4162-7DEB-4FFB-9AF1-AAF3413D793B\" target=\"_blank\" rel=\"noreferrer noopener\">Administering a Coordinated Replicat Configuration<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.oracle.com\/en\/middleware\/goldengate\/core\/21.3\/oracle-db\/configuring-oracle-goldengate-apply.html#GUID-ED4D0DAA-18B9-48A6-A3DC-D5AFE9877A93\" target=\"_blank\" rel=\"noreferrer noopener\">Configuring Oracle GoldenGate Replicat<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.oracle.com\/goldengate\/1212\/gg-winux\/GWURF\/gg_parameters160.htm#GWURF546\" target=\"_blank\" rel=\"noreferrer noopener\">TABLE | MAP<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.oracle.com\/goldengate\/c1230\/gg-winux\/GWURF\/range.htm#GWURF809\" target=\"_blank\" rel=\"noreferrer noopener\">RANGE<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>If we choose to do the Initial Load before synchronization via GoldenGate Replicat or simply Replicat has a large volume of data to synchronize, one Replicat thread is not enough. In this article we will see two ways to run the Replicat process in parallel. One way is via Classic Replicat with RANGE [\u2026]<\/p>","protected":false},"author":1,"featured_media":704,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,16],"tags":[493,29,164,5,30,492],"class_list":["post-5363","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-databases","category-oracle-db","tag-coordinated-replicat","tag-databases","tag-goldengate","tag-oracle-database","tag-rdbms","tag-replication"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b1\u03c5\u03be\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b1\u03c0\u03cc\u03b4\u03bf\u03c3\u03b7 \u03c3\u03c4\u03bf target Replicat \u03c4\u03bf\u03c5 Oracle GoldenGate \u03bc\u03b5 \u03c0\u03b1\u03c1\u03b1\u03bb\u03bb\u03b7\u03bb\u03af\u03b1 - DataPlatform.gr<\/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.dataplatform.gr\/en\/post-mortem-of-the-apodosis\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b1\u03c5\u03be\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b1\u03c0\u03cc\u03b4\u03bf\u03c3\u03b7 \u03c3\u03c4\u03bf target Replicat \u03c4\u03bf\u03c5 Oracle GoldenGate \u03bc\u03b5 \u03c0\u03b1\u03c1\u03b1\u03bb\u03bb\u03b7\u03bb\u03af\u03b1 - DataPlatform.gr\" \/>\n<meta property=\"og:description\" content=\"\u0391\u03bd \u03b5\u03c0\u03b9\u03bb\u03ad\u03be\u03bf\u03c5\u03bc\u03b5 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c4\u03bf Initial Load \u03c0\u03c1\u03b9\u03bd \u03c4\u03bf\u03bd \u03c3\u03c5\u03b3\u03c7\u03c1\u03bf\u03bd\u03b9\u03c3\u03bc\u03cc \u03bc\u03ad\u03c3\u03c9 Replicat \u03c4\u03bf\u03c5 GoldenGate \u03b5\u03af\u03c4\u03b5 \u03b1\u03c0\u03bb\u03ac \u03c4\u03bf Replicat \u03ad\u03c7\u03b5\u03b9 \u03bd\u03b1 \u03c3\u03c5\u03b3\u03c7\u03c1\u03bf\u03bd\u03af\u03c3\u03b5\u03b9 \u03bc\u03b5\u03b3\u03ac\u03bb\u03bf \u03cc\u03b3\u03ba\u03bf \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd \u03ad\u03bd\u03b1 Replicat thread \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b1\u03c1\u03ba\u03b5\u03c4\u03cc. \u03a3\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b8\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03b4\u03cd\u03bf \u03c4\u03c1\u03cc\u03c0\u03bf\u03c5\u03c2 \u03ce\u03c3\u03c4\u03b5 \u03bd\u03b1 \u03c4\u03c1\u03ad\u03be\u03bf\u03c5\u03bc\u03b5 \u03c4\u03bf Replicat process \u03bc\u03b5 \u03c0\u03b1\u03c1\u03b1\u03bb\u03bb\u03b7\u03bb\u03af\u03b1. \u039f \u03ad\u03bd\u03b1\u03c2 \u03c4\u03c1\u03cc\u03c0\u03bf\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03bc\u03ad\u03c3\u03c9 Classic Replicat \u03bc\u03b5 RANGE [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dataplatform.gr\/en\/post-mortem-of-the-apodosis\/\" \/>\n<meta property=\"og:site_name\" content=\"DataPlatform.gr\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dataplatform.gr\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-19T04:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-08T00:37:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_oracle.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Stratos Matzouranis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Stratos Matzouranis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-ayxisoyme-tin-apodosi\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-ayxisoyme-tin-apodosi\\\/\"},\"author\":{\"name\":\"Stratos Matzouranis\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\"},\"headline\":\"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b1\u03c5\u03be\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b1\u03c0\u03cc\u03b4\u03bf\u03c3\u03b7 \u03c3\u03c4\u03bf target Replicat \u03c4\u03bf\u03c5 Oracle GoldenGate \u03bc\u03b5 \u03c0\u03b1\u03c1\u03b1\u03bb\u03bb\u03b7\u03bb\u03af\u03b1\",\"datePublished\":\"2025-03-19T04:00:00+00:00\",\"dateModified\":\"2025-06-08T00:37:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-ayxisoyme-tin-apodosi\\\/\"},\"wordCount\":154,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-ayxisoyme-tin-apodosi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_oracle.png\",\"keywords\":[\"Coordinated Replicat\",\"Databases\",\"GoldenGate\",\"Oracle Database\",\"RDBMS\",\"Replication\"],\"articleSection\":[\"Databases\",\"Oracle Database\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-ayxisoyme-tin-apodosi\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-ayxisoyme-tin-apodosi\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-ayxisoyme-tin-apodosi\\\/\",\"name\":\"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b1\u03c5\u03be\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b1\u03c0\u03cc\u03b4\u03bf\u03c3\u03b7 \u03c3\u03c4\u03bf target Replicat \u03c4\u03bf\u03c5 Oracle GoldenGate \u03bc\u03b5 \u03c0\u03b1\u03c1\u03b1\u03bb\u03bb\u03b7\u03bb\u03af\u03b1 - DataPlatform.gr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-ayxisoyme-tin-apodosi\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-ayxisoyme-tin-apodosi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_oracle.png\",\"datePublished\":\"2025-03-19T04:00:00+00:00\",\"dateModified\":\"2025-06-08T00:37:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-ayxisoyme-tin-apodosi\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-ayxisoyme-tin-apodosi\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-ayxisoyme-tin-apodosi\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_oracle.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_oracle.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-ayxisoyme-tin-apodosi\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Databases\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/category\\\/databases\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Oracle Database\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/category\\\/databases\\\/oracle-db\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b1\u03c5\u03be\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b1\u03c0\u03cc\u03b4\u03bf\u03c3\u03b7 \u03c3\u03c4\u03bf target Replicat \u03c4\u03bf\u03c5 Oracle GoldenGate \u03bc\u03b5 \u03c0\u03b1\u03c1\u03b1\u03bb\u03bb\u03b7\u03bb\u03af\u03b1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"name\":\"dataplatform.gr - Sky is not the limit!\",\"description\":\"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dataplatform.gr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\",\"name\":\"dataplatform.gr\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"width\":322,\"height\":139,\"caption\":\"dataplatform.gr\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dataplatform.gr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dataplatform-gr\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\",\"name\":\"Stratos Matzouranis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"caption\":\"Stratos Matzouranis\"},\"sameAs\":[\"https:\\\/\\\/www.dataplatform.gr\"],\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/en\\\/author\\\/stratos-matzouranis\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b1\u03c5\u03be\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b1\u03c0\u03cc\u03b4\u03bf\u03c3\u03b7 \u03c3\u03c4\u03bf target Replicat \u03c4\u03bf\u03c5 Oracle GoldenGate \u03bc\u03b5 \u03c0\u03b1\u03c1\u03b1\u03bb\u03bb\u03b7\u03bb\u03af\u03b1 - DataPlatform.gr","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.dataplatform.gr\/en\/post-mortem-of-the-apodosis\/","og_locale":"en_US","og_type":"article","og_title":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b1\u03c5\u03be\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b1\u03c0\u03cc\u03b4\u03bf\u03c3\u03b7 \u03c3\u03c4\u03bf target Replicat \u03c4\u03bf\u03c5 Oracle GoldenGate \u03bc\u03b5 \u03c0\u03b1\u03c1\u03b1\u03bb\u03bb\u03b7\u03bb\u03af\u03b1 - DataPlatform.gr","og_description":"\u0391\u03bd \u03b5\u03c0\u03b9\u03bb\u03ad\u03be\u03bf\u03c5\u03bc\u03b5 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c4\u03bf Initial Load \u03c0\u03c1\u03b9\u03bd \u03c4\u03bf\u03bd \u03c3\u03c5\u03b3\u03c7\u03c1\u03bf\u03bd\u03b9\u03c3\u03bc\u03cc \u03bc\u03ad\u03c3\u03c9 Replicat \u03c4\u03bf\u03c5 GoldenGate \u03b5\u03af\u03c4\u03b5 \u03b1\u03c0\u03bb\u03ac \u03c4\u03bf Replicat \u03ad\u03c7\u03b5\u03b9 \u03bd\u03b1 \u03c3\u03c5\u03b3\u03c7\u03c1\u03bf\u03bd\u03af\u03c3\u03b5\u03b9 \u03bc\u03b5\u03b3\u03ac\u03bb\u03bf \u03cc\u03b3\u03ba\u03bf \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd \u03ad\u03bd\u03b1 Replicat thread \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b1\u03c1\u03ba\u03b5\u03c4\u03cc. \u03a3\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b8\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03b4\u03cd\u03bf \u03c4\u03c1\u03cc\u03c0\u03bf\u03c5\u03c2 \u03ce\u03c3\u03c4\u03b5 \u03bd\u03b1 \u03c4\u03c1\u03ad\u03be\u03bf\u03c5\u03bc\u03b5 \u03c4\u03bf Replicat process \u03bc\u03b5 \u03c0\u03b1\u03c1\u03b1\u03bb\u03bb\u03b7\u03bb\u03af\u03b1. \u039f \u03ad\u03bd\u03b1\u03c2 \u03c4\u03c1\u03cc\u03c0\u03bf\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03bc\u03ad\u03c3\u03c9 Classic Replicat \u03bc\u03b5 RANGE [&hellip;]","og_url":"https:\/\/www.dataplatform.gr\/en\/post-mortem-of-the-apodosis\/","og_site_name":"DataPlatform.gr","article_publisher":"https:\/\/www.facebook.com\/dataplatform.gr\/","article_published_time":"2025-03-19T04:00:00+00:00","article_modified_time":"2025-06-08T00:37:53+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_oracle.png","type":"image\/png"}],"author":"Stratos Matzouranis","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Stratos Matzouranis","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-ayxisoyme-tin-apodosi\/#article","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-ayxisoyme-tin-apodosi\/"},"author":{"name":"Stratos Matzouranis","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf"},"headline":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b1\u03c5\u03be\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b1\u03c0\u03cc\u03b4\u03bf\u03c3\u03b7 \u03c3\u03c4\u03bf target Replicat \u03c4\u03bf\u03c5 Oracle GoldenGate \u03bc\u03b5 \u03c0\u03b1\u03c1\u03b1\u03bb\u03bb\u03b7\u03bb\u03af\u03b1","datePublished":"2025-03-19T04:00:00+00:00","dateModified":"2025-06-08T00:37:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-ayxisoyme-tin-apodosi\/"},"wordCount":154,"commentCount":0,"publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-ayxisoyme-tin-apodosi\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_oracle.png","keywords":["Coordinated Replicat","Databases","GoldenGate","Oracle Database","RDBMS","Replication"],"articleSection":["Databases","Oracle Database"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dataplatform.gr\/pos-mporoyme-na-ayxisoyme-tin-apodosi\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-ayxisoyme-tin-apodosi\/","url":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-ayxisoyme-tin-apodosi\/","name":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b1\u03c5\u03be\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b1\u03c0\u03cc\u03b4\u03bf\u03c3\u03b7 \u03c3\u03c4\u03bf target Replicat \u03c4\u03bf\u03c5 Oracle GoldenGate \u03bc\u03b5 \u03c0\u03b1\u03c1\u03b1\u03bb\u03bb\u03b7\u03bb\u03af\u03b1 - DataPlatform.gr","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-ayxisoyme-tin-apodosi\/#primaryimage"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-ayxisoyme-tin-apodosi\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_oracle.png","datePublished":"2025-03-19T04:00:00+00:00","dateModified":"2025-06-08T00:37:53+00:00","breadcrumb":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-ayxisoyme-tin-apodosi\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dataplatform.gr\/pos-mporoyme-na-ayxisoyme-tin-apodosi\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-ayxisoyme-tin-apodosi\/#primaryimage","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_oracle.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_oracle.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-ayxisoyme-tin-apodosi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae","item":"https:\/\/www.dataplatform.gr\/"},{"@type":"ListItem","position":2,"name":"Databases","item":"https:\/\/www.dataplatform.gr\/category\/databases\/"},{"@type":"ListItem","position":3,"name":"Oracle Database","item":"https:\/\/www.dataplatform.gr\/category\/databases\/oracle-db\/"},{"@type":"ListItem","position":4,"name":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b1\u03c5\u03be\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b1\u03c0\u03cc\u03b4\u03bf\u03c3\u03b7 \u03c3\u03c4\u03bf target Replicat \u03c4\u03bf\u03c5 Oracle GoldenGate \u03bc\u03b5 \u03c0\u03b1\u03c1\u03b1\u03bb\u03bb\u03b7\u03bb\u03af\u03b1"}]},{"@type":"WebSite","@id":"https:\/\/www.dataplatform.gr\/#website","url":"https:\/\/www.dataplatform.gr\/","name":"dataplatform.gr - Sky is not the limit!","description":"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.","publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dataplatform.gr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dataplatform.gr\/#organization","name":"dataplatform.gr","url":"https:\/\/www.dataplatform.gr\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","width":322,"height":139,"caption":"dataplatform.gr"},"image":{"@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dataplatform.gr\/","https:\/\/www.linkedin.com\/company\/dataplatform-gr\/"]},{"@type":"Person","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf","name":"Stratos Matzouranis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","caption":"Stratos Matzouranis"},"sameAs":["https:\/\/www.dataplatform.gr"],"url":"https:\/\/www.dataplatform.gr\/en\/author\/stratos-matzouranis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/5363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/comments?post=5363"}],"version-history":[{"count":4,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/5363\/revisions"}],"predecessor-version":[{"id":5914,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/5363\/revisions\/5914"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media\/704"}],"wp:attachment":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media?parent=5363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/categories?post=5363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/tags?post=5363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}