原来我以为auto_login keystore就是里面存储了password-protected keystore的password,然后本身自己的密码是系统生成的,可以自动打开,然后打开后可以使用里面储存的password-protected keystore的password去打开password-protected keystore,然后数据库就可以访问password-protected keystore里面的master encrytpion key,进而加解密数据库里面的数据了。这是我原来的理解,从下面的理解应该看来我是理解错了
cwallet.sso是auto_login keystore
ewallet.p12是password-protected keystore
从这两个keystore的文件大小来看,差别很小,不像是auto_login keystore里面只存储了密码的样子,他们两个之间的大小差别是 12904-12859 = 45
[Sun May 14 19:44:36][111279][oracle@nshqae01adm01:/u01/app/v1/oradata/cdb3/wallet/tde][0]$ ls -al {cwallet.sso,ewallet.p12}
-rw------- 1 oracle oinstall 12904 May 14 19:41 cwallet.sso
-rw------- 1 oracle oinstall 12859 May 14 19:41 ewallet.p12
然后我在一个新建的pdb里生成key
19:46:58 SQL> administer key management set key force keystore identified by cdb with backup;
keystore altered.
Elapsed: 00:00:00.58
再生成key之后,我再去检查这两个文件的大小
[Sun May 14 19:46:40][111279][oracle@nshqae01adm01:/u01/app/v1/oradata/cdb3/wallet/tde][0]$ ls -al {cwallet.sso,ewallet.p12}
-rw------- 1 oracle oinstall 14168 May 14 19:47 cwallet.sso
-rw------- 1 oracle oinstall 14123 May 14 19:47 ewallet.p12
发现auto_login keystore增加了 14168-12904 = 1264
发现password-protected keystore增加了 14123-12859= 1264
都是增加了1264字节,所以应该是说这个pdb的master encryption key添加到了两个keystore,而不是我原来理解的只添加到了password-protected keystore里面,而auto login keystore里面存储的是password-protected keystore的密码
这两个文件的字节差还是45个字节 14168-14123=45
我同时也做了个实验
就是重新修改password-protected keystore的密码之后,不需要对auto_login keystore做什么操作,数据库也可以自动打开。这也就验证了auto_login keystore里面并没有存储或者关联password-protected keystore的密码,所以改不改密码不影响auto_login keystore 的操作
20:02:06 SQL> administer key management alter keystore password force keystore identified by cdb set cdba with backup;
keystore altered.
Elapsed: 00:00:00.25