Configure wallet location in sqlnet.ora and listener.ora

oracleoracle-12cssl

I have a host containing multiple DBs and the connection to the DBs need to be SSL enabled. Since each DB has a unique wallet, I specify the wallet location in sqlnet.ora as:

WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=wallet_folder/$ORACLE_UNQNAME)))

This way the listener can use the correct wallet depending on the value of ORACLE_UNQNAME variable. But I have two issues with this method.

  1. Since ORACLE_UNQNAME is a shell environment variable a client has no
    control over it.

  2. Even when connecting from the same machine I have to bounce the listener after exporting ORACLE_UNQNAME value.

What is the solution for such a scenario ?

Best Answer

You can change the $ORACLE_UNQNAME to $ORACLE_SID. Assuming each Container DB has a unique SID, you can start the CDB with the right wallet as ORACLE_SID is required to start the database anyway.