首批通过分布式安全可靠测评,为关键业务系统打造
AUDIT_LOG_ENCRYPTION_PASSWORD_GET
更新时间:2026-07-16 19:52:04
描述
该函数根据归档审计日志文件名中的 pwd_id(加密密钥标识),返回对应归档文件的加密密码,供受控环境下的离线解密、取证或与外部工具对接。
功能适用性
该内容仅适用于 OceanBase 数据库企业版,OceanBase 数据库社区版暂不支持审计功能。
语法
AUDIT_LOG_ENCRYPTION_PASSWORD_GET(pwd_id);
权限要求
使用该函数需拥有 SUPER 权限。
说明
参数解释
pwd_id:Int 类型,表示加密归档文件名中.enc.段之后的密钥标识,如1001。若不传入参数,默认获取最新的pwd_id对应的密码。
说明
本函数会返回敏感信息,请严格限制调用权限,并做好操作审计与结果脱敏。归档文件名格式见文末“设置和查看审计规则”中的“设置日志加密”中的归档文件名格式表格。
使用限制
- 与其它审计函数相同:须直接且唯一地作为一条
SELECT语句的输出列,且不能出现在子查询中;详见 审计函数概述 中的使用限制及注意事项。 - 该函数仅适用于将审计记录写入磁盘文件的场景(
audit_trail为LOG)。
返回值
函数输出为字符串类型。
- 当查询成功时,返回与
pwd_id对应的密码。 - 当查询失败时,
SELECT语句仍可能执行成功,函数的输出结果为错误信息。
示例
获取当前最新归档日志的加密密码:
SELECT AUDIT_LOG_ENCRYPTION_PASSWORD_GET() FROM DUAL;
假设某归档文件名为 audit.log.20231031080646317.enc.1001,则可将 1001 作为 pwd_id 传入(请按实际文件名解析出的标识替换):
SELECT AUDIT_LOG_ENCRYPTION_PASSWORD_GET(1001) FROM DUAL;
返回结果示意如下(实际密钥内容略):
+-------------------------------------------+
| AUDIT_LOG_ENCRYPTION_PASSWORD_GET(1001) |
+-------------------------------------------+
| <密码> |
+-------------------------------------------+
1 row in set