{"id":2523,"date":"2023-05-02T11:46:23","date_gmt":"2023-05-02T18:46:23","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/"},"modified":"2023-05-02T11:46:23","modified_gmt":"2023-05-02T18:46:23","slug":"data-migration-from-oracle-to-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/data-migration-from-oracle-to-couchbase\/","title":{"rendered":"Data Migration from Oracle to Couchbase"},"content":{"rendered":"\n<p><span>You may know Couchbase as the fastest, most scalable NoSQL platform available. However, did you know that Couchbase can also be a relational database? Couchbase is a data platform that can operate with multiple simultaneous personalities all in the same platform. It can be structured or unstructured. And it can be transactional or analytical. In this blog, we are going to look at moving data from Oracle to Couchbase.<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Source Oracle Database<\/span><\/h2>\n\n\n\n<p><span>For a source database, we are going to use <\/span><a href=\"https:\/\/www.dominicgiles.com\/swingbench.html\"><span>Swingbench<\/span><\/a><span>. It is a synthetic workload generator for Oracle. It is self-contained and creates schemas that are reminiscent of what might be found in an actual production application. For this blog, we are going to use the Simple Order Entry (SOE) schema that is created by the utility. A visual representation of the SOE schema can be seen below. Generating the schema with a scale parameter of <em>1 <\/em>results in a dataset with about 15 million records.<\/span><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-14343\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/oracle-to-couchbase-swingbench-913x1024-1.png\" alt=\"Oracle to Couchbase - swingbench schema\" width=\"900\" height=\"1009\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Data Import<\/span><\/h2>\n\n\n\n<p><span>To migrate the data from Oracle to Couchbase, we will use the <\/span><em><a href=\"https:\/\/github.com\/mminichino\/cbperf\"><span>cbperf<\/span><\/a><\/em><span> demo tool. This utility primarily generates randomized synthetic schemas for Couchbase, but it also can import data into Couchbase via a plugin from external data sources. The Oracle plugin for <em>cbperf<\/em> will replicate all tables available to the connecting user, copy associated table data, and for each table, it will extract the columns that are indexed to recreate the indexes on Couchbase.\u00a0<\/span><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]% bin\/cb_perf import -h cbhost -b soe -s soe -P oracle -V connect=soe\/soe@orahost\/testdb[\/crayon]<\/p>\n\n\n\n<p><span>Assuming that the SOE schema was set up with the default username and password, which is <em>soe<\/em>\u00a0and <em>soe<\/em>, respectively, this syntax will export the data from the database SID <em>testdb<\/em> on host <em>orahost<\/em> and import it to the Couchbase bucket <em>soe<\/em> with scope <em>soe<\/em> where one node in the cluster is <em>cbhost<\/em>.<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>The Data in Couchbase<\/span><\/h2>\n\n\n\n<p><span>Let&#8217;s get the important disclaimer out of the way up front. For a production application, you will likely not want to just &#8220;lift and shift&#8221; the data and indexes. Instead, an analysis needs to be done to determine the optimal configuration in Couchbase along with the required application changes. The ultimate level of effort will vary by application.<\/span><\/p>\n\n\n\n<p><span>That said, once the <em>cbperf<\/em> import is complete, there will be about 15 million documents in Couchbase. The <em>soe<\/em>\u00a0scope will have collections that correspond to each table in Oracle.<\/span><\/p>\n\n\n\n<p><span>Here are the tables in Oracle:<\/span><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-14344\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/oracle-tables-for-couchbase-1024x436-1.png\" alt=\"Oracle tables for Couchbase import\" width=\"900\" height=\"383\"><\/p>\n\n\n\n<p><span>Here are the collections in Couchbase:<\/span><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-14345\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/couchbase-collections-for-oracle-schema-1024x500-1.png\" alt=\"Couchbase collections set up for Oracle schema import\" width=\"900\" height=\"439\"><\/p>\n\n\n\n<p><span>Each row that was in the Oracle database is now a document in Couchbase. The document key is constructed from the collection name plus a colon &#8220;:&#8221; plus the sequential document number (basically the row number). The document JSON keys are the table column names, and the values are the column values for that row.<\/span><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;pgsql&#8221; decode=&#8221;true&#8221;]select * from CUSTOMERS where CUSTOMER_ID = 1 ;[\/crayon]<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14346 size-full\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/customer-query-oracle-table-in-couchbase.png\" alt=\"Query in Oracle\" width=\"822\" height=\"750\"><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;pgsql&#8221; decode=&#8221;true&#8221;]select * from soe.soe.customers where customer_id = 1 ;[\/crayon]<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-14347\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/customer-query-oracle-table-in-couchbase2-820x1024-1.png\" alt=\"Oracle document in Couchbase query\" width=\"820\" height=\"1024\"><\/p>\n\n\n\n<p><span>Finally, we can see all the indexes that were automatically generated based on the indexed columns in the Oracle database. To allow for the most query flexibility, each index covers one column.\u00a0<\/span><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-14348\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/oracle-indexes-auto-generated-in-couchbase-1024x489-1.png\" alt=\"Oracle indexes imported into Couchbase\" width=\"900\" height=\"430\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Running a Query<\/span><\/h2>\n\n\n\n<p><span>Looking through the Swingbench source code, I found the following query:<\/span><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;pgsql&#8221; decode=&#8221;true&#8221;]SELECT tt.order_total,<br \/>\n\u00a0\u00a0tt.sales_rep_id,<br \/>\n\u00a0\u00a0tt.order_date,<br \/>\n\u00a0\u00a0customers.cust_first_name,<br \/>\n\u00a0\u00a0customers.cust_last_name<br \/>\nFROM<br \/>\n\u00a0\u00a0(SELECT orders.order_total,<br \/>\n\u00a0\u00a0\u00a0\u00a0orders.sales_rep_id,<br \/>\n\u00a0\u00a0\u00a0\u00a0orders.order_date,<br \/>\n\u00a0\u00a0\u00a0\u00a0orders.customer_id,<br \/>\n\u00a0\u00a0\u00a0\u00a0rank() Over (Order By orders.order_total DESC) sal_rank<br \/>\n\u00a0\u00a0FROM orders<br \/>\n\u00a0\u00a0WHERE orders.sales_rep_id = 1<br \/>\n\u00a0\u00a0) tt,<br \/>\n\u00a0\u00a0customers<br \/>\nWHERE tt.sal_rank &lt;= 10<br \/>\nand customers.customer_id = tt.customer_id[\/crayon]<\/p>\n\n\n\n<p><span>Running this query against the Oracle database, I get the following results:<\/span><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-14349\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/oracle-query-results-1024x282-1.png\" alt=\"Oracle query results\" width=\"900\" height=\"248\"><\/p>\n\n\n\n<p><span>And running the query on Couchbase, I get the same results. The only thing I had to change in the query was to prefix the collections with <em>soe.soe<\/em>. to construct a Couchbase key space.<\/span><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14350\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/couchbase-query.png\" alt=\"Couchbase query results from Oracle import\" width=\"689\" height=\"476\"><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-14351\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/image3-1024x537-1.png\" alt=\"table of query results in Couchbase\" width=\"900\" height=\"472\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Fun Fact<\/span><\/h2>\n\n\n\n<p><span>You may be familiar with the <em>ORACLE_SID<\/em> as the Oracle database instance identifier, but do you know what it does under the covers? It stands for the <em>Site Identifier<\/em>. It is hashed with <em>ORACLE_HOME<\/em> to get an SGA (System Global Area) key which is the shared memory key on Unix\/Linux systems. When you get an <em>ORA-01034: ORACLE not available<\/em> error, it is because this shared memory key is not present on the system. Thus you can\u2019t communicate with the database. Fortunately, working with Couchbase is vastly simpler, allowing you to focus on other things. Unless, of course, you like operating system internals.<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Conclusion<\/span><\/h2>\n\n\n\n<p><span>While it might seem like a daunting task, importing data from a relational database into Couchbase is not that difficult. To be fair, there is more to consider than just columns and indexes, such as stored procedures (user-defined functions in Couchbase), but it is certainly very doable.<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><b>References<\/b><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/mminichino\/cbperf\"><span>CBPerf utility<\/span><\/a><\/li>\n\n\n<li><a href=\"https:\/\/www.dominicgiles.com\/swingbench.html\"><span>Swingbench generator<\/span><\/a><\/li>\n\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>You may know Couchbase as the fastest, most scalable NoSQL platform available. However, did you know that Couchbase can also be a relational database? Couchbase is a data platform that can operate with multiple simultaneous personalities all in the same platform. It can be structured or unstructured. And it can be transactional or analytical. In [&hellip;]<\/p>\n","protected":false},"author":81015,"featured_media":2521,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[136,301,54,189,18],"tags":[283,603,195],"ppma_author":[655],"class_list":["post-2523","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-cloud","category-couchbase-server","category-data-modeling","category-n1ql-query","tag-database-migration","tag-modernization","tag-oracle"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.6 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Data Migration from Oracle to Couchbase - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Although it may seem complex, migrating data from Oracle to Couchbase is easier than it looks. Learn how in this blog post.\" \/>\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.couchbase.com\/blog\/es\/data-migration-from-oracle-to-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Data Migration from Oracle to Couchbase\" \/>\n<meta property=\"og:description\" content=\"Although it may seem complex, migrating data from Oracle to Couchbase is easier than it looks. Learn how in this blog post.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/data-migration-from-oracle-to-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-02T18:46:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/data-migration-oracle-to-couchbase.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Michael Minichino\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michael Minichino\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-migration-from-oracle-to-couchbase\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-migration-from-oracle-to-couchbase\\\/\"},\"author\":{\"name\":\"Michael Minichino\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/15ea6a51d53d4739913c98d25a8d7e77\"},\"headline\":\"Data Migration from Oracle to Couchbase\",\"datePublished\":\"2023-05-02T18:46:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-migration-from-oracle-to-couchbase\\\/\"},\"wordCount\":833,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-migration-from-oracle-to-couchbase\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/data-migration-oracle-to-couchbase.png\",\"keywords\":[\"database migration\",\"modernization\",\"oracle\"],\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Capella\",\"Couchbase Server\",\"Data Modeling\",\"SQL++ \\\/ N1QL Query\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-migration-from-oracle-to-couchbase\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-migration-from-oracle-to-couchbase\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-migration-from-oracle-to-couchbase\\\/\",\"name\":\"Data Migration from Oracle to Couchbase - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-migration-from-oracle-to-couchbase\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-migration-from-oracle-to-couchbase\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/data-migration-oracle-to-couchbase.png\",\"datePublished\":\"2023-05-02T18:46:23+00:00\",\"description\":\"Although it may seem complex, migrating data from Oracle to Couchbase is easier than it looks. Learn how in this blog post.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-migration-from-oracle-to-couchbase\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-migration-from-oracle-to-couchbase\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-migration-from-oracle-to-couchbase\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/data-migration-oracle-to-couchbase.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/data-migration-oracle-to-couchbase.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-migration-from-oracle-to-couchbase\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Data Migration from Oracle to Couchbase\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/06\\\/logo.svg\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/06\\\/logo.svg\",\"width\":\"1024\",\"height\":\"1024\",\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/15ea6a51d53d4739913c98d25a8d7e77\",\"name\":\"Michael Minichino\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e5c983e3a388f9834264de6a6556f8c12561bf5518091c2b867276cf6417420b?s=96&d=mm&r=g2bd93f496c9d6cba59f854851c637bad\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e5c983e3a388f9834264de6a6556f8c12561bf5518091c2b867276cf6417420b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e5c983e3a388f9834264de6a6556f8c12561bf5518091c2b867276cf6417420b?s=96&d=mm&r=g\",\"caption\":\"Michael Minichino\"},\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/es\\\/author\\\/michael-minichino\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Data Migration from Oracle to Couchbase - The Couchbase Blog","description":"Although it may seem complex, migrating data from Oracle to Couchbase is easier than it looks. Learn how in this blog post.","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.couchbase.com\/blog\/es\/data-migration-from-oracle-to-couchbase\/","og_locale":"es_MX","og_type":"article","og_title":"Data Migration from Oracle to Couchbase","og_description":"Although it may seem complex, migrating data from Oracle to Couchbase is easier than it looks. Learn how in this blog post.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/data-migration-from-oracle-to-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2023-05-02T18:46:23+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/data-migration-oracle-to-couchbase.png","type":"image\/png"}],"author":"Michael Minichino","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Michael Minichino","Est. reading time":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/"},"author":{"name":"Michael Minichino","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/15ea6a51d53d4739913c98d25a8d7e77"},"headline":"Data Migration from Oracle to Couchbase","datePublished":"2023-05-02T18:46:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/"},"wordCount":833,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/data-migration-oracle-to-couchbase.png","keywords":["database migration","modernization","oracle"],"articleSection":["Best Practices and Tutorials","Couchbase Capella","Couchbase Server","Data Modeling","SQL++ \/ N1QL Query"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/","name":"Data Migration from Oracle to Couchbase - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/data-migration-oracle-to-couchbase.png","datePublished":"2023-05-02T18:46:23+00:00","description":"Although it may seem complex, migrating data from Oracle to Couchbase is easier than it looks. Learn how in this blog post.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/data-migration-oracle-to-couchbase.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/data-migration-oracle-to-couchbase.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/data-migration-from-oracle-to-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Data Migration from Oracle to Couchbase"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/06\/logo.svg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/06\/logo.svg","width":"1024","height":"1024","caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/15ea6a51d53d4739913c98d25a8d7e77","name":"Michael Minichino","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/e5c983e3a388f9834264de6a6556f8c12561bf5518091c2b867276cf6417420b?s=96&d=mm&r=g2bd93f496c9d6cba59f854851c637bad","url":"https:\/\/secure.gravatar.com\/avatar\/e5c983e3a388f9834264de6a6556f8c12561bf5518091c2b867276cf6417420b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e5c983e3a388f9834264de6a6556f8c12561bf5518091c2b867276cf6417420b?s=96&d=mm&r=g","caption":"Michael Minichino"},"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/michael-minichino\/"}]}},"acf":[],"authors":[{"term_id":655,"user_id":81015,"is_guest":0,"slug":"michael-minichino","display_name":"Michael Minichino","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Screen-Shot-2022-03-28-at-12.40.06-PM.png","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Screen-Shot-2022-03-28-at-12.40.06-PM.png"},"0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/81015"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=2523"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/2521"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=2523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2523"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=2523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}