{"id":40870,"date":"2025-10-10T12:40:47","date_gmt":"2025-10-10T10:40:47","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=40870"},"modified":"2025-10-10T12:40:49","modified_gmt":"2025-10-10T10:40:49","slug":"possible-to-relocate-a-pdb-on-exacc-with-move-option","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/","title":{"rendered":"Possible to relocate a PDB on ExaCC with move option?"},"content":{"rendered":"\n<p>In some of my previous blogs, I showed how we were migrating on-premise databases to the ExaCC using Oracle ZDM at one of our customer. I also explained in some article how it was important in some case to relocate the PDB in a final CDB. Relocating a PDB on ExaCC is usually done using <code>dbaascli pdb relocate<\/code> command. The only drawback of this way, is that dbaascli is doing a copy of the datafiles during the relocate, which for a huge terabytes database, is taking time. In oder to minimise the downtime, I had to study another way to relocate the pdb, by moving the datafiles instead of doing a copy, and could manually relocate it in a few minutes. In this blog, I would like to share with you my findings and hoping it can help some of you.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h3>Purpose<\/h3>\n\n\n\n<p>In my case, I would like to relocate PDB, named PDB_DRY_999T, from the source CDB, named CDB_CHZ2, into the target CDB, named CDBTGT_CHZ2.<\/p>\n\n\n\n<p>Source CDB information:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@exacc-cl01n1:~\/ [CDB1 (CDB$ROOT)] CDB1\n\n ***********************************\n INSTANCE_NAME   : CDB1\n DB_NAME         : CDB\n DB_UNIQUE_NAME  : CDB_CHZ2\n STATUS          : OPEN READ WRITE\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 2\/9\n DATABASE_ROLE   : PRIMARY\n FLASHBACK_ON    : YES\n FORCE_LOGGING   : YES\n VERSION         : 19.26.0.0.0\n CDB_ENABLED     : YES\n PDBs            : PDB_DRY_999T  PDB$SEED\n ***********************************\n<\/pre>\n<\/br>\n\n\n\n<p>Target CDB information:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@exacc-cl01n1:~\/ [CDB1 (CDB$ROOT)] CDBTGT1\n\n ***********************************\n INSTANCE_NAME   : CDBTGT1\n DB_NAME         : CDBTGT\n DB_UNIQUE_NAME  : CDBTGT_CHZ2\n STATUS          : OPEN READ WRITE\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 2\/10\n DATABASE_ROLE   : PRIMARY\n FLASHBACK_ON    : YES\n FORCE_LOGGING   : YES\n VERSION         : 19.26.0.0.0\n CDB_ENABLED     : YES\n PDBs            : PDB$SEED\n ***********************************\n<\/pre>\n<\/br>\n\n\n\n<p>Knowing we are using TDE with ExaCC, it will be needed to export and import the encryption key. I&#8217;m using the FORCE option during export and import of the encryption key because I&#8217;m using AUTO LOGIN.<\/p>\n\n\n\n<h3>Export the encryption key on the PDB from the source CDB_CHZ2<\/h3>\n\n\n\n<p>Let&#8217;s connect to the PDB and check encryption.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,13,18,20,24,25,27,33,34,36]\">\noracle@exacc-cl01n1:~\/ [CDB1 (CDB$ROOT)] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 29 10:05:55 2025\nVersion 19.26.0.0.0\n\nCopyright (c) 1982, 2024, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production\nVersion 19.26.0.0.0\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n         3 PDB_DRY_999T                   READ WRITE NO\n\nSQL&gt; alter session set container=PDB_DRY_999T;\n\nSession altered.\n\nSQL&gt; set lines 300 pages 500\nSQL&gt; col WRL_PARAMETER format a30\n\nSQL&gt; select WRL_PARAMETER, WRL_TYPE,WALLET_TYPE, status from V$ENCRYPTION_WALLET;\n\nWRL_PARAMETER                  WRL_TYPE             WALLET_TYPE          STATUS\n------------------------------ -------------------- -------------------- ------------------------------\n                               FILE                 AUTOLOGIN            OPEN\n\nSQL&gt; col status for a20\nSQL&gt; col name for a30\n\nSQL&gt; select a.con_id, name, status, keystore_mode from v$pdbs a, v$encryption_wallet b where a.con_id=b.con_id;\n\n    CON_ID NAME                           STATUS               KEYSTORE\n---------- ------------------------------ -------------------- --------\n         3 PDB_DRY_999T                   OPEN                 UNITED\n<\/pre>\n<\/br>\n\n\n\n<p>We are in united mode so all cdb and pdb encryption keys are stored in same keystore.<\/p>\n\n\n\n<p>If we try to export the encryption key, we will get an ORA-46659 error:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5]\">\nSQL&gt; ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET \"********************\" to '\/home\/oracle\/mwagner\/TDE_for_unplug\/PDB_DRY_999T_export.p12' FORCE keystore IDENTIFIED BY \"********************\";\nADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET \"********************\" to '\/home\/oracle\/mwagner\/TDE_for_unplug\/PDB_DRY_999T_export.p12' FORCE keystore IDENTIFIED BY \"********************\"\n*\nERROR at line 1:\nORA-46659: master keys for the given PDB not found\n<\/pre>\n<\/br>\n\n\n\n\n<p>Let&#8217;s create a new master key for the PDB.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,7]\">\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         3 PDB_DRY_999T                 READ WRITE NO\n\nSQL&gt; ADMINISTER KEY MANAGEMENT SET KEY FORCE KEYSTORE IDENTIFIED BY \"********************\" WITH BACKUP USING 'pre-unplug-PDB_DRY_999T_20250829';\n\nkeystore altered.\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>And now we can export the pdb encryption key:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,7]\">\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         3 PDB_DRY_999T                   READ WRITE NO\n\nSQL&gt; ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET \"********************\" to '\/home\/oracle\/mwagner\/TDE_for_unplug\/PDB_DRY_999T_export_pdb_level.p12' FORCE keystore IDENTIFIED BY \"********************\";\n\nkeystore altered.\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<h3>Unplug PDB_DRY_999T PDB from source CDB<\/h3>\n\n\n\n<p>Let&#8217;s close the PDB and run <code>ALTER PLUGGABLE DATABASE &lt;PDB_NAME&gt; UNPLUG INTO '&lt;XML_FILE&gt;'<\/code> command:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,7,13,18,20,24,29,31,35]\">\nSQL&gt; select instance_name from v$instance;\n\nINSTANCE_NAME\n----------------\nCDB1\n\nSQL&gt; show con_name\n\nCON_NAME\n------------------------------\nCDB$ROOT\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n         3 PDB_DRY_999T                   READ WRITE NO\n\nSQL&gt; alter pluggable database PDB_DRY_999T close instances=all;\n\nPluggable database altered.\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n         3 PDB_DRY_999T                   MOUNTED\n\nSQL&gt; ALTER PLUGGABLE DATABASE PDB_DRY_999T UNPLUG INTO '\/home\/oracle\/mwagner\/unplug_pdb\/PDB_DRY_999T.xml';\n\nPluggable database altered.\n\nSQL&gt; !ls -ltrh \/home\/oracle\/mwagner\/unplug_pdb\/PDB_DRY_999T.xml\n-rw-r--r-- 1 oracle asmdba 2.7M Aug 29 10:50 \/home\/oracle\/mwagner\/unplug_pdb\/PDB_DRY_999T.xml\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>In the alert log we would see some warnings to inform that the encryption key will need to be imported. Otherwise the pdb can only be opened in restricted mode:<\/p>\n\n\n\n<p><code>PDB_DRY_999T(3):KZTDE:WARNING: Detected that PDB needs to import keys from source. PDB can only open in restricted mode until import.<\/code><\/p>\n\n\n\n<p>This is of course makes sense.<\/p>\n\n\n\n<h3>Drop the PDB but keep datafiles!!!<\/h3>\n\n\n\n<p>As we are going to relocate the PDB moving the datafiles, it is <strong>VERY IMPORTANT<\/strong> to drop the PDB by <strong>KEEPING the datafiles<\/strong>.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,8,12]\">\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n         3 PDB_DRY_999T                   MOUNTED\n\nSQL&gt; drop pluggable database PDB_DRY_999T keep datafiles;\n\nPluggable database dropped.\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>From the alert log file we can see that only the temporary file are dropped. This file will be recreated again by the oracle plug command.<\/p>\n\n\n\n<p><code>2025-08-29T10:57:26.137914+02:00<br>Deleted Oracle managed file +DATAC2\/CDB_CHZ2\/3D6E40CA5F218D4EE063181FA10A38B0\/TEMPFILE\/temp.26231.1210348651<br>2025-08-29T10:57:26.168729+02:00<br>Stopped service pdb_dry_999t<\/code><\/p>\n\n\n\n<p>If we connect to the ASM, we will see that the datafiles are still present. I still have 7.45 TB of datafiles for my PDB.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nASMCMD&gt; du PDB_DRY_999T\nUsed_MB      Mirror_used_MB\n7809404            23428212\nASMCMD&gt;\n<\/pre>\n<\/br>\n\n\n\n\n<h3>Check compatibility for plugging the PDB in the target CDB<\/h3>\n\n\n\n<p>I will now connect to the target CDB, and check if the PDB is compatible to be plug in.<\/p>\n\n\n\n<p>I will run following SQL command to do so:<\/p>\n\n\n\n<p><code>set serveroutput on<br>DECLARE<br>compatible BOOLEAN := FALSE;<br>BEGIN<br>compatible := DBMS_PDB.CHECK_PLUG_COMPATIBILITY(<br>pdb_descr_file =&gt; '\/home\/oracle\/mwagner\/unplug_pdb\/PDB_DRY_999T.xml');<br>if compatible then<br>DBMS_OUTPUT.PUT_LINE('Is pluggable PDB_DRY_999T compatible? YES');<br>else DBMS_OUTPUT.PUT_LINE('Is pluggable PDB_DRY_999T compatible? NO');<br>end if;<br>END;<\/code><\/p>\n\n\n\n<p>Let&#8217;s connect to the target CDB and check:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,21,33,39,40,41,42,43,44,45,46,47,48,49,50]\">\noracle@exacc-cl01n1:~\/ [CDB1 (CDB$ROOT)] CDBTGT1\n\n ***********************************\n INSTANCE_NAME   : CDBTGT1\n DB_NAME         : CDBTGT\n DB_UNIQUE_NAME  : CDBTGT_CHZ2\n STATUS          : OPEN READ WRITE\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 2\/10\n DATABASE_ROLE   : PRIMARY\n FLASHBACK_ON    : YES\n FORCE_LOGGING   : YES\n VERSION         : 19.26.0.0.0\n CDB_ENABLED     : YES\n PDBs            : PDB$SEED\n ***********************************\n\n PDB color: pdbname=mount, pdbname=open read-write, pdbname=open read-only\n Statustime: 2025-08-29 11:07:00\n\noracle@exacc-cl01n1:~\/ [CDBTGT1 (CDB$ROOT)] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 29 11:07:02 2025\nVersion 19.26.0.0.0\n\nCopyright (c) 1982, 2024, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production\nVersion 19.26.0.0.0\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n\nSQL&gt; set serveroutput on\nSQL&gt; DECLARE\n  2  compatible BOOLEAN := FALSE;\n  3  BEGIN\n  4  compatible := DBMS_PDB.CHECK_PLUG_COMPATIBILITY(\n  5  pdb_descr_file =&gt; '\/home\/oracle\/mwagner\/unplug_pdb\/PDB_DRY_999T.xml');\n  6  if compatible then\n  7  DBMS_OUTPUT.PUT_LINE('Is pluggable PDB_DRY_999T compatible? YES');\n  8  else DBMS_OUTPUT.PUT_LINE('Is pluggable PDB_DRY_999T compatible? NO');\n  9  end if;\n 10  END;\n 11  \/\nIs pluggable PDB_DRY_999T compatible? YES\n\nPL\/SQL procedure successfully completed.\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>The PDB can be plug in my target CDB.<\/p>\n\n\n\n<h3>Import PDB encryption key in the target CDB keystore<\/h3>\n\n\n\n<p>We first need to import the PDB encryption key in the CDB, otherwise the plugging command would failed with ORA-28374 error:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,7,13,19,23]\">\nSQL&gt; select instance_name from v$instance;\n\nINSTANCE_NAME\n----------------\nCDBTGT1\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n\nSQL&gt; show con_name\n\nCON_NAME\n------------------------------\nCDB$ROOT\n\nSQL&gt; create pluggable database PDB_DRY_999T using '\/home\/oracle\/mwagner\/unplug_pdb\/PDB_DRY_999T.xml' move;\ncreate pluggable database PDB_DRY_999T using '\/home\/oracle\/mwagner\/unplug_pdb\/PDB_DRY_999T.xml' move\n*\nERROR at line 1:\nORA-28374: typed master key not found in wallet\n<\/pre>\n<\/br>\n\n\n\n<p>So let&#8217;s import the PDB encryption key into the CDB:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,7,13]\">\nSQL&gt; select instance_name from v$instance;\n\nINSTANCE_NAME\n----------------\nCDBTGT1\n\nSQL&gt; show con_name\n\nCON_NAME\n------------------------------\nCDB$ROOT\n\nSQL&gt; ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS WITH SECRET \"********************\" from '\/home\/oracle\/mwagner\/TDE_for_unplug\/PDB_DRY_999T_export_pdb_level.p12' FORCE keystore IDENTIFIED BY \"********************\" with backup using 'pre-plug-PDB_DRY_999T_20250829';\n\nkeystore altered.\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<h3>Plug the PDB in the target CDB CDBTGT_CHZ2<\/h3>\n\n\n\n<p>Now we can plug the PDB in the target CDB:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,10,14,17,22]\">\nSQL&gt; !date\nFri Aug 29 11:27:36 CEST 2025\n\nSQL&gt; select instance_name from v$instance;\n\nINSTANCE_NAME\n----------------\nCDBTGT1\n\nSQL&gt; create pluggable database PDB_DRY_999T using '\/home\/oracle\/mwagner\/unplug_pdb\/PDB_DRY_999T.xml' move;\n\nPluggable database created.\n\nSQL&gt; !date\nFri Aug 29 11:30:36 CEST 2025\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n         3 PDB_DRY_999T                   MOUNTED\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>We can see that instead of taking several hours to relocate the PDB with dbaascli, we took about 3 minutes to relocate the PDB moving the datafiles.<\/p>\n\n\n\n<p>We can check the alert log file for any errors. In my case, I can see the completed operation:<\/p>\n\n\n\n<p><code>Completed: create pluggable database PDB_DRY_999T using '\/home\/oracle\/mwagner\/unplug_pdb\/PDB_DRY_999T.xml' move<br>2025-08-29T11:30:52.168375+02:00<\/code><\/p>\n\n\n\n<p>Checking the ASM I can see that the source datafile directory is now empty:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,8,10,19,21,24]\">\nASMCMD&gt; pwd\n+DATAC2\n\nASMCMD&gt; du PDB_DRY_999T\nUsed_MB      Mirror_used_MB\n  48780              146340\n\nASMCMD&gt; cd PDB_DRY_999T\n\nASMCMD&gt; ls\nCHANGETRACKING\/\nDATAGUARDCONFIG\/\nTEMPFILE\/\ncontrolfile\/\ndatafile\/\nonlinelog\/\npassword\/\n\nASMCMD&gt; cd datafile\n\nASMCMD&gt; pwd\n+DATAC2\/PDB_DRY_999T\/datafile\n\nASMCMD&gt; ls\nASMCMD&gt;\n<\/pre>\n<\/br>\n\n\n\n<h3>Start the PDB<\/h3>\n\n\n\n<p>Let&#8217;s start the PDB.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,8,12,19]\">\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n         3 PDB_DRY_999T                   MOUNTED\n\nSQL&gt; alter pluggable database PDB_DRY_999T open instances=all;\n\nWarning: PDB altered with errors.\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n         3 PDB_DRY_999T                   READ WRITE YES\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n         3 PDB_DRY_999T                   READ WRITE YES\n<\/pre>\n<\/br>\n\n\n\n<p>The PDB is started in restricted mode. This was given as warning in the alert log during the unplug, by informing that the encryption key needs to be imported in the PDB in order to open it without any restriction.<\/p>\n\n\n\n<p>Let&#8217;s check the violations.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,25]\">\nSQL&gt; select name,cause,type,message,status from PDB_PLUG_IN_VIOLATIONS where status  'RESOLVED';\n\nNAME            CAUSE                                              TYPE      MESSAGE                                                                                                                  STATUS\n--------------- -------------------------------------------------- --------- ------------------------------------------------------------------------------------------------------------------------ --------------------\nPDB_DRY_999T  Parameter                                          WARNING   CDB parameter processes mismatch: Previous 2048 Current 1000                                                             PENDING\nPDB_DRY_999T  Parameter                                          WARNING   CDB parameter sga_max_size mismatch: Previous 4G Current 9G                                                              PENDING\nPDB_DRY_999T  Parameter                                          WARNING   CDB parameter archive_lag_target mismatch: Previous 1800 Current 0                                                       PENDING\nPDB_DRY_999T  Parameter                                          WARNING   CDB parameter cluster_database mismatch: Previous FALSE Current TRUE                                                     PENDING\nPDB_DRY_999T  Parameter                                          WARNING   CDB parameter db_lost_write_protect mismatch: Previous 'typical' Current 'NONE'                                          PENDING\nPDB_DRY_999T  Parameter                                          WARNING   CDB parameter inmemory_force mismatch: Previous 'cellmemory_level' Current 'DEFAULT'                                     PENDING\nPDB_DRY_999T  Parameter                                          WARNING   CDB parameter wallet_root mismatch: Previous '\/var\/opt\/oracle\/dbaas_acfs\/CDB\/wallet_root' Current '\/var\/opt\/oracle\/dbaa PENDING\n                                                                             s_acfs\/CDBTGT\/wallet_root'\n\nPDB_DRY_999T  Parameter                                          WARNING   CDB parameter distributed_lock_timeout mismatch: Previous 360 Current 60                                                 PENDING\nPDB_DRY_999T  Parameter                                          WARNING   CDB parameter unified_audit_common_systemlog mismatch: Previous 'LOCAL5.INFO' Current NULL                               PENDING\nPDB_DRY_999T  Parameter                                          WARNING   CDB parameter enable_ddl_logging mismatch: Previous TRUE Current FALSE                                                   PENDING\nPDB_DRY_999T  Parameter                                          WARNING   CDB parameter awr_pdb_max_parallel_slaves mismatch: Previous 2 Current 10                                                PENDING\nPDB_DRY_999T  Parameter                                          WARNING   CDB parameter awr_snapshot_time_offset mismatch: Previous 1000000 Current 0                                              PENDING\nPDB_DRY_999T  OPTION                                             WARNING   Database option CONTEXT mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0.                          PENDING\nPDB_DRY_999T  OPTION                                             WARNING   Database option DV mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0.                               PENDING\nPDB_DRY_999T  OPTION                                             WARNING   Database option OLS mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0.                              PENDING\nPDB_DRY_999T  OPTION                                             WARNING   Database option ORDIM mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0.                            PENDING\nPDB_DRY_999T  OPTION                                             WARNING   Database option OWM mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0.                              PENDING\nPDB_DRY_999T  OPTION                                             WARNING   Database option SDO mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0.                              PENDING\nPDB_DRY_999T  Wallet Key Needed                                  ERROR     PDB needs to import keys from source.                                                                                    PENDING\n\n19 rows selected.\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>Here we have:<\/p>\n\n\n\n<p><code>PDB_DRY_999T Wallet Key Needed ERROR PDB needs to import keys from source.<\/code><\/p>\n\n\n\n<h3>Import encryption key into the PDB<\/h3>\n\n\n\n<p>Let&#8217;s connect to the PDB and import the encryption key:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,8,12,18]\">\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n         3 PDB_DRY_999T                   READ WRITE YES\n\nSQL&gt; alter session set container=PDB_DRY_999T;\n\nSession altered.\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         3 PDB_DRY_999T                   READ WRITE YES\n\nSQL&gt; ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS WITH SECRET \"********************\" from '\/home\/oracle\/mwagner\/TDE_for_unplug\/PDB_DRY_999T_export_pdb_level.p12' FORCE keystore IDENTIFIED BY \"********************\" with backup using 'post-plug-PDB_DRY_999T_20250829';\n\nkeystore altered.\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<h3>Restart the PDB<\/h3>\n\n\n\n<p>Let&#8217;s restart the PDB and check the status.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5,10,12,16,21,23,27,32]\">\nSQL&gt; alter session set container=cdb$root;\n\nSession altered.\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n         3 PDB_DRY_999T                   READ WRITE YES\n\nSQL&gt; alter pluggable database PDB_DRY_999T close instances=all;\n\nPluggable database altered.\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n         3 PDB_DRY_999T                   MOUNTED\n\nSQL&gt; alter pluggable database PDB_DRY_999T open instances=all;\n\nPluggable database altered.\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n         3 PDB_DRY_999T                   READ WRITE NO\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n\n<p>We can see that the PDB is now opened without any restriction. Let&#8217;s check the PDB violations:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5,7,8,9,11]\">\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         3 PDB_DRY_999T                   READ WRITE NO\n\nSQL&gt; col name for a15\nSQL&gt; col message for a120\nSQL&gt; col cause for a50\n\nSQL&gt; select name,cause,type,message,status from PDB_PLUG_IN_VIOLATIONS where status  'RESOLVED';\n\nNAME            CAUSE                                              TYPE      MESSAGE                                                                                                                  STATUS\n--------------- -------------------------------------------------- --------- ------------------------------------------------------------------------------------------------------------------------ --------------------\nPDB_DRY_999T  OPTION                                             WARNING   Database option CONTEXT mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0.                          PENDING\nPDB_DRY_999T  OPTION                                             WARNING   Database option DV mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0.                               PENDING\nPDB_DRY_999T  OPTION                                             WARNING   Database option OLS mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0.                              PENDING\nPDB_DRY_999T  OPTION                                             WARNING   Database option ORDIM mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0.                            PENDING\nPDB_DRY_999T  OPTION                                             WARNING   Database option OWM mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0.                              PENDING\nPDB_DRY_999T  OPTION                                             WARNING   Database option SDO mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0.                              PENDING\n\n6 rows selected.\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>There is no more violations.<\/p>\n\n\n\n<h3>Check the PDB<\/h3>\n\n\n\n<p>Check datafiles location:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,17,23]\">\nSQL&gt; select name from v$datafile where rownum select count(*) from v$datafile where name like '+DATAC2\/CDBTGT_CHZ2\/3D6E40CA5F218D4EE063181FA10A38B0\/DATAFILE%';\n\n  COUNT(*)\n----------\n      2830\n\nSQL&gt; select count(*) from v$datafile where name not like '+DATAC2\/CDBTGT_CHZ2\/3D6E40CA5F218D4EE063181FA10A38B0\/DATAFILE%';\n\n  COUNT(*)\n----------\n         0\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>All good, PDB datafiles are in the expected ASM folder.<\/p>\n\n\n\n<p>Check that there is no invalid objects:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; select count(*) from dba_invalid_objects;\n\n  COUNT(*)\n----------\n         0\n\n<\/pre>\n<\/br>\n\n\n\n<p>And finally check that all tablespace are encrypted:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,8]\">\nSQL&gt; select count(*) from  cdb_tablespaces a, (select x.con_id, y.ENCRYPTIONALG, x.name from V$TABLESPACE x,  V$ENCRYPTED_TABLESPACES y\n  2    where x.ts#=y.ts# and x.con_id=y.con_id) b where a.con_id=b.con_id(+) and a.tablespace_name=b.name(+) and b.ENCRYPTIONALG='AES128';\n\n  COUNT(*)\n----------\n      2831\n\nSQL&gt; select count(*) from  cdb_tablespaces a, (select x.con_id, y.ENCRYPTIONALG, x.name from V$TABLESPACE x,  V$ENCRYPTED_TABLESPACES y\n  2    where x.ts#=y.ts# and x.con_id=y.con_id) b where a.con_id=b.con_id(+) and a.tablespace_name=b.name(+) and b.ENCRYPTIONALG is null;\n\n  COUNT(*)\n----------\n         0\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>The PDB is as well registered in the listener:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,8]\">\noracle@exacc-cl01n1:~\/ [CDBTGT1 (CDB$ROOT)] export TNS_ADMIN=\/u02\/app\/oracle\/product\/19.0.0.0\/dbhome_1\/network\/admin\/listener_test\/\noracle@exacc-cl01n1:~\/ [CDBTGT1 (CDB$ROOT)] lsnrctl status LISTENER_TEST| grep -i PDB_DRY_999T\nService \"pdb_dry_999t.domain.com\" has 1 instance(s).\noracle@exacc-cl01n1:~\/ [CDBTGT1 (CDB$ROOT)]\n<\/pre>\n<\/br>\n\n\n\n\n<h3>To wrap up<\/h3>\n\n\n\n<p>Here we have a good alternative for relocating a PDB on ExaCC avoiding a copy of the datafiles. This will have the benefit to limit the maintenance windows.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In some of my previous blogs, I showed how we were migrating on-premise databases to the ExaCC using Oracle ZDM at one of our customer. I also explained in some article how it was important in some case to relocate the PDB in a final CDB. Relocating a PDB on ExaCC is usually done using [&hellip;]<\/p>\n","protected":false},"author":48,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3624,59],"tags":[2598,66,978],"type_dbi":[],"class_list":["post-40870","post","type-post","status-publish","format-standard","hentry","category-exacc-oracle","category-oracle","tag-exacc-3","tag-pdb","tag-relocate"],"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>Possible to relocate a PDB on ExaCC with move option? - 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\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Possible to relocate a PDB on ExaCC with move option?\" \/>\n<meta property=\"og:description\" content=\"In some of my previous blogs, I showed how we were migrating on-premise databases to the ExaCC using Oracle ZDM at one of our customer. I also explained in some article how it was important in some case to relocate the PDB in a final CDB. Relocating a PDB on ExaCC is usually done using [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-10T10:40:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-10T10:40:49+00:00\" \/>\n<meta name=\"author\" content=\"Marc Wagner\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marc Wagner\" \/>\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\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/\"},\"author\":{\"name\":\"Marc Wagner\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628\"},\"headline\":\"Possible to relocate a PDB on ExaCC with move option?\",\"datePublished\":\"2025-10-10T10:40:47+00:00\",\"dateModified\":\"2025-10-10T10:40:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/\"},\"wordCount\":776,\"commentCount\":0,\"keywords\":[\"exacc\",\"PDB\",\"relocate\"],\"articleSection\":[\"ExaCC\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/\",\"name\":\"Possible to relocate a PDB on ExaCC with move option? - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2025-10-10T10:40:47+00:00\",\"dateModified\":\"2025-10-10T10:40:49+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Possible to relocate a PDB on ExaCC with move option?\"}]},{\"@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\/225d9884b8467ead9a872823acb14628\",\"name\":\"Marc Wagner\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"caption\":\"Marc Wagner\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/marc-wagner\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Possible to relocate a PDB on ExaCC with move option? - 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\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/","og_locale":"en_US","og_type":"article","og_title":"Possible to relocate a PDB on ExaCC with move option?","og_description":"In some of my previous blogs, I showed how we were migrating on-premise databases to the ExaCC using Oracle ZDM at one of our customer. I also explained in some article how it was important in some case to relocate the PDB in a final CDB. Relocating a PDB on ExaCC is usually done using [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/","og_site_name":"dbi Blog","article_published_time":"2025-10-10T10:40:47+00:00","article_modified_time":"2025-10-10T10:40:49+00:00","author":"Marc Wagner","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Marc Wagner","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/"},"author":{"name":"Marc Wagner","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628"},"headline":"Possible to relocate a PDB on ExaCC with move option?","datePublished":"2025-10-10T10:40:47+00:00","dateModified":"2025-10-10T10:40:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/"},"wordCount":776,"commentCount":0,"keywords":["exacc","PDB","relocate"],"articleSection":["ExaCC","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/","url":"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/","name":"Possible to relocate a PDB on ExaCC with move option? - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2025-10-10T10:40:47+00:00","dateModified":"2025-10-10T10:40:49+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/possible-to-relocate-a-pdb-on-exacc-with-move-option\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Possible to relocate a PDB on ExaCC with move option?"}]},{"@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\/225d9884b8467ead9a872823acb14628","name":"Marc Wagner","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","caption":"Marc Wagner"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/marc-wagner\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/40870","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\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=40870"}],"version-history":[{"count":25,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/40870\/revisions"}],"predecessor-version":[{"id":40898,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/40870\/revisions\/40898"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=40870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=40870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=40870"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=40870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}