Secure the Shift: Migrating TDE from Oracle 11g to 19c with Auto-Login
Chanaka Yapa
Apr 22, 2025 10:00:00 AM
TDE is a core Oracle Database security feature that encrypts data stored on disk, ensuring that it cannot be read if the storage media is lost or stolen. This encryption is transparent to applications, meaning no changes to application code are required.
Purpose of TDE
TDE encrypts data stored in database files to protect it from unauthorized access in case of data theft or media loss. The encryption is transparent to applications, requiring no changes to the application code.
Before beginning the upgrade, it's important to ensure that the existing TDE wallet files are copied to the appropriate location. In this scenario, TDE was already configured and in use on the Oracle 11g database.
Oracle 19c introduces two essential parameters that must be configured for TDE to function correctly:
WALLET_ROOT
parameter requires a database restart; each parameter will be applied sequentially during the planned downtime for the upgrade.
alter system set wallet_root='/var/opt/oracle/dbaas_acfs/TEST2PRD/wallet_root' scope=spfile sid='*';
-- restart database
alter system set TDE_CONFIGURATION='KEYSTORE_CONFIGURATION=FILE' scope=spfile sid='*';
- Dynamic parameter
tde
folder exists under the specified wallet_root
directory.
mkdir -p /var/opt/oracle/dbaas_acfs/TEST2PRD/wallet_root/tde
ADMINISTER KEY MANAGEMENT CREATE KEYSTORE
command.
[oracle@exaprd01-node01]$ ls -l /var/opt/oracle/dbaas_acfs/TEST2PRD/wallet_root/tde
total 4
-rwxr--r-- 1 oracle oinstall 1573 Dec 2 16:04 ewallet.p12
[oracle@exaprd01-node01]
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "wallet_password";
ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "wallet_password" WITH BACKUP;
ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE '/var/opt/oracle/dbaas_acfs/TEST2PRD/wallet_root/tde' IDENTIFIED BY "wallet_password";
After this, the wallet directory should contain three files:
cwallet.sso
– Auto-login wallet (SSO key)
ewallet_<timestamp>.p12
– Backup of the original key
ewallet.p12
– The main TDE master key file
[oracle@exaprd01-node01 ~]$ ls -l /var/opt/oracle/dbaas_acfs/TEST2PRD/wallet_root/tde
total 28
-rw------- 1 oracle oinstall 4262 Dec 7 04:41 cwallet.sso
-rwxr--r-- 1 oracle oinstall 1573 Dec 7 04:41 ewallet_2024120704413660.p12
-rw------- 1 oracle oinstall 4217 Dec 7 04:41 ewallet.p12
[oracle@exaprd01-node01 ~]$
SQL> show parameter db_uni
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_unique_name string TEST2PRD_EXA
SQL> set lines 600
col WALLET for a20
col WALLET_LOCATION for a80
select WRL_TYPE wallet,status,WALLET_TYPE,wrl_parameter wallet_location,KEYSTORE_MODE from v$encryption_wallet;SQL> SQL> SQL> SQL>
WALLET STATUS WALLET_TYPE WALLET_LOCATION KEYSTORE
-------------------- ------------------------------ -------------------- -------------------------------------------------------------------------------- --------
FILE OPEN AUTOLOGIN /var/opt/oracle/dbaas_acfs/ESOL2PRD/wallet_root/tde/ NONE
SQL>
Fill out the form below to unlock access to more Eclipsys blogs – It’s that easy!