本文内容来自YashanDB官网,原文内容请见https://yashandb.com/newsinfo/7863038.html?templateId=1718516

【问题分类】功能使用

【关键字】UNIFIED_AUDIT_TRAIL,YAS-00220

【问题描述】当审计对象的SQL语句包含非标准中文字符时,出现YAS-00220 utf8 sequence is wrong,影响审计记录。

--第一步:打开审计开关

SQL> ALTER SYSTEM SET UNIFIED_AUDITING = true;

 

Succeed.

 

--创建审计策略

CREATE AUDIT POLICY up2

  ACTIONS DROP TABLE,DELETE ON sales.area,INSERT ON sales.area,UPDATE ON sales.area,ALL ON sales.sales_info;

 

AUDIT POLICY up2;

 

--第二步:执行操作被正常记录

SQL> conn sales/sales

 

Connected to:

YashanDB Server Enterprise Edition Release 23.2.7.100 x86_64 - Linux

 

SQL> UPDATE area SET DHQ='guangzhou' WHERE area_no='01';

 

1 row affected.

 

SQL> commit;

 

Succeed.

 

SQL> SELECT dbusername,event_timestamp,sql_text,object_schema

FROM UNIFIED_AUDIT_TRAIL

WHERE dbusername='SALES'; 2 3

 

DBUSERNAME EVENT_TIMESTAMP SQL_TEXT OBJECT_SCHEMA

---------------------------------------------------------------- ---------------------------------------------------------------- ---------------------------------------------------------------- ----------------------------------------------------------------

SALES 2024-12-11 09:52:27.602837 UPDATE area SET DHQ='guangzhou' WHERE area_no='01' SALES

 

1 row fetched.

 

--第三步:其中 '广.' 为非正常中文字段,查看审计表出现报错

SQL> UPDATE area SET DHQ='广.' WHERE area_no='01';

 

1 row affected.

 

SQL> commit;

 

Succeed.

 

SQL> SELECT dbusername,event_timestamp,sql_text,object_schema

FROM UNIFIED_AUDIT_TRAIL

WHERE dbusername='SALES'; 2 3

 

DBUSERNAME EVENT_TIMESTAMP SQL_TEXT OBJECT_SCHEMA

---------------------------------------------------------------- ---------------------------------------------------------------- ---------------------------------------------------------------- ----------------------------------------------------------------

SALES 2024-12-11 09:52:27.602837 UPDATE area SET DHQ='guangzhou' WHERE area_no='01' SALES

 

YAS-00220 utf8 sequence is wrong

 

--第四步:执行操作无法被正常记录

SQL> UPDATE area SET DHQ='guangzhou' WHERE area_no='01';

 

1 row affected.

 

SQL> commit;

 

Succeed.

 

SQL> SELECT dbusername,event_timestamp,sql_text,object_schema FROM UNIFIED_AUDIT_TRAIL WHERE dbusername='SALES';

 

DBUSERNAME EVENT_TIMESTAMP SQL_TEXT OBJECT_SCHEMA

---------------------------------------------------------------- ---------------------------------------------------------------- ---------------------------------------------------------------- ----------------------------------------------------------------

SALES 2024-12-11 09:52:27.602837 UPDATE area SET DHQ='guangzhou' WHERE area_no='01' SALES

 

YAS-00220 utf8 sequence is wrong

【影响范围】23.2.9.xxx前的所有版本

【修复版本】-


YashanDB
1 声望0 粉丝

崖山数据库系统YashanDB是深圳计算科学研究院自主设计研发的新型数据库管理系统,融入原创的有界计算、近似计算、并行可扩展和跨模融合计算理论,可满足金融、政企、能源等关键行业对高性能、高并发及高安全性的...