I have been doing more research on how to set wallet locations for the Oracle database as wallets are becoming more and more important to secure your database.
![]() |
| Oracle wallet usage |
I have found that there are different types of wallets, and different ways to set the Wallet location depending on it's usage.
1) WALLET_ROOT
Wallet_root is a Database setting (spfile) that is used by a running database. Below are the different sub-directories that can be created within wallet root and what they can be used for.
The most commonly used directories are
TDE - The wallet in this directory contains the encryption key(s) for the database and replaces the setting ENCRYPTION_WALLET_LOCATION in the sqlnet.ora.
TLS - The wallet in this directory contains the TLS certificate(s) used by the database to make secure TCPS connections.
SERVER_SEPS - The wallet in this location contains the login credentials for other databases or even the same database. Some examples of when this can be useful are.
- Sending real-time redo to a ZDLRA
- Creating Database Links to other databases
- RMAN channel configurations that connect to different nodes in a RAC cluster.
* Note : It was pointed out to me, that using the wallet in server_seps for RMAN channel connects will replace the usage of the "connect ..." string when allocating RMAN channels.
| Subdirectory | Component / Purpose | Typical File Types | Notes & Details |
|---|---|---|---|
tde |
Transparent Data Encryption (TDE) | ewallet.p12, ewallet_*.p12 |
Created automatically when establishing TDE keystores. Contains master encryption keys for CDB$ROOT, non-CDBs, or isolated PDBs. |
tde_seps |
TDE Auto-Login / SEPS | cwallet.sso |
Stores the Secure External Password Store (SEPS) auto-login file used for automatic opening of the TDE keystore. |
tls |
Transport Layer Security (TLS/SSL) | ewallet.p12, cwallet.sso |
Stores public key infrastructure (PKI) certificates and private keys used for encrypted network communications. |
eus |
Enterprise User Security (EUS) | ewallet.p12, cwallet.sso |
Contains credentials for centralized directory service authentication (e.g., Oracle Internet Directory / LDAP). |
xdb_wallet |
XML Database (XDB) Security | ewallet.p12 |
Used for securing Oracle XML DB HTTP, HTTPS, and FTP server connections. |
server_seps |
Server-Side Credential Store | cwallet.sso, ewallet.p12 |
Used in newer releases (e.g., Oracle 23ai) for passwordless server-side connections and integrations (such as Recovery Appliance). |
mfa |
Multi-Factor Authentication (MFA) | ewallet.p12, cwallet.sso |
Holds certificates and PKI credentials used for native Multi-Factor Authentication integrations (e.g., OMA or Duo). Introduced in Oracle 19.28+. |
bctable |
Blockchain Tables | ewallet.p12, cwallet.sso |
Stores the PKI private key and certificates of the blockchain table owner. Required for signing and verifying rows using the DBMS_BLOCKCHAIN_TABLE package. |
<PDB_GUID> |
Isolated Pluggable Database Root | Subdirectories (e.g., /tde, /tls) | A 128-bit GUID folder automatically generated per isolated PDB to isolate keystores from CDB$ROOT and other PDBs. |
WALLET_ROOT/
├── bctable/ # Blockchain Tables PKI store
│ └── ewallet.p12
├── eus/ # Enterprise User Security credentials
│ └── ewallet.p12
├── mfa/ # Multi-Factor Authentication wallet (19.28+)
│ └── ewallet.p12
├── server_seps/ # Server-side credential store
│ └── cwallet.sso
├── tde/ # Master CDB/non-CDB TDE wallet
│ └── ewallet.p12
├── tde_seps/ # CDB Auto-login keystore
│ └── cwallet.sso
├── tls/ # TLS/SSL certificate wallet
│ └── ewallet.p12
├── xdb_wallet/ # XML DB security wallet
│ └── ewallet.p12
└── <PDB_GUID>/ # Isolated PDB directory
├── bctable/
│ └── ewallet.p12
├── mfa/
│ └── ewallet.p12
├── tde/ # Isolated PDB TDE wallet
│ └── ewallet.p12
├── tde_seps/
│ └── cwallet.sso
└── tls/
└── cwallet.sso

