{"id":9979,"date":"2017-04-26T09:26:23","date_gmt":"2017-04-26T07:26:23","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/"},"modified":"2017-04-26T09:26:23","modified_gmt":"2017-04-26T07:26:23","slug":"oracle-12-2-tables-indexes-new-features","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/","title":{"rendered":"Oracle 12.2 tables, indexes new features"},"content":{"rendered":"<p>The Oracle 12.2.0.1 version has some interesting new features\u00a0\u00a0concerning tables or indexes.<\/p>\n<p>The first new feature is about the online table move.<\/p>\n<p>In 12.2 version Oracle offers now the possibility to move non-partitioned tables without blocking any DML operations.<\/p>\n<p>To realise this operation, we must use the ONLINE keyword and\/or the UPDATE_INDEXES clause. If you remember, in the previous Oracle version, we encountered the classical ORA-01502 error.<\/p>\n<p>If you remember in version 12.1, we have the following behaviour, we create a table with a constraint and we insert some values:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; create table emp (name varchar2(10), salary number );\nTable created.\nSQL&gt; alter table emp add constraint emp_pk primary key (name);\nTable altered.\nSQL&gt; insert into emp values ('Bill', 100000);\n1 row created.\nSQL&gt; insert into emp values ('Larry', 10000000);\n1 row created.\nSQL&gt; commit;\nCommit complete.\n\nSQL&gt; select * from emp;\nNAME\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 SALARY\n ---------- ----------\n Bill\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 100000\n Larry\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0 10000000<\/pre>\n<p>Then if \u00a0we move the table to another tablespace, the index become unusable, and if we try to insert some data we receive the ORA-1502 error:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter table emp move tablespace PSI;\nTable altered.\n \nSQL&gt; select index_name, status from user_indexes;\n \nINDEX_NAME        STATUS\nEMP_PK           UNUSABLE\n \nSQL&gt; insert into emp values ('Pierre', 99999);\ninsert into emp values ('Pierre', 99999)\n*\nERROR at line 1:\nORA-01502: index 'PSI.EMP_PK' or partition of such index is in unusable state<\/pre>\n<p>Now in 12.2 version, we do not have this problem anymore:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; create table emp (name varchar2(10), salary number);\nTable created.\n\u00a0\nSQL&gt; alter table emp add constraint emp_pk primary key (name);\nTable altered.\n\u00a0\nSQL&gt; insert into emp values ('Bill', 100000);\n1 row created.\n\u00a0\nSQL&gt; insert into emp values ('Larry', 999999);\u00a0\n1 row created.\n\u00a0\nSQL&gt; commit;\nCommit complete.\n\u00a0\nSQL&gt; select * from emp;\n\u00a0\nNAME \u00a0 \u00a0 \u00a0 SALARY\n---------- ----------\nBill \u00a0 \u00a0 \u00a0   100000\nLarry\u00a0 \u00a0 \u00a0 \u00a0 999999\n\u00a0\n\u00a0\nSQL&gt; select index_name, status from user_indexes;\n\u00a0\nINDEX_NAME        STATUS\nEMP_PK            VALID\n\u00a0\nSQL&gt; alter table emp move tablespace PSI2 update indexes;\nTable altered.\n\u00a0\nSQL&gt; select index_name, status from user_indexes;\nINDEX_NAME        STATUS\nEMP_PK            VALID\n\u00a0\nSQL&gt; insert into emp values ('Pierre', 99999);\n1 row created.\n\nUsing this way, we also can move indexes in different tablespaces:<\/pre>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter table emp move online tablespace PSI\n\u00a0 2\u00a0 update indexes\n\u00a0 3\u00a0 (emp_pk tablespace psi_ix1,\n\u00a0 4\u00a0 emp_ix2 tablespace psi_ix1);\n\u00a0\nTable altered.\n\u00a0\nSQL&gt; select index_name, status, tablespace_name from user_indexes;\n\u00a0\nINDEX_NAME.   STATUS TABLESPACE_NAME\nEMP_PK        VALID\u00a0 PSI_IX1\nEMP_IX2       VALID\u00a0 PSI_IX1<\/pre>\n<p>Another interesting new feature is about the conversion to a partitioned table.\u00a0Before the Oracle 12.2 version, the methods used to convert a non-partitioned table to a partitioned table were not online or were using dbms_redefinition. Now in 12.2 we have the possibility to realize the operation in online mode:<\/p>\n<p>SQL&gt; create table emp (name varchar2(10), emp_id number, salary number);<\/p>\n<p>Table created.<\/p>\n<p>SQL&gt; insert into emp values(&#8216;Larry&#8217;, 1, 1000000);<\/p>\n<p>1 row created.<\/p>\n<p>SQL&gt; insert into emp values (&#8216;Bill&#8217;, 100, 999999);<\/p>\n<p>1 row created.<\/p>\n<p>SQL&gt; insert into emp values (&#8216;Steve&#8217;, 1000, 1000000);<\/p>\n<p>1 row created.<\/p>\n<p>SQL&gt; alter table emp modify<\/p>\n<p>partition by range (emp_id) interval (100)<\/p>\n<p>(partition p1 values less than (50),<\/p>\n<p>partition p2 values less than (500),<\/p>\n<p>partition p3 values less than (5000)<\/p>\n<p>) online;<\/p>\n<p>Table altered.<\/p>\n<p>SQL&gt; select table_name , partition_name, high_value from user_tab_partitions;<\/p>\n<p>TABLE_NAME. \u00a0 \u00a0 PARTITION_NAME \u00a0 \u00a0 \u00a0HIGH_VALUE<\/p>\n<p>EMP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0P1 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a050<\/p>\n<p>EMP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0P2 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 500<\/p>\n<p>EMP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0P3. \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a05000<\/p>\n<p>As you can see, this is really an easy way to move a non partitioned table to a partitioned table.<\/p>\n<p>The next new feature I will talk about is concerning the advanced compression. For example, we have the possibility to create a tablespace with such an argument:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; create tablespace psi_ix_compress\n\u00a0 2\u00a0 default index compress advanced high\n\u00a0 3\u00a0 datafile '\/u01\/oradata\/db1\/db1pdb1\/psi_ix_comp01.dbf' size 10M;\n\u00a0\nTablespace created.<\/pre>\n<p>Every new index created in this tablespace will use high advanced compression. But at first approach it does not seem to work very well:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; create index psi_ix2 on emp(salary) tablespace psi_ix_compress;\n\u00a0\nIndex created.\n\u00a0\nSQL&gt; select index_name, compression from user_indexes;\n\u00a0\nINDEX_NAME             COMPRESSION\nEMP_PK                  DISABLED\nEMP_IX2                 DISABLED\nPSI_IX2                 DISABLED<\/pre>\n<p>But if you have a more precise look, there is a parameter you have also to modify:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; show parameter db_index_compression_inheritance\n\u00a0\nNAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0                        TYPE VALUE\ndb_index_compression_inheritance \u00a0 \u00a0 string NONE\n\nSQL&gt; alter system set db_index_compression_inheritance = 'TABLESPACE';\n\u00a0\nSystem altered.<\/pre>\n<p>And finally, it works fine:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; create index psi_ix1_comp on emp (name, emp_id,salary) tablespace psi_ix_compress;\nIndex created.\n<strong>\u00a0<\/strong>\nSQL&gt; select index_name, compression from user_indexes where index_name like '%COMP';\nINDEX_NAME.      COMPRESSION\nPSI_IX1_COMP     ADVANCED HIGH<\/pre>\n<p>We have the possibility to specify the ADVANCED COMPRESS HIGH or LOW argument in the create or rebuild statement:<\/p>\n<p class=\"dbiNormal\"><span lang=\"EN-US\">\u00a0<\/span><\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; create index psi_ix1 on emp (salary) compress advanced low;\n\u00a0\nIndex created.\n\u00a0\nSQL&gt; select index_name, compression from user_indexes;\n\u00a0\nINDEX_NAME         COMPRESSION\nEMP_PK              DISABLED\nPSI_IX1             ADVANCED LOW\nPSI_NEW             DISABLED<\/pre>\n<p>And we can use alter index rebuild to modify to high advanced compression:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter index psi_ix1 rebuild compress advanced high;\nIndex altered.\n\u00a0\nSQL&gt; select index_name, compression from user_indexes;\n\u00a0\nINDEX_NAME.        COMPRESSION\nEMP_PK              DISABLED\nPSI_IX1.            ADVANCED HIGH\nPSI_NEW             DISABLED<\/pre>\n<p class=\"dbiNormal\">Enjoy using those Oracle 12.2.0.1 new features !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Oracle 12.2.0.1 version has some interesting new features\u00a0\u00a0concerning tables or indexes. The first new feature is about the online table move. In 12.2 version Oracle offers now the possibility to move non-partitioned tables without blocking any DML operations. To realise this operation, we must use the ONLINE keyword and\/or the UPDATE_INDEXES clause. If you [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[209],"type_dbi":[],"class_list":["post-9979","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","tag-oracle-12c"],"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>Oracle 12.2 tables, indexes new features - 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\/oracle-12-2-tables-indexes-new-features\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Oracle 12.2 tables, indexes new features\" \/>\n<meta property=\"og:description\" content=\"The Oracle 12.2.0.1 version has some interesting new features\u00a0\u00a0concerning tables or indexes. The first new feature is about the online table move. In 12.2 version Oracle offers now the possibility to move non-partitioned tables without blocking any DML operations. To realise this operation, we must use the ONLINE keyword and\/or the UPDATE_INDEXES clause. If you [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-04-26T07:26:23+00:00\" \/>\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\/oracle-12-2-tables-indexes-new-features\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/\"},\"author\":{\"name\":\"Oracle Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"headline\":\"Oracle 12.2 tables, indexes new features\",\"datePublished\":\"2017-04-26T07:26:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/\"},\"wordCount\":407,\"commentCount\":0,\"keywords\":[\"Oracle 12c\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/\",\"name\":\"Oracle 12.2 tables, indexes new features - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2017-04-26T07:26:23+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle 12.2 tables, indexes new features\"}]},{\"@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":"Oracle 12.2 tables, indexes new features - 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\/oracle-12-2-tables-indexes-new-features\/","og_locale":"en_US","og_type":"article","og_title":"Oracle 12.2 tables, indexes new features","og_description":"The Oracle 12.2.0.1 version has some interesting new features\u00a0\u00a0concerning tables or indexes. The first new feature is about the online table move. In 12.2 version Oracle offers now the possibility to move non-partitioned tables without blocking any DML operations. To realise this operation, we must use the ONLINE keyword and\/or the UPDATE_INDEXES clause. If you [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/","og_site_name":"dbi Blog","article_published_time":"2017-04-26T07:26:23+00:00","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\/oracle-12-2-tables-indexes-new-features\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/"},"author":{"name":"Oracle Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"headline":"Oracle 12.2 tables, indexes new features","datePublished":"2017-04-26T07:26:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/"},"wordCount":407,"commentCount":0,"keywords":["Oracle 12c"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/","url":"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/","name":"Oracle 12.2 tables, indexes new features - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2017-04-26T07:26:23+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-12-2-tables-indexes-new-features\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Oracle 12.2 tables, indexes new features"}]},{"@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\/9979","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=9979"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/9979\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=9979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=9979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=9979"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=9979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}