Um PDB foi criado no CDB do DB System na OCI, a wallet tem o status OPEN no CDB root e “OPEN_NO_MASTER_KEY” no PDB1:
SQL> SHOW PDBS;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Consultando no CDB root:
SQL> SELECT WALLET_TYPE, STATUS FROM V$ENCRYPTION_WALLET;
WALLET_TYPE STATUS
-------------------- ------------------------------
AUTOLOGIN OPEN
Consultando no PDB:
SQL> ALTER SESSION SET CONTAINER=PDB1;
Session altered.
SQL> SELECT WALLET_TYPE, STATUS FROM V$ENCRYPTION_WALLET;
WALLET_TYPE STATUS
-------------------- ------------------------------
AUTOLOGIN OPEN_NO_MASTER_KEY
Precisamos definir a Master Encryption Key no PDB, a maneira mais simples de fazer isso é usar a automação oferecida pelo DBCLI, usando a função update-tdekey.
Primeiro precisamos identificar Database ID:
[root@db ~]# dbcli list-databases
ID DB Name DB Type DB Version CDB Class Shape Storage Status DbHomeID
---------------------------------------- ---------- -------- -------------------- ---------- -------- -------- ---------- ------------ ----------------------------------------
3c44c053-2979-468c-85b7-ae195c006298 CDB1 Si 12.1.0.2.210119 true Oltp ASM Configured fd1c586b-6cfd-4d2a-8d86-506100312b07
Então usamos a função update-tdekey do dbcli, onde:
- -i –> ID retornando no comando dbcli list-databases
- -n –> Nome do PDB
- -p –> Senha da wallet, por padrão é a mesma senha de Admin do DB System
[root@db ~]# dbcli update-tdekey -i 3c44c053-2979-468c-85b7-ae195c006298 -n PDB1 -p SenhaDbSystem
{
"jobId" : "f12934f0-7ce6-4c57-a880-294f53d4c5da",
"status" : "Created",
"message" : null,
"reports" : [ ],
"createTimestamp" : "May 02, 2021 22:29:41 PM AMT",
"resourceList" : [ ],
"description" : "TDE update CDB1 - PDBs: [PDB1]",
"updatedTime" : "May 02, 2021 22:29:48 PM AMT",
"percentageProgress" : "0%",
"cause" : null,
"action" : null
}
Podemos consultar o status do JOB, é uma operação rápida:
[root@db ~]# dbcli describe-job -i f12934f0-7ce6-4c57-a880-294f53d4c5da
Job details
----------------------------------------------------------------
ID: f12934f0-7ce6-4c57-a880-294f53d4c5da
Description: TDE update CDB1 - PDBs: [PDB1]
Status: Success
Created: May 2, 2021 10:29:41 PM AMT
Progress: 100%
Message:
Tendo concluído o processo, podemos checar o status da wallet no PDB pelo SQLPLUS novamente:
[oracle@db ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Sun May 2 22:31:06 2021
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production
With the Automatic Storage Management option
SQL> ALTER SESSION SET CONTAINER=PDB1;
Session altered.
SQL> SELECT WALLET_TYPE, STATUS FROM V$ENCRYPTION_WALLET;
WALLET_TYPE STATUS
-------------------- ------------------------------
AUTOLOGIN OPEN
[…] Referência: https://dibiei.blog/2021/05/03/wallet-com-status-open_no_master_key-em-db-system-oci-ajustando-confi… […]