Tuesday, September 24, 2024

OKV Implementation: Reverse migrate from OKV to TDE File (rollback testing)

Reverse migrate from OKV to TDE File

YouTube Video:



1. note down current config


set lines 1200 pages 30000 colsep , time on timing on trim on trims on long 20000

alter session set nls_date_format='DD/MON/YYYY HH24:MI:SS';

col KEY_ID                       for a40

col TAG                          for a40

col CREATOR                      for a40

col USER                         for a20

col CREATOR_DBNAME               for a10

col CREATOR_INSTANCE_NAME        for a10

col CREATOR_PDBNAME              for a20

col CREATOR_PDBGUID              for a40

col ACTIVATING_DBNAME            for a10

col ACTIVATING_INSTANCE_NAME     for a10

col ACTIVATING_PDBNAME           for a20

col ACTIVATING_PDBGUID           for a40

col wrl_parameter for a70

select * from v$encryption_wallet;

select * from v$encryption_keys order by creation_time,ACTIVATION_TIME;

select tablespace_name,encrypted from dba_tablespaces;


actual output:


17:03:30 SQL> select * from v$encryption_wallet;


WRL_TYPE            ,WRL_PARAMETER                                                         ,STATUS                        ,WALLET_TYPE           ,WALLET_OR,KEYSTORE,FULLY_BAC,    CON_ID

--------------------,----------------------------------------------------------------------,------------------------------,--------------------,---------,--------,---------,----------

FILE                ,/u01/app/oracle/admin/GGTGT04T/wallet/tde/                            ,OPEN_NO_MASTER_KEY            ,LOCAL_AUTOLOGIN     ,SECONDARY,NONE      ,UNDEFINED,         0

OKV                 ,                                                                      ,OPEN                          ,OKV                   ,PRIMARY  ,NONE    ,UNDEFINED,         0


Elapsed: 00:00:00.01

17:03:34 SQL> select * from v$encryption_keys order by creation_time,ACTIVATION_TIME;



KEY_ID                                  ,TAG                                     ,CREATION_TIME                               ,ACTIVATION_TIME                                                             ,CREATOR                                 ,CREATOR_ID,USER                  ,   USER_ID,KEY_USE   ,KEYSTORE_TYPE    ,ORIGIN                                   ,BACKED_UP,CREATOR_DB,CREATOR_DBID,CREATOR_IN,CREATOR_INSTANCE_NUMBER,CREATOR_INSTANCE_SERIAL,CREATOR_PDBNAME     ,CREATOR_PDBID,CREATOR_PDBUID,CREATOR_PDBGUID                     ,ACTIVATING,ACTIVATING_DBID,ACTIVATING,ACTIVATING_INSTANCE_NUMBER,ACTIVATING_INSTANCE_SERIAL,ACTIVATING_PDBNAME  ,ACTIVATING_PDBID,ACTIVATING_PDBUID,ACTIVATING_PDBGUID                        ,    CON_ID

----------------------------------------,----------------------------------------,---------------------------------------------------------------------------,---------------------------------------------------------------------------,----------------------------------------,----------,--------------------,----------,----------,-----------------,-----------------------------------------,---------,----------,------------,----------,-----------------------,-----------------------,--------------------,-------------,--------------,----------------------------------------,----------,---------------,----------,--------------------------,--------------------------,--------------------,----------------,-----------------,----------------------------------------,----------

0624C275A122E04FA4BFAAF486B4B27B5E      ,                                        ,26-AUG-23 12.21.51.228487 PM +01:00         ,26-AUG-23 12.21.51.228490 PM +01:00                                         ,SYS                                     ,           0,SYS                 ,         0,TDE       ,SOFTWARE KEYSTORE,LOCAL                                    ,NO       ,GGSRC04T  ,  4198404018,GGSRC04T  ,                        1,             4294967295,                    ,            0,               0,00000000000000000000000000000000        ,GGSRC04T  ,     4198404018,GGSRC04T  ,                         1,                  4294967295,                    ,               0,                0,00000000000000000000000000000000 ,          0

06B658AFFFACFC4F3CBFE0133497195A3C      ,                                        ,06-SEP-24 09.51.29.763257 PM +01:00         ,06-SEP-24 09.51.29.763260 PM +01:00                                         ,SYS                                     ,           0,SYS                 ,         0,TDE       ,SOFTWARE KEYSTORE,LOCAL                                    ,NO       ,GGTGT04T  ,   154373397,GGTGT04T  ,                        1,             4294967295,                    ,            0,               0,00000000000000000000000000000000        ,GGTGT04T  ,      154373397,GGTGT04T  ,                         1,                  4294967295,                    ,               0,                0,00000000000000000000000000000000 ,          0


Elapsed: 00:00:46.57

17:04:31 SQL> 17:04:31 SQL> select tablespace_name,encrypted from dba_tablespaces;


TABLESPACE_NAME               ,ENC

------------------------------,---

SYSTEM                        ,NO

SYSAUX                        ,NO

UNDOTBS1                      ,NO

TEMP                          ,NO

USERS                         ,NO

ENCRYPT_TS1                   ,YES

GG_DATA_TGT                   ,NO


7 rows selected.


Elapsed: 00:00:00.04

17:05:20 SQL> select count(1) from encvault_test.encrypt_tab1;


  COUNT(1)

----------

        10


Elapsed: 00:00:00.07

17:05:30 SQL> select owner,table_name,tablespace_name from dba_tables where owner='ENCVAULT_TEST' and table_name='ENCRYPT_TAB1';


OWNER                                                                                                                    ,TABLE_NAME                                                                                                                ,TABLESPACE_NAME

--------------------------------------------------------------------------------------------------------------------------------,--------------------------------------------------------------------------------------------------------------------------------,------------------------------

ENCVAULT_TEST                                                                                                            ,ENCRYPT_TAB1                                                                                                              ,ENCRYPT_TS1


Elapsed: 00:00:00.08

17:06:07 SQL> sho parameter wallet_root


NAME                                ,TYPE       ,VALUE

------------------------------------,-----------,------------------------------

wallet_root                         ,string     ,/u01/app/oracle/admin/GGTGT04T

                                    ,           ,/wallet

17:06:33 SQL> sho parameter tde_Conf


NAME                                ,TYPE       ,VALUE

------------------------------------,-----------,------------------------------

tde_configuration                   ,string     ,KEYSTORE_CONFIGURATION=OKV|FIL

                                    ,           ,E

17:06:37 SQL>



2. Validate data access


select count(1) from encvault_test.encrypt_tab1;


3. Check the WALLET_ROOT and ensure note down its content (may be backup the $WALLET_ROOT/tde)


actual output:


[oracle@vcentos79-oracle-ggtgt tde]$ ls -altr /u01/app/oracle/admin/GGTGT04T/wallet

total 12

-rw-------. 1 oracle oinstall 3891 Aug 26  2023 cwallet.sso

-rw-------. 1 oracle oinstall 3848 Aug 26  2023 ewallet.p12

drwxr-xr-x. 5 oracle oinstall   51 Aug 26  2023 ..

lrwxrwxrwx. 1 oracle oinstall   19 Sep  6 21:50 okv -> /u01/app/oracle/okv

drwxr-xr-x. 2 oracle oinstall 4096 Sep  6 21:51 tde_2_Remove

drwxr-xr-x. 2 oracle oinstall   25 Sep 18 15:00 tde_seps

drwxr-xr-x. 2 oracle oinstall   25 Sep 18 15:00 tde

drwxr-xr-x. 5 oracle oinstall  102 Sep 18 15:16 .

[oracle@vcentos79-oracle-ggtgt tde]$ ls -altr /u01/app/oracle/admin/GGTGT04T/wallet/tde

total 4

drwxr-xr-x. 2 oracle oinstall   25 Sep 18 15:00 .

-rw-------. 1 oracle oinstall 3925 Sep 18 15:00 cwallet.sso

drwxr-xr-x. 5 oracle oinstall  102 Sep 18 15:16 ..

[oracle@vcentos79-oracle-ggtgt tde]$ ls -altr /u01/app/oracle/admin/GGTGT04T/wallet/tde_seps/

total 4

drwxr-xr-x. 2 oracle oinstall   25 Sep 18 15:00 .

-rw-------. 1 oracle oinstall 3925 Sep 18 15:00 cwallet.sso

drwxr-xr-x. 5 oracle oinstall  102 Sep 18 15:16 ..

[oracle@vcentos79-oracle-ggtgt tde]$ exit

exit


17:07:05 SQL>




4. Ensure wallet_root and tde_configuration parameters are proper



5. As sysdba, perform the reverse migration command


ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY 

IDENTIFIED BY TDE_wallet_password 

REVERSE MIGRATE USING "external_key_manager_password" WITH BACKUP;


Notes:


ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY 

IDENTIFIED BY oracle

REVERSE MIGRATE USING "null" WITH BACKUP;


Error:

ORA-46624 - so we need to copy the ewallet.p12 from old tde directory to here.

ORA-28416 - we need to alter the tdE_configuration from 'OKV|FILE' to 'FILE|OKV'

ORA-46631 - error insists we should have "WITH BACKUP" keyword in the command



Actual output:


17:12:52 SQL> show parameter tde_co


NAME                                ,TYPE       ,VALUE

------------------------------------,-----------,------------------------------

tde_configuration                   ,string     ,KEYSTORE_CONFIGURATION=OKV|FIL

                                    ,           ,E

17:13:02 SQL> alter system set tde_configuration='KEYSTORE_CONFIGURATION=FILE|OKV';


System altered.


Elapsed: 00:00:00.02

17:13:46 SQL> show parameter tde_co


NAME                                ,TYPE       ,VALUE

------------------------------------,-----------,------------------------------

tde_configuration                   ,string     ,KEYSTORE_CONFIGURATION=FILE|OK

                                    ,           ,V



[oracle@vcentos79-oracle-ggtgt tde]$ cp ../tde_2_Remove/ewallet.p12 .

[oracle@vcentos79-oracle-ggtgt tde]$ ls -altr

total 8

-rw-------. 1 oracle oinstall 3925 Sep 18 15:00 cwallet.sso

drwxr-xr-x. 5 oracle oinstall  102 Sep 18 15:16 ..

-rw-------. 1 oracle oinstall 3995 Sep 18 17:15 ewallet.p12

drwxr-xr-x. 2 oracle oinstall   44 Sep 18 17:15 .

[oracle@vcentos79-oracle-ggtgt tde]$


17:15:30 SQL> ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

IDENTIFIED BY oracle

REVERSE MIGRATE USING "null" WITH BACKUP;17:15:36   2  17:15:36   3


keystore altered.


Elapsed: 00:00:01.56

17:15:39 SQL> 


[oracle@vcentos79-oracle-ggtgt tde]$ ls -altr

total 20

drwxr-xr-x. 5 oracle oinstall  102 Sep 18 15:16 ..

-rw-------. 1 oracle oinstall 3995 Sep 18 17:15 ewallet_2024091816153779.p12

drwxr-xr-x. 2 oracle oinstall   80 Sep 18 17:15 .

-rw-------. 1 oracle oinstall 5259 Sep 18 17:15 ewallet.p12 <<< file grew in size

-rw-------. 1 oracle oinstall 5304 Sep 18 17:15 cwallet.sso

[oracle@vcentos79-oracle-ggtgt tde]$






6. note down current config


set lines 1200 pages 30000 colsep , time on timing on trim on trims on long 20000

alter session set nls_date_format='DD/MON/YYYY HH24:MI:SS';

col KEY_ID                       for a40

col TAG                          for a40

col CREATOR                      for a40

col USER                         for a20

col CREATOR_DBNAME               for a10

col CREATOR_INSTANCE_NAME        for a10

col CREATOR_PDBNAME              for a20

col CREATOR_PDBGUID              for a40

col ACTIVATING_DBNAME            for a10

col ACTIVATING_INSTANCE_NAME     for a10

col ACTIVATING_PDBNAME           for a20

col ACTIVATING_PDBGUID           for a40

col wrl_parameter for a70

select * from v$encryption_wallet;

select * from v$encryption_keys order by creation_time,ACTIVATION_TIME;

select tablespace_name,encrypted from dba_tablespaces;


Actual output:

17:19:22 SQL> select * from v$encryption_wallet;


WRL_TYPE            ,WRL_PARAMETER                                                         ,STATUS                        ,WALLET_TYPE           ,WALLET_OR,KEYSTORE,FULLY_BAC,    CON_ID

--------------------,----------------------------------------------------------------------,------------------------------,--------------------,---------,--------,---------,----------

FILE                ,/u01/app/oracle/admin/GGTGT04T/wallet/tde/                            ,OPEN                          ,PASSWORD              ,PRIMARY  ,NONE    ,NO       ,         0

OKV                 ,                                                                      ,CLOSED                        ,UNKNOWN               ,SECONDARY,NONE    ,UNDEFINED,         0


Elapsed: 00:00:00.00

17:19:39 SQL> select * from v$encryption_keys order by creation_time,ACTIVATION_TIME;


KEY_ID                                  ,TAG                                     ,CREATION_TIME                               ,ACTIVATION_TIME                                                             ,CREATOR                                 ,CREATOR_ID,USER                  ,   USER_ID,KEY_USE   ,KEYSTORE_TYPE    ,ORIGIN                                   ,BACKED_UP,CREATOR_DB,CREATOR_DBID,CREATOR_IN,CREATOR_INSTANCE_NUMBER,CREATOR_INSTANCE_SERIAL,CREATOR_PDBNAME     ,CREATOR_PDBID,CREATOR_PDBUID,CREATOR_PDBGUID                     ,ACTIVATING,ACTIVATING_DBID,ACTIVATING,ACTIVATING_INSTANCE_NUMBER,ACTIVATING_INSTANCE_SERIAL,ACTIVATING_PDBNAME  ,ACTIVATING_PDBID,ACTIVATING_PDBUID,ACTIVATING_PDBGUID                        ,    CON_ID

----------------------------------------,----------------------------------------,---------------------------------------------------------------------------,---------------------------------------------------------------------------,----------------------------------------,----------,--------------------,----------,----------,-----------------,-----------------------------------------,---------,----------,------------,----------,-----------------------,-----------------------,--------------------,-------------,--------------,----------------------------------------,----------,---------------,----------,--------------------------,--------------------------,--------------------,----------------,-----------------,----------------------------------------,----------

ASTCdaEi4E+kv6r0hrSye14AAAAAAAAAAAAAAAAA,                                        ,26-AUG-23 12.21.51.228487 PM +01:00         ,26-AUG-23 12.21.51.228490 PM +01:00                                         ,SYS                                     ,           0,SYS                 ,         0,TDE       ,SOFTWARE KEYSTORE,LOCAL                                    ,YES      ,GGSRC04T  ,  4198404018,GGSRC04T  ,                        1,             4294967295,                    ,            0,               0,00000000000000000000000000000000        ,GGSRC04T  ,     4198404018,GGSRC04T  ,                         1,                  4294967295,                    ,               0,                0,00000000000000000000000000000000 ,          0

AAAAAAAAAAAA                            ,                                        ,                                            ,                                                                            ,                                        ,            ,                    ,          ,          ,                 ,                                         ,         ,    ,            ,          ,                       ,                       ,                    ,             ,       ,                                         ,          ,               ,          ,                          ,           ,     ,                ,                 ,                                        ,


AeTxS3+/p094v+Pov24n5BkAAAAAAAAAAAAAAAAA,                                        ,18-SEP-24 05.15.37.795789 PM +01:00         ,18-SEP-24 05.15.37.795795 PM +01:00                                         ,SYS                                     ,           0,SYS                 ,         0,TDE       ,SOFTWARE KEYSTORE,LOCAL                                    ,NO       ,GGTGT04T  ,   154373397,GGTGT04T  ,                        1,             4294967295,                    ,            0,               0,00000000000000000000000000000000        ,GGTGT04T  ,      154373397,GGTGT04T  ,                         1,                  4294967295,                    ,               0,                0,00000000000000000000000000000000 ,          0

AAAAAAAAAAAA                            ,                                        ,                                            ,                                                                            ,                                        ,            ,                    ,          ,          ,                 ,                                         ,         ,    ,            ,          ,                       ,                       ,                    ,             ,       ,                                         ,          ,               ,          ,                          ,           ,     ,                ,                 ,                                        ,



Elapsed: 00:00:00.00

17:19:56 SQL> select tablespace_name,encrypted from dba_tablespaces;


TABLESPACE_NAME               ,ENC

------------------------------,---

SYSTEM                        ,NO

SYSAUX                        ,NO

UNDOTBS1                      ,NO

TEMP                          ,NO

USERS                         ,NO

ENCRYPT_TS1                   ,YES

GG_DATA_TGT                   ,NO


7 rows selected.


Elapsed: 00:00:00.00




7. Validate data access


select count(1) from encvault_test.encrypt_tab1;


17:21:33 SQL> select count(1) from encvault_test.encrypt_tab1;


  COUNT(1)

----------

        10


Elapsed: 00:00:00.00

17:22:03 SQL>



8. To create auto_login wallet:


command:

ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE '/u01/app/oracle/admin/GGTGT04T/wallet/tde' IDENTIFIED BY "oracle";


actual output:

17:29:07 SQL> ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE '/u01/app/oracle/admin/GGTGT04T/wallet/tde' IDENTIFIED BY "oracle";


keystore altered.


Elapsed: 00:00:00.19

17:29:32 SQL>


[oracle@vcentos79-oracle-ggtgt tde]$ ls -altr

total 28

drwxr-xr-x. 5 oracle oinstall  102 Sep 18 15:16 ..

-rw-------. 1 oracle oinstall 3995 Sep 18 17:15 ewallet_2024091816153779.p12

-rw-------. 1 oracle oinstall 5259 Sep 18 17:15 ewallet.p12

-rw-------. 1 oracle oinstall 5304 Sep 18 17:15 cwallet.sso_old

-rw-------. 1 oracle oinstall 5304 Sep 18 17:29 cwallet.sso <<< file updated

drwxr-xr-x. 2 oracle oinstall  103 Sep 18 17:29 .

[oracle@vcentos79-oracle-ggtgt tde]$



17:31:08 SQL> shu immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.


17:31:38 SQL> 17:31:38 SQL>

17:31:39 SQL> startup

ORACLE instance started.


Total System Global Area,3221222464,bytes

Fixed Size              ,   8901696,bytes

Variable Size           ,1107296256,bytes

Database Buffers        ,2097152000,bytes

Redo Buffers            ,   7872512,bytes

Database mounted.

Database opened.

17:31:52 SQL> select * from v$encryption_wallet;


WRL_TYPE            ,WRL_PARAMETER                                                         ,STATUS                        ,WALLET_TYPE           ,WALLET_OR,KEYSTORE,FULLY_BAC,    CON_ID

--------------------,----------------------------------------------------------------------,------------------------------,--------------------,---------,--------,---------,----------

FILE                ,/u01/app/oracle/admin/GGTGT04T/wallet/tde/                            ,OPEN                          ,AUTOLOGIN             ,PRIMARY  ,NONE    ,NO       ,         0

OKV                 ,                                                                      ,CLOSED                        ,UNKNOWN               ,SECONDARY,NONE    ,UNDEFINED,         0


Elapsed: 00:00:00.09

17:31:59 SQL> select * from v$encryption_keys order by creation_time,ACTIVATION_TIME;


KEY_ID                                  ,TAG                                     ,CREATION_TIME                               ,ACTIVATION_TIME                                                             ,CREATOR                                 ,CREATOR_ID,USER                  ,   USER_ID,KEY_USE   ,KEYSTORE_TYPE    ,ORIGIN                                   ,BACKED_UP,CREATOR_DB,CREATOR_DBID,CREATOR_IN,CREATOR_INSTANCE_NUMBER,CREATOR_INSTANCE_SERIAL,CREATOR_PDBNAME     ,CREATOR_PDBID,CREATOR_PDBUID,CREATOR_PDBGUID                     ,ACTIVATING,ACTIVATING_DBID,ACTIVATING,ACTIVATING_INSTANCE_NUMBER,ACTIVATING_INSTANCE_SERIAL,ACTIVATING_PDBNAME  ,ACTIVATING_PDBID,ACTIVATING_PDBUID,ACTIVATING_PDBGUID                        ,    CON_ID

----------------------------------------,----------------------------------------,---------------------------------------------------------------------------,---------------------------------------------------------------------------,----------------------------------------,----------,--------------------,----------,----------,-----------------,-----------------------------------------,---------,----------,------------,----------,-----------------------,-----------------------,--------------------,-------------,--------------,----------------------------------------,----------,---------------,----------,--------------------------,--------------------------,--------------------,----------------,-----------------,----------------------------------------,----------

ASTCdaEi4E+kv6r0hrSye14AAAAAAAAAAAAAAAAA,                                        ,26-AUG-23 12.21.51.228487 PM +01:00         ,26-AUG-23 12.21.51.228490 PM +01:00                                         ,SYS                                     ,           0,SYS                 ,         0,TDE       ,SOFTWARE KEYSTORE,LOCAL                                    ,YES      ,GGSRC04T  ,  4198404018,GGSRC04T  ,                        1,             4294967295,                    ,            0,               0,00000000000000000000000000000000        ,GGSRC04T  ,     4198404018,GGSRC04T  ,                         1,                  4294967295,                    ,               0,                0,00000000000000000000000000000000 ,          0

AAAAAAAAAAAA                            ,                                        ,                                            ,                                                                            ,                                        ,            ,                    ,          ,          ,                 ,                                         ,         ,    ,            ,          ,                       ,                       ,                    ,             ,       ,                                         ,          ,               ,          ,                          ,           ,     ,                ,                 ,                                        ,


AeTxS3+/p094v+Pov24n5BkAAAAAAAAAAAAAAAAA,                                        ,18-SEP-24 05.15.37.795789 PM +01:00         ,18-SEP-24 05.15.37.795795 PM +01:00                                         ,SYS                                     ,           0,SYS                 ,         0,TDE       ,SOFTWARE KEYSTORE,LOCAL                                    ,NO       ,GGTGT04T  ,   154373397,GGTGT04T  ,                        1,             4294967295,                    ,            0,               0,00000000000000000000000000000000        ,GGTGT04T  ,      154373397,GGTGT04T  ,                         1,                  4294967295,                    ,               0,                0,00000000000000000000000000000000 ,          0

AAAAAAAAAAAA                            ,                                        ,                                            ,                                                                            ,                                        ,            ,                    ,          ,          ,                 ,                                         ,         ,    ,            ,          ,                       ,                       ,                    ,             ,       ,                                         ,          ,               ,          ,                          ,           ,     ,                ,                 ,                                        ,



Elapsed: 00:00:00.03

17:32:18 SQL> select tablespace_name,encrypted from dba_tablespaces;


TABLESPACE_NAME               ,ENC

------------------------------,---

SYSTEM                        ,NO

SYSAUX                        ,NO

UNDOTBS1                      ,NO

TEMP                          ,NO

USERS                         ,NO

ENCRYPT_TS1                   ,YES

GG_DATA_TGT                   ,NO


7 rows selected.


Elapsed: 00:00:00.02

17:32:27 SQL> select count(1) from encvault_test.encrypt_tab1;


  COUNT(1)

----------

        10


Elapsed: 00:00:00.01

17:32:33 SQL> exit

Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

Version 19.3.0.0.0

[oracle@vcentos79-oracle-ggtgt tde]$



Flashback data archive steps

 Objective: Ways to track DML changes in a table Detailed objective: We should be able to track the changes in the table at any point in tim...