diff --git a/enterprise/cloud.oracle/external/binaries-list b/enterprise/cloud.oracle/external/binaries-list
index 622fd1395e84..ecd1327b51b7 100644
--- a/enterprise/cloud.oracle/external/binaries-list
+++ b/enterprise/cloud.oracle/external/binaries-list
@@ -15,16 +15,18 @@
# specific language governing permissions and limitations
# under the License.
-F89364D98A616CBA66CA535759EA092C54B4BF75 com.oracle.oci.sdk:oci-java-sdk-common:3.9.0
-7BB77013E6B91FCC7CD72D3338EB9F4019E20EA9 com.oracle.oci.sdk:oci-java-sdk-database:3.9.0
-8AB9B9CA57124F30B6D25CBAC944A7CEE0373068 com.oracle.oci.sdk:oci-java-sdk-identity:3.9.0
-F2071C1D75795350EB4D6807C4327AA333C5930C com.oracle.oci.sdk:oci-java-sdk-circuitbreaker:3.9.0
-10D73A80C8F66F959C84189272A7FC1C0CB1C435 com.oracle.oci.sdk:oci-java-sdk-workrequests:3.9.0
-031597E1BEEED3E48203BE6ECEBBA442E6FE177E com.oracle.oci.sdk:oci-java-sdk-devops:3.9.0
-5E52AF447D216717453E91782FCB965DF5669D5C com.oracle.oci.sdk:oci-java-sdk-adm:3.9.0
-C81CF0C79C300BF0526DF80D7890F688C1E32803 com.oracle.oci.sdk:oci-java-sdk-common-httpclient:3.9.0
-19C42576CC31E6028F29639F442EBA0CD895ADB3 com.oracle.oci.sdk:oci-java-sdk-common-httpclient-jersey:3.9.0
-9499C6360FFDBEBC6F0F1285A20DD91485FEDD46 com.oracle.oci.sdk:oci-java-sdk-addons-apache-configurator-jersey:3.9.0
+01713F2F4C8533893B8BD73C9461698F16F2B091 com.oracle.oci.sdk:oci-java-sdk-common:3.25.3
+5E25BDEF20C9897C16EA939DBF185177F158EC40 com.oracle.oci.sdk:oci-java-sdk-database:3.25.3
+D1015B3664782EABF06354C63748152E6D3BF268 com.oracle.oci.sdk:oci-java-sdk-vault:3.25.3
+0B6A6C71B4880A87B1FB034B3F1AB6E5361FC558 com.oracle.oci.sdk:oci-java-sdk-keymanagement:3.25.3
+E46F0CE2219BBCDA94B87D4CB4EF4166DAF6C925 com.oracle.oci.sdk:oci-java-sdk-identity:3.25.3
+832F50EFBFB3B320CA5CAEC75FE607FB8CEDF40E com.oracle.oci.sdk:oci-java-sdk-circuitbreaker:3.25.3
+78C9D083AD254C858E4A69F51958A9A46D260F97 com.oracle.oci.sdk:oci-java-sdk-workrequests:3.25.3
+9D89873EC1059B5B75058DB5FF1C25D66A9EC859 com.oracle.oci.sdk:oci-java-sdk-devops:3.25.3
+95F57672B60D7A611582262828DCED3F7544BA7C com.oracle.oci.sdk:oci-java-sdk-adm:3.25.3
+A8B7EBCA334E8145469A8FE0365C02A2727218EE com.oracle.oci.sdk:oci-java-sdk-common-httpclient:3.25.3
+AECECCD95E5ED92C73E455B7BA4AC714229041EE com.oracle.oci.sdk:oci-java-sdk-common-httpclient-jersey:3.25.3
+0CEE99CE7AA783353D19C56AC9F1AD72485DDBE8 com.oracle.oci.sdk:oci-java-sdk-addons-apache-configurator-jersey:3.25.3
E5F6CAE5CA7ECAAC1EC2827A9E2D65AE2869CADA org.apache.httpcomponents:httpclient:4.5.13
853B96D3AFBB7BF8CC303FE27EE96836A10C1834 org.apache.httpcomponents:httpcore:4.4.13
diff --git a/enterprise/cloud.oracle/external/oci-java-sdk-3.9.0-license.txt b/enterprise/cloud.oracle/external/oci-java-sdk-3.25.3-license.txt
similarity index 96%
rename from enterprise/cloud.oracle/external/oci-java-sdk-3.9.0-license.txt
rename to enterprise/cloud.oracle/external/oci-java-sdk-3.25.3-license.txt
index c7fcf3f3b4df..45069662ffdd 100644
--- a/enterprise/cloud.oracle/external/oci-java-sdk-3.9.0-license.txt
+++ b/enterprise/cloud.oracle/external/oci-java-sdk-3.25.3-license.txt
@@ -1,9 +1,9 @@
Name: OCI Java SDK
Description: Oracle Cloud Infrastructure SDK for Java
Origin: https://github.com/oracle/oci-java-sdk
-Version: 3.9.0
+Version: 3.25.3
License: UPL-Apache-2.0
-Files: oci-java-sdk-circuitbreaker-3.9.0.jar, oci-java-sdk-common-3.9.0.jar, oci-java-sdk-database-3.9.0.jar, oci-java-sdk-identity-3.9.0.jar, oci-java-sdk-workrequests-3.9.0.jar, oci-java-sdk-adm-3.9.0.jar, oci-java-sdk-devops-3.9.0.jar, oci-java-sdk-addons-apache-configurator-jersey-3.9.0.jar, oci-java-sdk-common-httpclient-3.9.0.jar, oci-java-sdk-common-httpclient-jersey-3.9.0.jar
+Files: oci-java-sdk-circuitbreaker-3.25.3.jar, oci-java-sdk-common-3.25.3.jar, oci-java-sdk-database-3.25.3.jar, oci-java-sdk-identity-3.25.3.jar, oci-java-sdk-workrequests-3.25.3.jar, oci-java-sdk-adm-3.25.3.jar, oci-java-sdk-devops-3.25.3.jar, oci-java-sdk-addons-apache-configurator-jersey-3.25.3.jar, oci-java-sdk-common-httpclient-3.25.3.jar, oci-java-sdk-common-httpclient-jersey-3.25.3.jar oci-java-sdk-keymanagement-3.25.3.jar oci-java-sdk-vault-3.25.3.jar
Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
diff --git a/enterprise/cloud.oracle/nbproject/project.properties b/enterprise/cloud.oracle/nbproject/project.properties
index f69596ddeaa0..28ad8d55af47 100644
--- a/enterprise/cloud.oracle/nbproject/project.properties
+++ b/enterprise/cloud.oracle/nbproject/project.properties
@@ -15,17 +15,19 @@
# specific language governing permissions and limitations
# under the License.
-release.external/oci-java-sdk-circuitbreaker-3.9.0.jar=modules/ext/oci-java-sdk-circuitbreaker-3.9.0.jar
-release.external/oci-java-sdk-common-3.9.0.jar=modules/ext/oci-java-sdk-common-3.9.0.jar
-release.external/oci-java-sdk-devops-3.9.0.jar=modules/ext/oci-java-sdk-devops-3.9.0.jar
-release.external/oci-java-sdk-database-3.9.0.jar=modules/ext/oci-java-sdk-database-3.9.0.jar
-release.external/oci-java-sdk-identity-3.9.0.jar=modules/ext/oci-java-sdk-identity-3.9.0.jar
-release.external/oci-java-sdk-workrequests-3.9.0.jar=modules/ext/oci-java-sdk-workrequests-3.9.0.jar
-release.external/oci-java-sdk-devops-3.9.0.jar=modules/ext/oci-java-sdk-devops-3.9.0.jar
-release.external/oci-java-sdk-adm-3.9.0.jar=modules/ext/oci-java-sdk-adm-3.9.0.jar
-release.external/oci-java-sdk-common-httpclient-3.9.0.jar=modules/ext/oci-java-sdk-common-httpclient-3.9.0.jar
-release.external/oci-java-sdk-common-httpclient-jersey-3.9.0.jar=modules/ext/oci-java-sdk-common-httpclient-jersey-3.9.0.jar
-release.external/oci-java-sdk-addons-apache-configurator-jersey-3.9.0.jar=modules/ext/oci-java-sdk-addons-apache-configurator-jersey-3.9.0.jar
+release.external/oci-java-sdk-circuitbreaker-3.25.3.jar=modules/ext/oci-java-sdk-circuitbreaker-3.25.3.jar
+release.external/oci-java-sdk-common-3.25.3.jar=modules/ext/oci-java-sdk-common-3.25.3.jar
+release.external/oci-java-sdk-devops-3.25.3.jar=modules/ext/oci-java-sdk-devops-3.25.3.jar
+release.external/oci-java-sdk-database-3.25.3.jar=modules/ext/oci-java-sdk-database-3.25.3.jar
+release.external/oci-java-sdk-vault-3.25.3.jar=modules/ext/oci-java-sdk-vault-3.25.3.jar
+release.external/oci-java-sdk-keymanagement-3.25.3.jar=modules/ext/oci-java-sdk-keymanagement-3.25.3.jar
+release.external/oci-java-sdk-identity-3.25.3.jar=modules/ext/oci-java-sdk-identity-3.25.3.jar
+release.external/oci-java-sdk-workrequests-3.25.3.jar=modules/ext/oci-java-sdk-workrequests-3.25.3.jar
+release.external/oci-java-sdk-devops-3.25.3.jar=modules/ext/oci-java-sdk-devops-3.25.3.jar
+release.external/oci-java-sdk-adm-3.25.3.jar=modules/ext/oci-java-sdk-adm-3.25.3.jar
+release.external/oci-java-sdk-common-httpclient-3.25.3.jar=modules/ext/oci-java-sdk-common-httpclient-3.25.3.jar
+release.external/oci-java-sdk-common-httpclient-jersey-3.25.3.jar=modules/ext/oci-java-sdk-common-httpclient-jersey-3.25.3.jar
+release.external/oci-java-sdk-addons-apache-configurator-jersey-3.25.3.jar=modules/ext/oci-java-sdk-addons-apache-configurator-jersey-3.25.3.jar
release.external/httpclient-4.5.13.jar=modules/ext/httpclient-4.5.13.jar
release.external/httpcore-4.4.13.jar=modules/ext/httpcore-4.4.13.jar
release.external/javassist-3.25.0-GA.jar=modules/ext/javassist-3.25.0-GA.jar
diff --git a/enterprise/cloud.oracle/nbproject/project.xml b/enterprise/cloud.oracle/nbproject/project.xml
index 9cfde3ca2d4b..2aee363fd39a 100644
--- a/enterprise/cloud.oracle/nbproject/project.xml
+++ b/enterprise/cloud.oracle/nbproject/project.xml
@@ -236,8 +236,8 @@
- ext/oci-java-sdk-identity-3.9.0.jar
- external/oci-java-sdk-identity-3.9.0.jar
+ ext/oci-java-sdk-identity-3.25.3.jar
+ external/oci-java-sdk-identity-3.25.3.jar
ext/resilience4j-circuitbreaker-1.7.1.jar
@@ -248,28 +248,28 @@
external/resilience4j-core-1.7.1.jar
- ext/oci-java-sdk-common-3.9.0.jar
- external/oci-java-sdk-common-3.9.0.jar
+ ext/oci-java-sdk-common-3.25.3.jar
+ external/oci-java-sdk-common-3.25.3.jar
- ext/oci-java-sdk-devops-3.9.0.jar
- external/oci-java-sdk-devops-3.9.0.jar
+ ext/oci-java-sdk-devops-3.25.3.jar
+ external/oci-java-sdk-devops-3.25.3.jar
- ext/oci-java-sdk-adm-3.9.0.jar
- external/oci-java-sdk-adm-3.9.0.jar
+ ext/oci-java-sdk-adm-3.25.3.jar
+ external/oci-java-sdk-adm-3.25.3.jar
- ext/oci-java-sdk-common-httpclient-3.9.0.jar
- external/oci-java-sdk-common-httpclient-3.9.0.jar
+ ext/oci-java-sdk-common-httpclient-3.25.3.jar
+ external/oci-java-sdk-common-httpclient-3.25.3.jar
- ext/oci-java-sdk-common-httpclient-jersey-3.9.0.jar
- external/oci-java-sdk-common-httpclient-jersey-3.9.0.jar
+ ext/oci-java-sdk-common-httpclient-jersey-3.25.3.jar
+ external/oci-java-sdk-common-httpclient-jersey-3.25.3.jar
- ext/oci-java-sdk-addons-apache-configurator-jersey-3.9.0.jar
- external/oci-java-sdk-addons-apache-configurator-jersey-3.9.0.jar
+ ext/oci-java-sdk-addons-apache-configurator-jersey-3.25.3.jar
+ external/oci-java-sdk-addons-apache-configurator-jersey-3.25.3.jar
ext/httpclient-4.5.13.jar
@@ -288,20 +288,28 @@
external/vavr-0.10.2.jar
- ext/oci-java-sdk-database-3.9.0.jar
- external/oci-java-sdk-database-3.9.0.jar
+ ext/oci-java-sdk-database-3.25.3.jar
+ external/oci-java-sdk-database-3.25.3.jar
- ext/oci-java-sdk-circuitbreaker-3.9.0.jar
- external/oci-java-sdk-circuitbreaker-3.9.0.jar
+ ext/oci-java-sdk-vault-3.25.3.jar
+ external/oci-java-sdk-vault-3.25.3.jar
+
+
+ ext/oci-java-sdk-keymanagement-3.25.3.jar
+ external/oci-java-sdk-keymanagement-3.25.3.jar
+
+
+ ext/oci-java-sdk-circuitbreaker-3.25.3.jar
+ external/oci-java-sdk-circuitbreaker-3.25.3.jar
ext/vavr-match-0.10.2.jar
external/vavr-match-0.10.2.jar
- ext/oci-java-sdk-workrequests-3.9.0.jar
- external/oci-java-sdk-workrequests-3.9.0.jar
+ ext/oci-java-sdk-workrequests-3.25.3.jar
+ external/oci-java-sdk-workrequests-3.25.3.jar
diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/AddDbConnectionToVault.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/AddDbConnectionToVault.java
new file mode 100644
index 000000000000..d98e75d9622e
--- /dev/null
+++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/AddDbConnectionToVault.java
@@ -0,0 +1,719 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.cloud.oracle.actions;
+
+import com.oracle.bmc.identity.Identity;
+import com.oracle.bmc.identity.IdentityClient;
+import com.oracle.bmc.identity.model.Compartment;
+import com.oracle.bmc.identity.requests.ListCompartmentsRequest;
+import com.oracle.bmc.identity.responses.ListCompartmentsResponse;
+import com.oracle.bmc.identity.model.Tenancy;
+import org.netbeans.api.db.explorer.DatabaseConnection;
+import com.oracle.bmc.model.BmcException;
+import com.oracle.bmc.vault.VaultsClient;
+import com.oracle.bmc.vault.model.Base64SecretContentDetails;
+import com.oracle.bmc.vault.model.CreateSecretDetails;
+import com.oracle.bmc.vault.model.SecretContentDetails;
+import com.oracle.bmc.vault.model.SecretReuseRule;
+import com.oracle.bmc.vault.model.UpdateSecretDetails;
+import com.oracle.bmc.vault.requests.CreateSecretRequest;
+import com.oracle.bmc.vault.requests.ListSecretsRequest;
+import com.oracle.bmc.vault.requests.UpdateSecretRequest;
+import com.oracle.bmc.vault.responses.CreateSecretResponse;
+import com.oracle.bmc.vault.responses.ListSecretsResponse;
+import com.oracle.bmc.vault.responses.UpdateSecretResponse;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Base64;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.UUID;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+import org.netbeans.api.progress.ProgressHandle;
+import org.netbeans.modules.cloud.oracle.OCIManager;
+import static org.netbeans.modules.cloud.oracle.OCIManager.getDefault;
+import org.netbeans.modules.cloud.oracle.OCIProfile;
+import org.netbeans.modules.cloud.oracle.OCISessionInitiator;
+import org.netbeans.modules.cloud.oracle.compartment.CompartmentItem;
+import org.netbeans.modules.cloud.oracle.items.OCID;
+import org.netbeans.modules.cloud.oracle.items.OCIItem;
+import org.netbeans.modules.cloud.oracle.items.TenancyItem;
+import org.netbeans.modules.cloud.oracle.vault.KeyItem;
+import org.netbeans.modules.cloud.oracle.vault.KeyNode;
+import org.netbeans.modules.cloud.oracle.vault.SecretItem;
+import org.netbeans.modules.cloud.oracle.vault.SecretNode;
+import org.netbeans.modules.cloud.oracle.vault.VaultItem;
+import org.netbeans.modules.cloud.oracle.vault.VaultNode;
+import org.openide.DialogDescriptor;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
+import org.openide.NotifyDescriptor.QuickPick.Item;
+import org.openide.awt.ActionID;
+import org.openide.awt.ActionReference;
+import org.openide.awt.ActionReferences;
+import org.openide.awt.ActionRegistration;
+import org.openide.util.NbBundle;
+import org.openide.util.Pair;
+
+/**
+ *
+ * @author Jan Horvath
+ */
+@ActionID(
+ category = "Tools",
+ id = "org.netbeans.modules.cloud.oracle.actions.AddDbConnectionToVault"
+)
+@ActionRegistration(
+ displayName = "#AddADBToVault",
+ asynchronous = true
+)
+@ActionReferences(value = {
+ @ActionReference(path = "Cloud/Oracle/Databases/Actions", position = 250)
+})
+@NbBundle.Messages({
+ "AddADBToVault=Add Oracle Autonomous DB details to OCI Vault",
+ "SelectKey=Select Key",
+ "SelectVault=Select Vault",
+ "SecretsCreated=Secrets were created or updated",
+ "NoKeys=No keys in this Vault. Select another one.",
+ "DatasourceName=Datasource Name",
+ "AddVersion=Add new versions",
+ "Cancel=Cancel",
+ "SecretExists=Secrets with name {0} already exists",
+ "NoProfile=There is not any OCI profile in the config",
+ "NoCompartment=There are no compartments in the Tenancy"
+})
+public class AddDbConnectionToVault implements ActionListener {
+
+ private static final Logger LOG = Logger.getLogger(AddDbConnectionToVault.class.getName());
+
+ private final DatabaseConnection context;
+
+ public AddDbConnectionToVault(DatabaseConnection context) {
+ this.context = context;
+ }
+
+ static interface Step {
+
+ Step prepare(T item);
+
+ NotifyDescriptor createInput();
+
+ boolean onlyOneChoice();
+
+ Step getNext();
+
+ void setValue(String selected);
+
+ U getValue();
+ }
+
+ class TenancyStep implements Step