ORACLE 21C 如何以group25为密钥将ORDERS表中数据类型为NUMBER(35,2)的TotalCost 列的数据加密
时间: 2023-12-03 18:47:04 浏览: 122
oracle数据加密
Oracle 21c 通过 Transparent Data Encryption (TDE) 功能支持对数据库中的敏感数据进行加密保护。在使用 TDE 功能前,需要先配置 Oracle Wallet 以存储加密密钥。
以下是通过 TDE 加密 ORDERS 表的 TotalCost 列的步骤:
1. 创建一个 Oracle Wallet,并配置一个名为 group25 的加密密钥:
```
ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '/path/to/wallet' IDENTIFIED BY 'wallet_password';
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY 'wallet_password';
ADMINISTER KEY MANAGEMENT CREATE KEY 'group25' IDENTIFIED BY 'group25_password';
```
2. 将 ORDERS 表中 TotalCost 列的数据类型更改为加密类型:
```
ALTER TABLE ORDERS MODIFY (TotalCost ENCRYPT USING 'AES256' KEYID 'group25');
```
3. 确认加密已经生效:
```
SELECT column_name, encryption_alg, encrypted FROM user_enc_columns WHERE table_name='ORDERS';
```
这将显示 ORDERS 表中所有已加密列的加密算法和加密状态。如果 TotalCost 列被加密,则应该会显示为 “YES”。
现在,ORDERS 表中的 TotalCost 列中的数据已经被加密,只有拥有访问加密密钥的用户才能查看其明文值。
阅读全文