{"id":6182,"date":"2015-11-02T22:11:07","date_gmt":"2015-11-02T21:11:07","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/"},"modified":"2015-11-02T22:11:07","modified_gmt":"2015-11-02T21:11:07","slug":"dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/","title":{"rendered":"Dbvisit replicate allows DDL replication even when source and destination have different structure"},"content":{"rendered":"<h2>By Franck Pachot<\/h2>\n<p>.<br \/>\nI&#8217;ve tested a little thing for a customer, and as usual I spool the result into a blog post in case it helps others. Not all replication software &#8211; at least in their current version &#8211; can manage both different target structure (which is often the main reason for logical replication) and keep up with new DDL on the source (which you can&#8217;t avoid &#8211; applications evolves). Let&#8217;s see how smart is Dbvisit replication with that.<br \/>\n<!--more--><br \/>\nI tested that with the #repattack configuration: replicate the Swingbench application on Oracle XE. Here is the customer table:<\/p>\n<pre><code>\nSQL&gt; desc repoe.customers\nName              Null     Type          \n----------------- -------- ------------- \nCUSTOMER_ID       NOT NULL NUMBER(12)    \nCUST_FIRST_NAME   NOT NULL VARCHAR2(40)  \nCUST_LAST_NAME    NOT NULL VARCHAR2(40)  \nNLS_LANGUAGE               VARCHAR2(3)   \nNLS_TERRITORY              VARCHAR2(30)  \nCREDIT_LIMIT               NUMBER(9,2)   \nCUST_EMAIL                 VARCHAR2(100) \nACCOUNT_MGR_ID             NUMBER(12)    \nCUSTOMER_SINCE             DATE          \nCUSTOMER_CLASS             VARCHAR2(40)  \nSUGGESTIONS                VARCHAR2(40)  \nDOB                        DATE          \nMAILSHOT                   VARCHAR2(1)   \nPARTNER_MAILSHOT           VARCHAR2(1)   \nPREFERRED_ADDRESS          NUMBER(12)    \nPREFERRED_CARD             NUMBER(12)    \n<\/code><\/pre>\n<p>This is the structure in both source and target.<\/p>\n<p>Then I add column in destination to show that I can have a different structure:<\/p>\n<pre><code>\nSQL&gt; alter table repoe.customers add new_in_tgt(char(1))\n<\/code><\/pre>\n<p>And I add a column in source to show that I can replicate DDL:<\/p>\n<pre><code>\nSQL&gt; alter table repoe.customers add (new_in_src varchar(30) default 'xxxxxxxxxx')\n<\/code><\/pre>\n<p>It&#8217;s on purpose that I added a column that is larger in the source because some replication tools that don&#8217;t rely on column names but only on column position fail in that case. When datatype is compatible they don&#8217;t fail but just put the value in the wrong column.<\/p>\n<p>My point here is to show that Dbvisit replicate uses column names, so the replication of DML and DDL is possible even when structure differs.<\/p>\n<p>Because I&#8217;ve a default clause, it takes a while to update all rows:<\/p>\n<pre><code>\n| Dbvisit Replicate 2.7.06.4485(MAX edition) - Evaluation License expires in 30 days\nMINE IS running. Currently at plog 308 and SCN 3999184 (11\/03\/2015 05:58:50).\nAPPLY IS running. Currently at plog 308 and SCN 3999168 (11\/03\/2015 05:58:48).\nProgress of replication dbvrep_XE:MINE-&gt;APPLY: total\/this execution\n--------------------------------------------------------------------------------------------------------------------------------------------\nREPOE.CUSTOMERS:               99%  Mine:518319\/518319   Unrecov:0\/0         Applied:518317\/518317 Conflicts:0\/0     Last:03\/11\/2015 05:58:46\/OK\nREPOE.ADDRESSES:               98%  Mine:142\/142         Unrecov:0\/0         Applied:140\/140     Conflicts:0\/0       Last:03\/11\/2015 05:58:46\/OK\nREPOE.CARD_DETAILS:            98%  Mine:135\/135         Unrecov:0\/0         Applied:133\/133     Conflicts:0\/0       Last:03\/11\/2015 05:58:46\/OK\nREPOE.ORDER_ITEMS:             99%  Mine:727\/727         Unrecov:0\/0         Applied:725\/725     Conflicts:0\/0       Last:03\/11\/2015 05:58:51\/OK\nREPOE.ORDERS:                  99%  Mine:586\/586         Unrecov:0\/0         Applied:583\/583     Conflicts:0\/0       Last:03\/11\/2015 05:58:51\/OK\nREPOE.INVENTORIES:             99%  Mine:707\/707         Unrecov:0\/0         Applied:705\/705     Conflicts:0\/0       Last:03\/11\/2015 05:58:51\/OK\nREPOE.LOGON:                   99%  Mine:789\/789         Unrecov:0\/0         Applied:784\/784     Conflicts:0\/0       Last:03\/11\/2015 05:58:51\/OK\n--------------------------------------------------------------------------------------------------------------------------------------------\n7 tables listed.\n<\/code><\/pre>\n<p>And then time to query the target table: scroll right to see that I&#8217;ve the column I&#8217;ve added in the target as well as the one added in the source &#8211; with it&#8217;s value in the right column.<\/p>\n<pre><code>\nSQL&gt; select * from repoe.customers where rownum&lt;=10\nCUSTOMER_ID CUST_FIRST_NAME                          CUST_LAST_NAME                           NLS_LANGUAGE NLS_TERRITORY                  CREDIT_LIMIT CUST_EMAIL                                                                                           ACCOUNT_MGR_ID CUSTOMER_SINCE     CUSTOMER_CLASS                           SUGGESTIONS                              DOB                MAILSHOT PARTNER_MAILSHOT PREFERRED_ADDRESS PREFERRED_CARD NEW_IN_TGT NEW_IN_SRC                    \n----------- ---------------------------------------- ---------------------------------------- ------------ ------------------------------ ------------ ---------------------------------------------------------------------------------------------------- -------------- ------------------ ---------------------------------------- ---------------------------------------- ------------------ -------- ---------------- ----------------- -------------- ---------- ------------------------------\n        432 vernon                                   russell                                  XH           Minnesota                              6500 alberto.ford@cox.com                                                                                            490 09-MAY-04 00:00:00 Occasional                               Sports                                   27-AUG-98 00:00:00 Y        N                           191596         607724            xxxxxxxxxx                     \n        433 steve                                    baker                                    ZG           Washington                             4000 irwin.brown@googlemail.com                                                                                      364 01-AUG-07 00:00:00 Regular                                  Health                                   07-JUL-60 00:00:00 Y        N                           284785         731933            xxxxxxxxxx                     \n        434 nicholas                                 delgado                                  CF           Spain                                  5000 timothy.phillips@me.com                                                                                         573 06-JUL-08 00:00:00 Occasional                               Music                                    08-SEP-82 00:00:00 Y        N                           291081         645655            xxxxxxxxxx                     \n        435 brad                                     washington                               BA           New Jersey                             6000 doug.moore@cox.com                                                                                              546 21-JAN-12 00:00:00 Regular                                  Car                                      03-MAY-53 00:00:00 N        N                           311712         628307            xxxxxxxxxx                     \n        436 greg                                     romero                                   TN           Oklahoma                               6000 leon.wells@bellsouth.com                                                                                        478 27-AUG-09 00:00:00 Occasional                               Photography                              25-JUN-72 00:00:00 N        Y                           537245         170957            xxxxxxxxxx                     \n        437 keith                                    chambers                                 EQ           Arizona                                6000 miguel.higgins@bellsouth.com                                                                                    584 01-JUL-05 00:00:00 Prime                                    Electronics                              28-APR-66 00:00:00 Y        N                            87989         516342            xxxxxxxxxx                     \n        438 frank                                    graham                                   CE           Texas                                  5500 christopher.murphy@yahoo.com                                                                                    419 11-SEP-11 00:00:00 Business                                 Electronics                              16-JUN-99 00:00:00 Y        N                           549348         586035            xxxxxxxxxx                     \n        439 norman                                   johnson                                  JP           Mexico                                 5500 woodrow.hall@aol.com                                                                                            567 12-AUG-01 00:00:00 Occasional                               Books                                    18-FEB-95 00:00:00 Y        Y                           357156         147077            xxxxxxxxxx                     \n        440 jorge                                    lee                                      TD           Vietnam                               10000 victor.keller@ntlworld.com                                                                                      457 16-MAY-08 00:00:00 Occasional                               Sports                                   18-JAN-63 00:00:00 Y        N                            40089         446330            xxxxxxxxxx                     \n        441 dale                                     mason                                    PR           Pennsylvania (Eastern)                 6000 willie.kramer@yahoo.com                                                                                         530 01-JAN-01 00:00:00 Regular                                  Cooking                                  22-JUN-88 00:00:00 Y        Y                           365919         746867            xxxxxxxxxx                     \n&nbsp;\n 10 rows selected \n<\/code><\/pre>\n<p>Of course, you are not that much stunned by something which seems so simple, but it depend on the way the dictionary is gathered.<br \/>\nFor example, in current versions GoldenGate uses either a static definition from the source SOURCEDEFS file gathered with defgen &#8211; but in that case cannot propagate DDL. Or it gets definition from target &#8211; but that requires that there are no additional columns in target and even the column positions must be the same or you will get errors such as:<\/p>\n<ul>\n<li>OGG-01161 Bad column index (&#8230;) specified for table &#8230;, max columns = &#8230;<\/li>\n<li>OGG-01163 Bad column length (&#8230;) specified for column &#8230; in table &#8230;, maximum allowable length is &#8230;<\/li>\n<li>or worse: values going into bad column if they happen to fit there<\/li>\n<\/ul>\n<p>Fortunately, as annouced at OOW15, the future GoldenGate 12.2 version should improve that, gathering the dictionary in the same way as Dbvisit replicate currently does.<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/our-it-expertise\/partnerships\/dbvisit-partner\/\"><img loading=\"lazy\" decoding=\"async\" style=\"float:left\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/replicate_logo_370x108.jpg\" alt=\"replicate_logo_370x108\" width=\"113\" height=\"108\" class=\"alignnone size-full wp-image-4996\" \/><\/a>Dbvisit replicate always used the safe way:<br \/> It takes a bit longer when initialization starts because it has to get the dictionary definition, but then can replicate changes (add column, drop column, etc) as well as customize the target table (additional columns for example). The dictionary definition, stored in the database, is always up-to-date with the replication SCN. It is updated when DDL is seen in the mined redo logs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Franck Pachot . I&#8217;ve tested a little thing for a customer, and as usual I spool the result into a blog post in case it helps others. Not all replication software &#8211; at least in their current version &#8211; can manage both different target structure (which is often the main reason for logical replication) [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":6184,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229,59],"tags":[372,328,617],"type_dbi":[],"class_list":["post-6182","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-administration-monitoring","category-oracle","tag-dbvisit","tag-goldengate","tag-replicate"],"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>Dbvisit replicate allows DDL replication even when source and destination have different structure - 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\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dbvisit replicate allows DDL replication even when source and destination have different structure\" \/>\n<meta property=\"og:description\" content=\"By Franck Pachot . I&#8217;ve tested a little thing for a customer, and as usual I spool the result into a blog post in case it helps others. Not all replication software &#8211; at least in their current version &#8211; can manage both different target structure (which is often the main reason for logical replication) [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-11-02T21:11:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/replicate_logo_370x108-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"113\" \/>\n\t<meta property=\"og:image:height\" content=\"108\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Oracle Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Oracle Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 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\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/\"},\"author\":{\"name\":\"Oracle Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"headline\":\"Dbvisit replicate allows DDL replication even when source and destination have different structure\",\"datePublished\":\"2015-11-02T21:11:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/\"},\"wordCount\":498,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/replicate_logo_370x108-1.jpg\",\"keywords\":[\"dbvisit\",\"GoldenGate\",\"replicate\"],\"articleSection\":[\"Database Administration &amp; Monitoring\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/\",\"name\":\"Dbvisit replicate allows DDL replication even when source and destination have different structure - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/replicate_logo_370x108-1.jpg\",\"datePublished\":\"2015-11-02T21:11:07+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/replicate_logo_370x108-1.jpg\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/replicate_logo_370x108-1.jpg\",\"width\":113,\"height\":108},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dbvisit replicate allows DDL replication even when source and destination have different structure\"}]},{\"@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\/66ab87129f2d357f09971bc7936a77ee\",\"name\":\"Oracle Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"caption\":\"Oracle Team\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/oracle-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Dbvisit replicate allows DDL replication even when source and destination have different structure - 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\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/","og_locale":"en_US","og_type":"article","og_title":"Dbvisit replicate allows DDL replication even when source and destination have different structure","og_description":"By Franck Pachot . I&#8217;ve tested a little thing for a customer, and as usual I spool the result into a blog post in case it helps others. Not all replication software &#8211; at least in their current version &#8211; can manage both different target structure (which is often the main reason for logical replication) [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/","og_site_name":"dbi Blog","article_published_time":"2015-11-02T21:11:07+00:00","og_image":[{"width":113,"height":108,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/replicate_logo_370x108-1.jpg","type":"image\/jpeg"}],"author":"Oracle Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Oracle Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/"},"author":{"name":"Oracle Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"headline":"Dbvisit replicate allows DDL replication even when source and destination have different structure","datePublished":"2015-11-02T21:11:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/"},"wordCount":498,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/replicate_logo_370x108-1.jpg","keywords":["dbvisit","GoldenGate","replicate"],"articleSection":["Database Administration &amp; Monitoring","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/","url":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/","name":"Dbvisit replicate allows DDL replication even when source and destination have different structure - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/replicate_logo_370x108-1.jpg","datePublished":"2015-11-02T21:11:07+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/replicate_logo_370x108-1.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/replicate_logo_370x108-1.jpg","width":113,"height":108},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Dbvisit replicate allows DDL replication even when source and destination have different structure"}]},{"@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\/66ab87129f2d357f09971bc7936a77ee","name":"Oracle Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","caption":"Oracle Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/oracle-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/6182","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\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=6182"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/6182\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/6184"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=6182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=6182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=6182"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=6182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}