{"id":1038,"date":"2024-07-12T01:09:11","date_gmt":"2024-07-12T04:09:11","guid":{"rendered":"https:\/\/www.fernandosimon.com\/blog\/?p=1038"},"modified":"2024-07-12T04:05:14","modified_gmt":"2024-07-12T07:05:14","slug":"exadata-exascale-the-game-changer","status":"publish","type":"post","link":"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/","title":{"rendered":"Exadata Exascale, The Game-Changer"},"content":{"rendered":"<p style=\"text-align: justify;\">Yes, it is a game-changer. It is for DBAs. It is for DevOps. It is for Enterprises too. And it is not because of new internal services, new ways to access data, or the scalability. But because it changes and improves a lot the way that databases can be refreshed, the way that databases are cloned, how to do CI\/CD, and how to deliver databases.<\/p>\n<p style=\"text-align: justify;\">Forget all the slowness and painful process when it is needed to clone production databases over lower environments, or when it is required to clone the dev database to another one. Let\u2019s discover below what can be done with Exascale.<\/p>\n<h1 style=\"text-align: justify;\">Exascale, the basic information<\/h1>\n<p style=\"text-align: justify;\">Exascale is built on top of Exadata software. So, all the software features from Exadata are there, the smartscan, the bloom filter, the resource manager, the AI Vector, the JSON, the RDMA, and the RoCE. Even details like the internal services, the MS, CS, and RS continue the same.<\/p>\n<p style=\"text-align: justify;\">On top of that, comes the Exascale software. Several additional services are created to control the communication with the database and deliver the new features. Exascale can be used, deployed, and scaled the way that is needed. It can start, for example, with 300GB until hundreds of terabytes. So, scalability is not an issue.<\/p>\n<p style=\"text-align: justify;\">At Exascale, the usable space is called Vault and the database clusters can share this Vault (imagine that it is the same as ASM diskgroup) to put datafiles redo\u2019s and archivelogs. Going beyond, the storage can be shared (as block devices) by iSCSI to allow plug the Exascale into your network and facilitate the database migrations. When it is OCI, virtual machines can be booted using the Vault as a bootable device.<\/p>\n<p style=\"text-align: justify;\">The communication with databases does not change too much, the Oracle database kernel talks directly with Exascale Vault. So, the first big change, ASM does not exist for 23ai and newer versions. All the redundant processes consuming CPU and memory (by ASM) are gone (imagine all the clusters of ExaCC\/ExaCS\/Exadata, all of them with their own ASM process). With Exascale they don\u2019t exist anymore because, now, the databases talk directly with Exascale and the Vault. For the 19c database, the ASM is still in place. But at the same Exadata Exascale appliance can have clusters running in 23ai, and others in 19c.<\/p>\n<p style=\"text-align: justify;\"><!--more Click here to read more...--><\/p>\n<p style=\"text-align: justify;\">This is the view of CRS for Exascale running with 23ai:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\"> [oracle@linl11 ~]$ crsctl stat res -t\r\n--------------------------------------------------------------------------------\r\nName           Target  State        Server                   State details       \r\n--------------------------------------------------------------------------------\r\nLocal Resources\r\n--------------------------------------------------------------------------------\r\nora.LISTENER.lsnr\r\n               ONLINE  ONLINE       fsi11                    STABLE\r\n               ONLINE  ONLINE       fsi12                    STABLE\r\nora.acfsrm\r\n               ONLINE  ONLINE       fsi11                    STABLE\r\n               ONLINE  ONLINE       fsi12                    STABLE\r\nora.ccmb\r\n               ONLINE  ONLINE       fsi11                    STABLE\r\n               ONLINE  ONLINE       fsi12                    STABLE\r\nora.chad\r\n               ONLINE  ONLINE       fsi11                    STABLE\r\n               ONLINE  ONLINE       fsi12                    STABLE\r\nora.hvvmqytk.acfs-24021923006d3fe1d.acfs\r\n               ONLINE  ONLINE       fsi11                    mounted on \/acfsmounts\/oraacfs,STABLE\r\n               ONLINE  ONLINE       fsi12                    mounted on \/acfsmounts\/oraacfs,STABLE\r\nora.net1.network\r\n               ONLINE  ONLINE       fsi11                    STABLE\r\n               ONLINE  ONLINE       fsi12                    STABLE\r\nora.ons\r\n               ONLINE  ONLINE       fsi11                    STABLE\r\n               ONLINE  ONLINE       fsi12                    STABLE\r\n--------------------------------------------------------------------------------\r\nCluster Resources\r\n--------------------------------------------------------------------------------<\/pre>\n<p style=\"text-align: justify;\">And these are the basis for Exascale, <a href=\"https:\/\/docs.oracle.com\/en\/engineered-systems\/exadata-database-exascale\/exdxs\/index.html\" target=\"_blank\" rel=\"noopener\">the documentation<\/a> has a lot of information about the new services and other details.<\/p>\n<h1 style=\"text-align: justify;\">Vault<\/h1>\n<p style=\"text-align: justify;\">To resume, Vault is where your data is stored, and where the Exascale manages it. The Exascale software spreads the database files in all Exadata storage servers and isolates\/secures access between different users\/clusters. The access is done by users using traditional wallets.<\/p>\n<p style=\"text-align: justify;\">The reference and association are similar to an ASM diskgroup. The access is done using the \u201c@\u201d, instead of the \u201c+\u201d of ASM. And it is that. For the database point of view the datafile now will be like this: <em>@hVvMQYTk\/SIM1-CRS-9FB1BF8FFC57CF4DBFCA211A3C47B3D1\/CDB1\/1958BAD8B27B2F85E0636039010AB112\/DATAFILE\/SYSTEM.OMF.54C2961A<\/em><\/p>\n<p style=\"text-align: justify;\">Inside the Vault exists Datasets, which is the path where the file is stored. For databases, it follows: <em>@Vault-name:GI-cluster-ID:CDB-ID:PDB-ID<\/em>. For other types of data, the path changes. Vault is based on Exadata celldisks exposed as Storage Pools, and they can be created for each media type (EC, HP, Flash). The Vault can mix several Storage Pools, and templates can be created to redirect files to the desired storage pool inside the Vault.<\/p>\n<p style=\"text-align: justify;\">Users can access and administrate in several ways. Traditional users can access to read\/write, and administrators can limit resources like IOPS.<\/p>\n<h1 style=\"text-align: justify;\">But <strong>WHY<\/strong> game-changer?<\/h1>\n<p style=\"text-align: justify;\">Let\u2019s pick up the datafiles, inside the Vault the Exascale software sees each one of the datafile extents, hash them, and saves information about the disks where they are in one mapping table of storage buckets.<\/p>\n<p style=\"text-align: justify;\">The mapping table is a simple structure inside the Exascale software that tells what is the location for each extent. A hash function determines the bucket and the Exascale software (using the mapping table) defines the locate\/disk where the bucket will be written. By the mirror redundancy, each bucket is stored in several storage cells.<\/p>\n<p style=\"text-align: justify;\">When a database is cloned, the Exascale software identifies the extends for the source database, and the buckets where they are, and shares access to them to the target database. The new blocks created\/modified by the source (and the target database created by the clone) are written in the new places while the original (not modified ones) remain the same and continue to be shared between both databases.<\/p>\n<div id=\"attachment_1044\" style=\"width: 635px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1044\" class=\"wp-image-1044 size-large\" src=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01-1024x572.jpg\" alt=\"\" width=\"625\" height=\"349\" srcset=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01-1024x572.jpg 1024w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01-300x168.jpg 300w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01-768x429.jpg 768w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01-1536x858.jpg 1536w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01-2048x1144.jpg 2048w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01-624x349.jpg 624w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><p id=\"caption-attachment-1044\" class=\"wp-caption-text\">Image extracted from the presentation &#8220;Exadata Exascale: Next Generation Architecture and Technology Preview [LRN2724]&#8221; of OCW2023<\/p><\/div>\n<p style=\"text-align: justify;\">So, in the end, it is not needed to copy datafiles during database clones. The process is done completely at the storage level it is just extents, buckets, and mapping table share\/access. And since it is the same Vault that stores the data the source database can be in open state, receiving reads\/writes. And it is not needed to create sparse diskgroups to do that.<\/p>\n<div id=\"attachment_1043\" style=\"width: 635px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-02.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1043\" class=\"wp-image-1043 size-large\" src=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-02-1024x575.jpg\" alt=\"\" width=\"625\" height=\"351\" srcset=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-02-1024x575.jpg 1024w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-02-300x168.jpg 300w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-02-768x431.jpg 768w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-02-1536x863.jpg 1536w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-02-2048x1150.jpg 2048w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-02-624x350.jpg 624w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><p id=\"caption-attachment-1043\" class=\"wp-caption-text\">Image extracted from the presentation &#8220;Exadata Exascale: Next Generation Architecture and Technology Preview [LRN2724]&#8221; of OCW2023<\/p><\/div>\n<h2 style=\"text-align: justify;\">Snapshot Copy<\/h2>\n<p style=\"text-align: justify;\"><strong>In real life this new Exascale snapshot mode works like this<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">SQL&gt; set timing on    \r\nSQL&gt;\r\nSQL&gt; show pdbs\r\n\r\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\r\n---------- ------------------------------ ---------- ----------\r\n         2 PDB$SEED                       READ ONLY  NO\r\n         3 FSI1PDB                        READ WRITE NO\r\n         5 FSI1PDB114G                    READ WRITE NO\r\n         8 FSI1PDB622G                    READ WRITE NO\r\nSQL&gt;\r\nSQL&gt; select con_id, sum(bytes)\/1024\/1024\/1024 as size_gb from v$datafile group by con_id;\r\n\r\n    CON_ID    SIZE_GB\r\n---------- ----------\r\n         1 5.23925781\r\n         2 .673828125\r\n         3 1.49450684\r\n         5 113.907593\r\n         8 622.129272\r\n\r\nElapsed: 00:00:00.01\r\nSQL&gt; \r\nSQL&gt; create pluggable database FSI1PDB114G_FULL from FSI1PDB114G;\r\n\r\nPluggable database created.\r\n\r\nElapsed: 00:02:32.96\r\nSQL&gt; alter pluggable database FSI1PDB114G_FULL open;\r\n\r\nPluggable database altered.\r\n\r\nElapsed: 00:00:16.18\r\nSQL&gt; show pdbs\r\n\r\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\r\n---------- ------------------------------ ---------- ----------\r\n         2 PDB$SEED                       READ ONLY  NO\r\n         3 FSI1PDB                        READ WRITE NO\r\n         4 FSI1PDB114G_FULL               READ WRITE NO\r\n         5 FSI1PDB114G                    READ WRITE NO\r\n         8 FSI1PDB622G                    READ WRITE NO\r\nSQL&gt;\r\nSQL&gt; create pluggable database FSI1PDB114G_SNAP from FSI1PDB114G snapshot copy;\r\n\r\nPluggable database created.\r\n\r\nElapsed: 00:00:09.97\r\nSQL&gt; alter pluggable database FSI1PDB114G_SNAP open;\r\n\r\nPluggable database altered.\r\n\r\nElapsed: 00:00:10.73\r\nSQL&gt;\r\nSQL&gt; show pdbs\r\n\r\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\r\n---------- ------------------------------ ---------- ----------\r\n         2 PDB$SEED                       READ ONLY  NO\r\n         3 FSI1PDB                        READ WRITE NO\r\n         4 FSI1PDB114G_FULL               READ WRITE NO\r\n         5 FSI1PDB114G                    READ WRITE NO\r\n         6 FSI1PDB114G_SNAP               READ WRITE NO\r\n         8 FSI1PDB622G                    READ WRITE NO\r\nSQL&gt;\r\nSQL&gt; select con_id, sum(bytes)\/1024\/1024\/1024 as size_gb from v$datafile where con_id in(4, 5, 6) group by con_id;\r\n\r\n    CON_ID    SIZE_GB\r\n---------- ----------\r\n         4 113.907593\r\n         5 113.907593\r\n         6 113.907593\r\n\r\nElapsed: 00:00:00.06\r\nSQL&gt;<\/pre>\n<p style=\"text-align: justify;\">Explaining what\u2019s happened above:<\/p>\n<ol style=\"text-align: justify;\">\n<li>The FSI1PDB114G is the pdb #5 and has 114GB.<\/li>\n<li>It was cloned using the traditional way and took 2 minutes and 32 seconds. After was opened.<\/li>\n<li>It was cloned <strong>using the Exascale method with SNAPSHOT COPY<\/strong>. It took 9 seconds. After was opened.<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">So, <strong>this is the game-changer<\/strong>. Imagine refreshing entire databases in 10 seconds. 100GB cloned, available to open in read and write in 10 seconds. Imagine all the pipelines and CI\/CD that can be done faster. Imagine all DevOps that can create all DEV environments in 10 seconds. Exascale can be renamed to ExaOps machine and still be accurate.<\/p>\n<p style=\"text-align: justify;\">Something important to reinforce is that, now, it is not necessary to use fancy commands or Storage shares\/NFSs to do the snapshot. They can be done directly from the sqlplus with one simple command. And looking at the example above, it is possible to notice that even the traditional clone, was executed online and with one command. Some Exascale optimizations (at the storage level) will help even if the conventional clone is used.<\/p>\n<p style=\"text-align: justify;\">Continuing from above, the pdb FSI1PDB622G has 622GB, and when trying to clone it (as before), Exascale magic does the trick:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">SQL&gt; create pluggable database FSI1PDB622G_FULL from FSI1PDB622G;\r\n\r\nPluggable database created.\r\n\r\nElapsed: 00:16:38.27\r\nSQL&gt;\r\nSQL&gt; alter pluggable database FSI1PDB622G_FULL open;\r\n\r\nPluggable database altered.\r\n\r\nElapsed: 00:00:16.86\r\nSQL&gt; \r\nSQL&gt; create pluggable database FSI1PDB622G_SNAP from FSI1PDB622G snapshot copy;\r\n\r\nPluggable database created.\r\n\r\nElapsed: 00:00:10.01\r\nSQL&gt; \r\nSQL&gt; alter pluggable database FSI1PDB622G_SNAP open;\r\n\r\nPluggable database altered.\r\n\r\nElapsed: 00:00:12.45\r\nSQL&gt; show pdbs\r\n\r\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\r\n---------- ------------------------------ ---------- ----------\r\n         2 PDB$SEED                       READ ONLY  NO\r\n         3 FSI1PDB1                       READ WRITE NO\r\n         4 FSI1PDB114G_FULL               READ WRITE NO\r\n         5 FSI1PDB114G                    READ WRITE NO\r\n         6 FSI1PDB114G_SNAP               READ WRITE NO\r\n         7 FSI1PDB622G_FULL               READ WRITE NO\r\n         8 FSI1PDB622G                    READ WRITE NO\r\n         9 FSI1PDB622G_SNAP               READ WRITE NO         \r\nSQL&gt;<\/pre>\n<p style=\"text-align: justify;\">The gains are pretty clear. The 622GB clone in the traditional way took 16 minutes and 38 seconds. Using the Exascale SNAPSHOT COPY the same clone took 10 seconds.<\/p>\n<p style=\"text-align: justify;\">Can be argued that works just inside the same CBD, <strong>but this works between different CDBs? YES!<\/strong> Look:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[oracle@lin11 ~]$ export ORACLE_SID=CDB11\r\n[oracle@lin11 ~]$ sqlplus \/ as sysdba\r\n\r\nSQL*Plus: Release 23.0.0.0.0 - Production on Sun Mar 24 00:36:26 2024\r\nVersion 23.3.0.23.09\r\n\r\nCopyright (c) 1982, 2023, Oracle.  All rights reserved.\r\n\r\n\r\nConnected to:\r\nOracle Database 23c Enterprise Edition Release 23.0.0.0.0 - Production\r\nVersion 23.3.0.23.09\r\n\r\nSQL&gt; show pdbs\r\n\r\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\r\n---------- ------------------------------ ---------- ----------\r\n         2 PDB$SEED                       READ ONLY  NO\r\n         3 CDB1PDB1                       READ WRITE NO\r\nSQL&gt; \r\nSQL&gt; CREATE DATABASE LINK clone_link CONNECT TO c##remote_clone_user IDENTIFIED BY \"W3lc0m3#W3lc0m3#\" USING 'FSI1';\r\n\r\nDatabase link created.\r\n\r\nSQL&gt; \r\nSQL&gt; set timing on\r\nSQL&gt; create pluggable database CDB1PDB114G_FULL from FSI1PDB114G@clone_link; \r\n\r\nPluggable database created.\r\n\r\nElapsed: 00:02:14.01\r\nSQL&gt; alter pluggable database CDB1PDB114G_FULL open;\r\n\r\nPluggable database altered.\r\n\r\nElapsed: 00:00:16.76\r\nSQL&gt; \r\nSQL&gt; create pluggable database CDB1PDB114G_SNAP from FSI1PDB114G@clone_link SNAPSHOT COPY;\r\n\r\nPluggable database created.\r\n\r\nElapsed: 00:00:12.08\r\nSQL&gt; alter pluggable database CDB1PDB114G_SNAP open;\r\n\r\nPluggable database altered.\r\n\r\nElapsed: 00:00:14.37\r\nSQL&gt;\r\nSQL&gt; show pdbs\r\n\r\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\r\n---------- ------------------------------ ---------- ----------\r\n         2 PDB$SEED                       READ ONLY  NO\r\n         3 CDB1PDB1                       READ WRITE NO\r\n         4 CDB1PDB114G_FULL               READ WRITE NO\r\n         5 CDB1PDB114G_SNAP               READ WRITE NO     \r\nSQL&gt; \r\nSQL&gt; select con_id, sum(bytes)\/1024\/1024\/1024 as size_gb from v$datafile where con_id in(4, 5) group by con_id;\r\n\r\n    CON_ID    SIZE_GB\r\n---------- ----------\r\n         4 113.907593\r\n         5 113.907593\r\n\r\nElapsed: 00:00:00.06\r\nSQL&gt;<\/pre>\n<p style=\"text-align: justify;\">So, fast cloning works if PDBs are in the same container and even if they are in different CDB\u2019s. Above, the clone worked in a similar time as doing inside the same container because, when the SNAPSHOT COPY command is triggered, the Exascale software interpretates and clones directly at the storage level. The pointer to the mapping table of extents (the buckets) is added. When the source PDB modifies a datafile block, the new version is created and the cloned PDB(s) continues to see only the old image of block\/extend. This is just a condensed description of what happens internally in Exascale software.<\/p>\n<p style=\"text-align: justify;\">Until this moment, the snapshot clone works (whatever the database) if the CDBs are in the same Exascale Vault. The clone works for the entire full CDB as well, but in this case, more steps are needed (like new nid). The source of the clone can be the Data Gaurd Standby database as well.<\/p>\n<h1 style=\"text-align: justify;\">Exascale, Management<\/h1>\n<p style=\"text-align: justify;\">As discussed before, with Exascale there is no more ASM, so, no more sqlplus connection with SYSASM and ASMCD. For now, there are two new important tools:<\/p>\n<ul style=\"text-align: justify;\">\n<li><strong>XSH<\/strong>: Useful to manage the content of the Vault. Like, copy and remove files.<\/li>\n<li><strong>ESCLI<\/strong>: The powerful tool, used to administrate the Exascale. It is similar to exacli for ExaCC. Can be used to create the Vault, Storage Pool, and users by example.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Below are some examples of xsh that can be useful in daily tasks.<\/p>\n<p style=\"text-align: justify;\"><strong>List details of Vault (similar to asmcd lsdg command):<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[oracle@lin11 ~]$ xsh ls @hVvMQYTk --detail\r\nname      createTime           createdBy  flashCacheProv flashLogProv iopsProvEF iopsProvHC spaceProvEF spaceProvHC   spaceUsedEF spaceUsedHC   xrmemCacheProvEF xrmemCacheProvHC acl                                                                \r\n@hVvMQYTk Feb 19 22:25:08 2024 escssvcops unlimited      true         0          72320      0           6597069766656 0           5613863531100 0                unlimited        escssvcops:M;FBDVISTFBQJPGJAN6W2ESPQ:R;WTPND9HCBO5P8QGASKJHJGDPW:R \r\n[oracle@lin11 ~]$<\/pre>\n<p style=\"text-align: justify;\"><strong>Checking details of one file:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[oracle@lin11 ~]$ xsh ls @hVvMQYTk\/SIM1-CRS-9FB1BF8FFC57CF4DBFCA211A3C47B3D1\/FSI1\/195C48B6278590A6E0636039010ACC99\/DATAFILE\/TBSLOAD.OMF.53B95414 --detail\r\nname                                                                                                                    createTime           usedBy                                size         blockSize fileType redundancy contentType media \r\n@hVvMQYTk\/SIM1-CRS-9FB1BF8FFC57CF4DBFCA211A3C47B3D1\/FSI1\/195C48B6278590A6E0636039010ACC99\/DATAFILE\/TBSLOAD.OMF.53B95414 May 26 17:05:16 2024 9fb1bf8ffc57cf4dbfca211a3c47b3d1:SIM1 625991491584 8192      DATAFILE high       DATA        HC    \r\n[oracle@lin11 ~]$<\/pre>\n<p style=\"text-align: justify;\"><strong>List files for one DataSet (wildcards can be used):<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[oracle@lin11 ~]$  xsh ls @hVvMQYTk\/SIM1-CRS-9FB1BF8FFC57CF4DBFCA211A3C47B3D1\/%CDB1STB%  \r\n@hVvMQYTk\/SIM1-CRS-9FB1BF8FFC57CF4DBFCA211A3C47B3D1\/CDB1STB\/0454765FDBD85262E0631C284664D815\/DATAFILE\/SYSAUX.OMF.44140F45  \r\n...\r\n...\r\n@hVvMQYTk\/SIM1-CRS-9FB1BF8FFC57CF4DBFCA211A3C47B3D1\/CDB1STB\/ONLINELOG\/group_8.OMF.57D66C8D  \r\n@hVvMQYTk\/SIM1-CRS-9FB1BF8FFC57CF4DBFCA211A3C47B3D1\/CDB1STB\/PARAMETERFILE\/spfile.OMF.1BBE70F8  \r\n@hVvMQYTk\/SIM1-CRS-9FB1BF8FFC57CF4DBFCA211A3C47B3D1\/CDB1STB\/PASSWORD\/pwdCDB1STB.0AF4D3A8  \r\n@hVvMQYTk\/SIM1-CRS-9FB1BF8FFC57CF4DBFCA211A3C47B3D1\/CDB1STB\/TEMPFILE\/TEMP.OMF.3CBAA28C  \r\n[root@lin11 ~]#<\/pre>\n<p style=\"text-align: justify;\"><strong>Removing files (wildcards can be used to delete several files at the same time):<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[oracle@lin11 ~]$ xsh rm @hVvMQYTk\/SIM1-CRS-9FB1BF8FFC57CF4DBFCA211A3C47B3D1\/%CDB1STB%\r\n[oracle@lin11 ~]$<\/pre>\n<p style=\"text-align: justify;\"><strong>As discussed before, no more ASM, but the CRS still exists. So, the information from VOTEDISK and OCR can be retrieved as before:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[oracle@lin11 ~]$ crsctl query css votedisk\r\n##  STATE    File Universal Id                File Name Disk group\r\n--  -----    -----------------                --------- ---------\r\n 1. ONLINE   09244fc460384f82bf1bd0bbf170b28b (@hVvMQYTk\/SIM1-CRS-9FB1BF8FFC57CF4DBFCA211A3C47B3D1\/vfile1) []\r\nLocated 1 voting disk(s).\r\n[oracle@lin11 ~]$ \r\n[oracle@lin11 ~]$ ocrcheck\r\nStatus of Oracle Cluster Registry is as follows :\r\n     Version                  :          4\r\n     Total space (kbytes)     :     569748\r\n     Used space (kbytes)      :      85000\r\n     Available space (kbytes) :     484748\r\n     ID                       :  878048725\r\n     Device\/File Name         : @hVvMQYTk\/SIM1-CRS-9FB1BF8FFC57CF4DBFCA211A3C47B3D1\/data.ocr\r\n                                    Device\/File integrity check succeeded\r\n\r\n                                    Device\/File not configured\r\n\r\n                                    Device\/File not configured\r\n\r\n                                    Device\/File not configured\r\n\r\n                                    Device\/File not configured\r\n\r\n     Cluster registry integrity check succeeded\r\n\r\n     Logical corruption check bypassed due to non-privileged user\r\n\r\n[oracle@lin11 ~]$<\/pre>\n<h1 style=\"text-align: justify;\">Summary<\/h1>\n<p style=\"text-align: justify;\">It is clear, the Exascale is a game-changer. Being possible to clone PDBs and entire CDBs in a fast and secure way will facilitate a lot. Imagine all the actual work to do lift and shift, pipelines, and CI\/CD to release one environment. Even using traditional storage (non-Exadata), a lot of commands are needed to avoid the datafile fuzziness, like the rman \u201c<a href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/23\/bradv\/user-managed-flashback-dbpitr.html#GUID-5A3BB8EE-291F-41C6-976C-1F304069FF0B\" target=\"_blank\" rel=\"noopener\"><em>snapshot time<\/em><\/a>\u201d for recovering the database, and other controls to check when the storage snapshot was made.<\/p>\n<p style=\"text-align: justify;\">Now, with Exascale, there is a proper way to do snapshots for Engineered Systems. And this is just one small part of Exascale, a lot of new features are there. Block devices can be created and exported to Linux using iSCSI. Fine-tuned IORM can be deployed to control if one database can use or not flash by example. And environments can be scaled from a few to hundreds of TB\u2019s. The limitation from growing from quarter, half, full, and elastic Exadata does not exist anymore.<\/p>\n<p style=\"text-align: justify;\">Exascale is that, a lot of new features build up over and solid Exadata. With the launch of Exadata Exascale blogs and notes will start to appear, for now, check the:<\/p>\n<ul style=\"text-align: justify;\">\n<li><a href=\"https:\/\/www.oracle.com\/engineered-systems\/exadata\/\" target=\"_blank\" rel=\"noopener\">Exadata page<\/a>.<\/li>\n<li><a href=\"https:\/\/blogs.oracle.com\/exadata\/post\/exadata-exascale\" target=\"_blank\" rel=\"noopener\">Exascale Architecture<\/a><\/li>\n<li><a href=\"https:\/\/blogs.oracle.com\/exadata\/\" target=\"_blank\" rel=\"noopener\">Exadata Blog<\/a>.<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=XtV4Dny7c7c\" target=\"_blank\" rel=\"noopener\">Launch video from Exadata Exascale<\/a>.<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=ggh0pIuPj2g\" target=\"_blank\" rel=\"noopener\">Provisioning Exadata Exascale at OCI Cloud<\/a>.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">&nbsp;<\/p>\n<p style=\"text-align: justify;\"><strong>Disclaimer<\/strong>: \u201c<em>The postings on this site are my own and don\u2019t necessarily represent my actual employer positions, strategies, or opinions. The information here was edited to be useful for general purposes, and specific data and identifications were removed to allow reach the generic audience and to be useful for the community. Post protected by copyright.<\/em>\u201d<\/p>\n<p style=\"text-align: justify;\"><strong>Disclaimer #2<\/strong>: <em>&#8220;This post was possible due to the availability of Exadata Exascale and the participation in the Beta Program. Thank you for the opportunity Oracle Team. This post is not marketing or requested by Oracle. It is a personal opinion&#8221;.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yes, it is a game-changer. It is for DBAs. It is for DevOps. It is for Enterprises too. And it is not because of new internal services, new ways to access data, or the scalability. But because it changes and improves a lot the way that databases can be refreshed, the way that databases are [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[179,29,77,6,186,5],"tags":[180,69,187,65],"class_list":["post-1038","post","type-post","status-publish","format-standard","hentry","category-23ai","category-database","category-engineeredsystems","category-exadata","category-exascale","category-oracle","tag-23ai","tag-exadata","tag-exascale","tag-oracle"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Exadata Exascale, The Game-Changer - Fernando Simon<\/title>\n<meta name=\"description\" content=\"Exadata Exascale, what it is and how it works, new commands like SNAPSHOT COPY detailed. Also, VAULT, Storage Pools, Buckets, ASM, XSH, and ESCLI are described.\" \/>\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.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Exadata Exascale, The Game-Changer - Fernando Simon\" \/>\n<meta property=\"og:description\" content=\"Exadata Exascale, what it is and how it works, new commands like SNAPSHOT COPY detailed. Also, VAULT, Storage Pools, Buckets, ASM, XSH, and ESCLI are described.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/\" \/>\n<meta property=\"og:site_name\" content=\"Fernando Simon\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-12T04:09:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-12T07:05:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01-1024x572.jpg\" \/>\n<meta name=\"author\" content=\"Simon\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Simon\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/\"},\"author\":{\"name\":\"Simon\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"headline\":\"Exadata Exascale, The Game-Changer\",\"datePublished\":\"2024-07-12T04:09:11+00:00\",\"dateModified\":\"2024-07-12T07:05:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/\"},\"wordCount\":1783,\"commentCount\":1,\"image\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01-1024x572.jpg\",\"keywords\":[\"23ai\",\"Exadata\",\"Exascale\",\"Oracle\"],\"articleSection\":[\"23ai\",\"Database\",\"Engineered Systems\",\"Exadata\",\"Exascale\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/\",\"name\":\"Exadata Exascale, The Game-Changer - Fernando Simon\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01-1024x572.jpg\",\"datePublished\":\"2024-07-12T04:09:11+00:00\",\"dateModified\":\"2024-07-12T07:05:14+00:00\",\"author\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"description\":\"Exadata Exascale, what it is and how it works, new commands like SNAPSHOT COPY detailed. Also, VAULT, Storage Pools, Buckets, ASM, XSH, and ESCLI are described.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#primaryimage\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01.jpg\",\"contentUrl\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01.jpg\",\"width\":2247,\"height\":1255},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.fernandosimon.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Exadata Exascale, The Game-Changer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#website\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/\",\"name\":\"Fernando Simon\",\"description\":\"Have you hugged your backup today?\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.fernandosimon.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\",\"name\":\"Simon\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g\",\"caption\":\"Simon\"},\"sameAs\":[\"http:\/\/www.fernandosimon.com\"],\"url\":\"https:\/\/www.fernandosimon.com\/blog\/author\/simon\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Exadata Exascale, The Game-Changer - Fernando Simon","description":"Exadata Exascale, what it is and how it works, new commands like SNAPSHOT COPY detailed. Also, VAULT, Storage Pools, Buckets, ASM, XSH, and ESCLI are described.","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.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/","og_locale":"en_US","og_type":"article","og_title":"Exadata Exascale, The Game-Changer - Fernando Simon","og_description":"Exadata Exascale, what it is and how it works, new commands like SNAPSHOT COPY detailed. Also, VAULT, Storage Pools, Buckets, ASM, XSH, and ESCLI are described.","og_url":"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/","og_site_name":"Fernando Simon","article_published_time":"2024-07-12T04:09:11+00:00","article_modified_time":"2024-07-12T07:05:14+00:00","og_image":[{"url":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01-1024x572.jpg","type":"","width":"","height":""}],"author":"Simon","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Simon","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#article","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/"},"author":{"name":"Simon","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"headline":"Exadata Exascale, The Game-Changer","datePublished":"2024-07-12T04:09:11+00:00","dateModified":"2024-07-12T07:05:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/"},"wordCount":1783,"commentCount":1,"image":{"@id":"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01-1024x572.jpg","keywords":["23ai","Exadata","Exascale","Oracle"],"articleSection":["23ai","Database","Engineered Systems","Exadata","Exascale","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/","url":"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/","name":"Exadata Exascale, The Game-Changer - Fernando Simon","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#primaryimage"},"image":{"@id":"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01-1024x572.jpg","datePublished":"2024-07-12T04:09:11+00:00","dateModified":"2024-07-12T07:05:14+00:00","author":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"description":"Exadata Exascale, what it is and how it works, new commands like SNAPSHOT COPY detailed. Also, VAULT, Storage Pools, Buckets, ASM, XSH, and ESCLI are described.","breadcrumb":{"@id":"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#primaryimage","url":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01.jpg","contentUrl":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/07\/Exascale-Mapping-Table-01.jpg","width":2247,"height":1255},{"@type":"BreadcrumbList","@id":"https:\/\/www.fernandosimon.com\/blog\/exadata-exascale-the-game-changer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fernandosimon.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Exadata Exascale, The Game-Changer"}]},{"@type":"WebSite","@id":"https:\/\/www.fernandosimon.com\/blog\/#website","url":"https:\/\/www.fernandosimon.com\/blog\/","name":"Fernando Simon","description":"Have you hugged your backup today?","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fernandosimon.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9","name":"Simon","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g","caption":"Simon"},"sameAs":["http:\/\/www.fernandosimon.com"],"url":"https:\/\/www.fernandosimon.com\/blog\/author\/simon\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5ofTp-gK","_links":{"self":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/1038","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/comments?post=1038"}],"version-history":[{"count":0,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/1038\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/media?parent=1038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/categories?post=1038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/tags?post=1038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}