Changing Autonomous Database wallet in ODI Marketplace

Eloi Lopes
3 min readJan 31, 2023

Oracle Data Integrator (ODI) Marketplace can use Autonomous Database Base (ADB) to store ODI Repositories.

In this blog, I’m going to explain what needs to be changed when your organization decides to rotate the ADB wallet or for any other reason, the wallet is not valid anymore.

Errors you will find when the wallet is not working:

oracle.odi.core.config.MasterRepositoryResourceFailureException: ODI-10182: Uncategorized exception during repository access.

Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from Datasource: java.sql.SQLException: Listener refused the connection with the following error:

ORA-12529, TNS:connect request rejected based on current filtering rules

In ODI agent:

INFO: New data source: [DEV_ODI_REPO/*******@jdbc:oracle:thin:@<ADB NAME>_low?TNS_ADMIN=/u01/oracle/mwh/odi/common/scripts/../../..//wallets/<WALLET FOLDER>]

Exception in thread “main” oracle.odi.core.config.MasterRepositoryResourceFailureException: ODI-10182: Uncategorized exception during repository access.

Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from Datasource: java.sql.SQLRecoverableException: IO Error: could not resolve the connect identifier “<ADB_name>_low”

at oracle.odi.setup.util.ODIMPSetupUtil.main(ODIMPSetupUtil.java:376)

Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from Datasource: java.sql.SQLRecoverableException: IO Error: could not resolve the connect identifier “<ADB_name>_low”

Please, be aware that these errors can pop up when you don’t have connection to ADB. So, if your organization didn’t rotate the wallet, please check if the ADB is up and running and if you can connect from ODI instance.

How to fix these errors?

Connect to ODI and edit the login connection:

Please, copy the URL to a notepad:

Go to /u01/oracle/mwh/wallets. You should have your wallet.zip file and wallet folder. Please, replace the wallet.zip by the new wallet and replace the content of existing folder with the content of the new wallet.zip. In this example, I replaced the content of folder wallet_ADWEloiprod.

Please, test the connection again.

As you can see, I haven’t changed the URL, I just changed the content of the folder that ODI uses to connect to ADB.

Since the ODI agent should down, please start it:

nohup python /u01/oracle/mwh/odi/common/scripts/startAgent.py /u01/oracle/mwh/

What about ODI connections?

It’s quite simple. You have 2 options to fix the connection.

  1. Remove the parameter oracle.net.wallet_location;
  2. Update the parameter oracle.net.wallet_location and add the right path to Wallet folder:

I hope this helps. If you have any doubt, please reach out to me through LinkedIn or Medium.

--

--

Eloi Lopes

Opinions expressed are solely my own and do not express the views or opinions of my employer Oracle. https://www.linkedin.com/in/eloilopes/