{"id":31485,"date":"2024-02-29T13:22:54","date_gmt":"2024-02-29T12:22:54","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=31485"},"modified":"2024-02-29T13:22:57","modified_gmt":"2024-02-29T12:22:57","slug":"migration-from-non-cdb-to-multitenant-wallet-key-needed","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/","title":{"rendered":"Migration from Non-CDB to Multitenant : Wallet Key Needed"},"content":{"rendered":"\n<p>I have been recently able to make several migration tests from On-Premises to Exadata, and during some of my tests I faced a PDB_PLUG_IN_VIOLATIONS with cause been &#8220;Wallet Key Needed&#8221; when converting a migrated Non-CDB to PDB.<\/p>\n\n\n<a class=\"wp-block-read-more\" href=\"https:\/\/www.dbi-services.com\/blog\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/\" target=\"_self\">Read more<span class=\"screen-reader-text\">: Migration from Non-CDB to Multitenant : Wallet Key Needed<\/span><\/a>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-explanation\">Explanation<\/h2>\n\n\n\n<p>This violation comes from the fact that the source Non-CDB database migrated on the Exadata from On-Premises was encrypted. The message is clear, the source wallet needs to be exported and imported in the new PDB after having run noncdb_to_pdb.sql script.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; select name, cause, type, message, status from PDB_PLUG_IN_VIOLATIONS where type = 'ERROR' and status  'RESOLVED';\n\nNAME                 CAUSE                                                            TYPE      MESSAGE                                                                STATUS\n-------------------- ---------------------------------------------------------------- --------- ---------------------------------------------------------------------- ---------\nPDB_NAME       Wallet Key Needed                                                ERROR     PDB needs to import keys from source.                                  PENDING\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-export-wallet-from-the-non-cdb\">Export wallet from the Non-CDB<\/h2>\n\n\n\n<p>Connecting to the Non-CDB source database, I can check the wallet configuration.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; select WRL_PARAMETER, WRL_TYPE,WALLET_TYPE, status from V$ENCRYPTION_WALLET;\n\nWRL_PARAMETER                                                WRL_TYPE             WALLET_TYPE          STATUS\n------------------------------------------------------------ -------------------- -------------------- ------------------------------\n\/var\/opt\/oracle\/dbaas_acfs\/DB_NAME\/wallet_root\/tde\/             FILE                 AUTOLOGIN            OPEN\n<\/pre>\n<\/br>\n\n\n\n<p>So I tried to export my wallet.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; administer key management\n  2  export encryption keys with secret \"\"\n  3  to '\/var\/opt\/oracle\/dbaas_acfs\/DB_NAME\/DB_NAME_to_PDB_wallet.p12'\n  4  identified by \"************\"\n  5  \/\nadminister key management\n*\nERROR at line 1:\nORA-28417: password-based keystore is not open\n<\/pre>\n<\/br>\n\n\n\n<p>But I faced following error:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ORA-28417: password-based keystore is not open<\/code><\/pre>\n\n\n\n<p>This is because my wallet is opened in autologin and not as password file.<\/p>\n\n\n\n<p>So let&#8217;s close it and open it as password file.<\/p>\n\n\n\n<p>To do so it should be sufficient to run a keystore close before running a keystore open.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; administer key management set keystore close;\n\nkeystore altered.\n<\/pre>\n<\/br>\n\n\n\n<p>I was also trying moving the autologin cwallet.sso file and see how that works.<\/p>\n\n\n\n<p>I first closed my Source Non-CDB database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; shutdown immediate\nDatabase closed.\nDatabase dismounted.\nORACLE instance shut down.\n<\/pre>\n<\/br>\n\n\n\n<p>Then I renamed the cwallet.sso file.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@ExaCC-cl01n1:\/var\/opt\/oracle\/dbaas_acfs\/DB_NAME\/wallet_root\/tde\/ [PDB_NAME (CDB$ROOT)] mv cwallet.sso cwallet.sso.no_auto\n<\/pre>\n<\/br>\n\n\n\n<p>I started again the database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; startup\nORACLE instance started.\n\nTotal System Global Area 3.7572E+10 bytes\nFixed Size                 13653168 bytes\nVariable Size            4697620480 bytes\nDatabase Buffers         3.2749E+10 bytes\nRedo Buffers              111153152 bytes\nDatabase mounted.\nDatabase opened.\n<\/pre>\n<\/br>\n\n\n\n<p>I checked the wallet type and its status.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; select WRL_PARAMETER, WRL_TYPE,WALLET_TYPE, status from V$ENCRYPTION_WALLET;\n\nWRL_PARAMETER                                                WRL_TYPE             WALLET_TYPE          STATUS\n------------------------------------------------------------ -------------------- -------------------- ------------------------------\n\/var\/opt\/oracle\/dbaas_acfs\/DB_NAME\/wallet_root\/tde\/             FILE                 UNKNOWN              CLOSED\n<\/pre>\n<\/br>\n\n\n\n<p>As expected it was closed. I opened it.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY \"*****************\";\n\nkeystore altered.\n<\/pre>\n<\/br>\n\n\n\n<p>Checked the wallet status again.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; select WRL_PARAMETER, WRL_TYPE,WALLET_TYPE, status from V$ENCRYPTION_WALLET;\n\nWRL_PARAMETER                                                WRL_TYPE             WALLET_TYPE          STATUS\n------------------------------------------------------------ -------------------- -------------------- ------------------------------\n\/var\/opt\/oracle\/dbaas_acfs\/DB_NAME\/wallet_root\/tde\/             FILE                 PASSWORD             OPEN\n<\/pre>\n<\/br>\n\n\n\n\n<p>Now the wallet is opened with password as needed. And I tried to export the wallet again.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; administer key management\n  2  export encryption keys with secret \"\"\n  3  to '\/var\/opt\/oracle\/dbaas_acfs\/DB_NAME\/bak_DB_NAME_to_PDB_wallet.p12'\n  4  identified by \"************\"\n  5  \/\nadminister key management\n*\nERROR at line 1:\nORA-46644: creation or open of file to store the exported keys failed\n<\/pre>\n<\/br>\n\n\n\n<p>I got a new error:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ORA-46644: creation or open of file to store the exported keys failed<\/code><\/pre>\n\n\n\n<p>This might be due to user permissions to write in the folder. Let&#8217;s save it in \/tmp.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; administer key management\n  2  export encryption keys with secret \"\"\n  3  to '\/tmp\/DB_NAME.p12'\n  4  identified by \"************\"\n  5  \/\n\nkeystore altered.\n<\/pre>\n<\/br>\n\n\n\n<p>This time it worked.<\/p>\n\n\n\n<p>I shutdown the database again.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; shutdown immediate\nDatabase closed.\nDatabase dismounted.\nORACLE instance shut down.\n<\/pre>\n<\/br>\n\n\n\n<p>Moved the autologin wallet file back.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@ExaCC-cl01n1:\/var\/opt\/oracle\/dbaas_acfs\/DB_NAME\/wallet_root\/tde\/ [PDB_NAME (CDB$ROOT)] mv cwallet.sso.no_auto cwallet.sso\n<\/pre>\n<\/br>\n\n\n\n<p>Started the database again.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; startup\nORACLE instance started.\n\nTotal System Global Area 3.7572E+10 bytes\nFixed Size                 13653168 bytes\nVariable Size            4697620480 bytes\nDatabase Buffers         3.2749E+10 bytes\nRedo Buffers              111153152 bytes\nDatabase mounted.\nDatabase opened.\n<\/pre>\n<\/br>\n\n\n\n<p>And checked that my wallet has been automatically opened again.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; select WRL_PARAMETER, WRL_TYPE,WALLET_TYPE, status from V$ENCRYPTION_WALLET;\n\nWRL_PARAMETER                                                WRL_TYPE             WALLET_TYPE          STATUS\n------------------------------------------------------------ -------------------- -------------------- ------------------------------\n\/var\/opt\/oracle\/dbaas_acfs\/DB_NAME\/wallet_root\/tde\/             FILE                 AUTOLOGIN            OPEN\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-import-the-wallet-in-the-pdb\">Import the wallet in the PDB<\/h2>\n\n\n\n<p>Now we need to import the wallet in the PDB<\/p>\n\n\n\n<p>I connected to the PDB.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5]\">\nSQL&gt; alter session set container=PDB_NAME;\n\nSession altered.\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         4 PDB_NAME                 READ WRITE YES\n<\/pre>\n<\/br>\n\n\n\n<p>Check the wallet status.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\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_NO_MASTER_KEY\n<\/pre>\n<\/br>\n\n\n\n<p>I tried to import the wallet, expected it to fail as the wallet is with a autologin type.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; administer key management\n  2  import encryption keys with secret \"\"\n  3  from '\/tmp\/DB_NAME.p12'\n  4  identified by \"**************\"\n  5  with backup USING 'pre-import-PDB_NAME'\n  6  \/\nadminister key management\n*\nERROR at line 1:\nORA-28417: password-based keystore is not open\n<\/pre>\n<\/br>\n\n\n\n<p>So I need to connect to the CDB$ROOT to open the wallet with the password. I checked and could see that the wallet is opened automatically for the CDB$ROOT and all PDB. The CDB$ROOT wallet is shared with the PDB.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5]\">\nSQL&gt; alter session set container=cdb$root;\n\nSession altered.\n\nSQL&gt; select CON_ID, WRL_PARAMETER, WRL_TYPE,WALLET_TYPE, status from V$ENCRYPTION_WALLET;\n\n    CON_ID WRL_PARAMETER                                                WRL_TYPE             WALLET_TYPE          STATUS\n---------- ------------------------------------------------------------ -------------------- -------------------- ------------------------------\n         1 \/var\/opt\/oracle\/dbaas_acfs\/CDB_NAME\/wallet_root\/tde\/         FILE                 AUTOLOGIN            OPEN\n         2                                                              FILE                 AUTOLOGIN            OPEN\n         3                                                              FILE                 AUTOLOGIN            OPEN\n         4                                                              FILE                 AUTOLOGIN            OPEN_NO_MASTER_KEY\n<\/pre>\n<\/br>\n\n\n\n<p>So I closed the wallet, opened it with password and check its status.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5,9]\">\nSQL&gt; administer key management set keystore close;\n\nkeystore altered.\n\nSQL&gt; administer key management set keystore open identified by \"*************\";\n\nkeystore altered.\n\nSQL&gt; select CON_ID, WRL_PARAMETER, WRL_TYPE,WALLET_TYPE, status from V$ENCRYPTION_WALLET;\n\n    CON_ID WRL_PARAMETER                                                WRL_TYPE             WALLET_TYPE          STATUS\n---------- ------------------------------------------------------------ -------------------- -------------------- ------------------------------\n         1 \/var\/opt\/oracle\/dbaas_acfs\/CDB_NAME\/wallet_root\/tde\/         FILE                 PASSWORD             OPEN\n         2                                                              FILE                 UNKNOWN              CLOSED\n         3                                                              FILE                 UNKNOWN              CLOSED\n         4                                                              FILE                 UNKNOWN              CLOSED\n<\/pre>\n<\/br>\n\n\n\n<p>I connected to the PDB and tried to import the wallet.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5]\">\nSQL&gt; alter session set container=PDB_NAME;\n\nSession altered.\n\nSQL&gt; administer key management\n  2  import encryption keys with secret \"\"\n  3  from '\/tmp\/DB_NAME.p12'\n  4  identified by \"**************\"\n  5  with backup USING 'pre-import-PDB_NAME'\n  6  \/\nadminister key management\n*\nERROR at line 1:\nORA-46658: keystore not open in the container\n<\/pre>\n<\/br>\n\n\n\n<p>Which was not working as expected as the wallet is closed for the PDB. So I opened it with password.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5]\">\nSQL&gt; administer key management set keystore open identified by \"***************\";\n\nkeystore altered.\n\nSQL&gt; select CON_ID, WRL_PARAMETER, WRL_TYPE,WALLET_TYPE, status from V$ENCRYPTION_WALLET;\n\n    CON_ID WRL_PARAMETER                                                WRL_TYPE             WALLET_TYPE          STATUS\n---------- ------------------------------------------------------------ -------------------- -------------------- ------------------------------\n         4                                                              FILE                 PASSWORD             OPEN_NO_MASTER_KEY\n<\/pre>\n<\/br>\n\n\n\n<p>And could now successfully import it.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5]\">\nSQL&gt; administer key management\n  2  import encryption keys with secret \"\"\n  3  from '\/tmp\/DB_NAME.p12'\n  4  identified by \"******************\"\n  5  with backup USING 'pre-import-PDB_NAME'\n  6  \/\n\nkeystore altered.\n<\/pre>\n<\/br>\n\n\n\n<p>I checked the wallet status, and all good, it changed from OPEN_NO_MASTER_KEY to OPEN.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; select CON_ID, WRL_PARAMETER, WRL_TYPE,WALLET_TYPE, status from V$ENCRYPTION_WALLET;\n\n    CON_ID WRL_PARAMETER                                                WRL_TYPE             WALLET_TYPE          STATUS\n---------- ------------------------------------------------------------ -------------------- -------------------- ------------------------------\n         4                                                              FILE                 PASSWORD             OPEN\n<\/pre>\n<\/br>\n\n\n\n<p>I connected to the CDB$ROOT again. I checked the wallet status and could see it is open with password for the CDB$ROOT and new PDB and closed for the others, which might impact them. Not a problem in my case, as all here, is only used for tests for migration.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5]\">\nSQL&gt; alter session set container=cdb$root;\n\nSession altered.\n\nSQL&gt; select CON_ID, WRL_PARAMETER, WRL_TYPE,WALLET_TYPE, status from V$ENCRYPTION_WALLET;\n\n    CON_ID WRL_PARAMETER                                                WRL_TYPE             WALLET_TYPE          STATUS\n---------- ------------------------------------------------------------ -------------------- -------------------- ------------------------------\n         1 \/var\/opt\/oracle\/dbaas_acfs\/CDB_NAME\/wallet_root\/tde\/         FILE                 PASSWORD             OPEN\n         2                                                              FILE                 UNKNOWN              CLOSED\n         3                                                              FILE                 UNKNOWN              CLOSED\n         4                                                              FILE                 PASSWORD             OPEN\n<\/pre>\n<\/br>\n\n\n\n<p>I close the wallet.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; administer key management set keystore close identified by \"******************\";\n\nkeystore altered.\n<\/pre>\n<\/br>\n\n\n\n<p>And could check that the wallet has been automatically opened again for the CDB$ROOT and all PDB.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; select CON_ID, WRL_PARAMETER, WRL_TYPE,WALLET_TYPE, status from V$ENCRYPTION_WALLET;\n\n    CON_ID WRL_PARAMETER                                                WRL_TYPE             WALLET_TYPE          STATUS\n---------- ------------------------------------------------------------ -------------------- -------------------- ------------------------------\n         1 \/var\/opt\/oracle\/dbaas_acfs\/CDB_NAME\/wallet_root\/tde\/         FILE                 AUTOLOGIN            OPEN\n         2                                                              FILE                 AUTOLOGIN            OPEN\n         3                                                              FILE                 AUTOLOGIN            OPEN\n         4                                                              FILE                 AUTOLOGIN            OPEN\n<\/pre>\n<\/br>\n\n\n\n<p>I restarted the PDBs and could see that the wallet key needed pdb violations has been resolved.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-to-wrap-up\">To wrap up<\/h2>\n\n\n\n<p>Converting an encrypted Non-CDB to PDB will require the wallet, containing the master key needed to encrypt\/decrypt, to be exported from the source database and imported to the new PDB.<\/p>\n\n\n\n<p>Last but not least, for me it was a lab, so no risk, but it is important to mention than we need to work carefully with the wallet and have good backup because loosing a wallet can be dramatical and can result in no way to access your data any more. Pay attention.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have been recently able to make several migration tests from On-Premises to Exadata, and during some of my tests I faced a PDB_PLUG_IN_VIOLATIONS with cause been &#8220;Wallet Key Needed&#8221; when converting a migrated Non-CDB to PDB. Explanation This violation comes from the fact that the source Non-CDB database migrated on the Exadata from On-Premises [&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":[59],"tags":[3277],"type_dbi":[],"class_list":["post-31485","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-nonc-cdb-to-pdb"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Migration from Non-CDB to Multitenant : Wallet Key Needed - 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\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Migration from Non-CDB to Multitenant : Wallet Key Needed\" \/>\n<meta property=\"og:description\" content=\"I have been recently able to make several migration tests from On-Premises to Exadata, and during some of my tests I faced a PDB_PLUG_IN_VIOLATIONS with cause been &#8220;Wallet Key Needed&#8221; when converting a migrated Non-CDB to PDB. Explanation This violation comes from the fact that the source Non-CDB database migrated on the Exadata from On-Premises [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-02-29T12:22:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-29T12:22:57+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=\"3 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\\\/migration-from-non-cdb-to-multitenant-wallet-key-needed\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/migration-from-non-cdb-to-multitenant-wallet-key-needed\\\/\"},\"author\":{\"name\":\"Marc Wagner\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/225d9884b8467ead9a872823acb14628\"},\"headline\":\"Migration from Non-CDB to Multitenant : Wallet Key Needed\",\"datePublished\":\"2024-02-29T12:22:54+00:00\",\"dateModified\":\"2024-02-29T12:22:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/migration-from-non-cdb-to-multitenant-wallet-key-needed\\\/\"},\"wordCount\":619,\"commentCount\":0,\"keywords\":[\"nonc-cdb to pdb\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/migration-from-non-cdb-to-multitenant-wallet-key-needed\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/migration-from-non-cdb-to-multitenant-wallet-key-needed\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/migration-from-non-cdb-to-multitenant-wallet-key-needed\\\/\",\"name\":\"Migration from Non-CDB to Multitenant : Wallet Key Needed - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2024-02-29T12:22:54+00:00\",\"dateModified\":\"2024-02-29T12:22:57+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/225d9884b8467ead9a872823acb14628\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/migration-from-non-cdb-to-multitenant-wallet-key-needed\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/migration-from-non-cdb-to-multitenant-wallet-key-needed\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/migration-from-non-cdb-to-multitenant-wallet-key-needed\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Migration from Non-CDB to Multitenant : Wallet Key Needed\"}]},{\"@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":"Migration from Non-CDB to Multitenant : Wallet Key Needed - 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\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/","og_locale":"en_US","og_type":"article","og_title":"Migration from Non-CDB to Multitenant : Wallet Key Needed","og_description":"I have been recently able to make several migration tests from On-Premises to Exadata, and during some of my tests I faced a PDB_PLUG_IN_VIOLATIONS with cause been &#8220;Wallet Key Needed&#8221; when converting a migrated Non-CDB to PDB. Explanation This violation comes from the fact that the source Non-CDB database migrated on the Exadata from On-Premises [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/","og_site_name":"dbi Blog","article_published_time":"2024-02-29T12:22:54+00:00","article_modified_time":"2024-02-29T12:22:57+00:00","author":"Marc Wagner","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Marc Wagner","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/"},"author":{"name":"Marc Wagner","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628"},"headline":"Migration from Non-CDB to Multitenant : Wallet Key Needed","datePublished":"2024-02-29T12:22:54+00:00","dateModified":"2024-02-29T12:22:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/"},"wordCount":619,"commentCount":0,"keywords":["nonc-cdb to pdb"],"articleSection":["Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/","url":"https:\/\/www.dbi-services.com\/blog\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/","name":"Migration from Non-CDB to Multitenant : Wallet Key Needed - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2024-02-29T12:22:54+00:00","dateModified":"2024-02-29T12:22:57+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/migration-from-non-cdb-to-multitenant-wallet-key-needed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Migration from Non-CDB to Multitenant : Wallet Key Needed"}]},{"@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\/31485","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=31485"}],"version-history":[{"count":15,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/31485\/revisions"}],"predecessor-version":[{"id":31521,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/31485\/revisions\/31521"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=31485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=31485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=31485"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=31485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}