某库大量出现下面的错误:(设计隐私,表明用***号替代)
SQL hash=0x1e94712d
从12.2开始,如果sql解析失败超过一定次数,会在alert日志中记录类似警告信息,便于对其进行排查
通过查询mos,确认相关记录是通过_kks_parse_error_warning参数来控制,默认每100次解析失败写入alert日志一次
由于某种原因,解析错误sql,短期内无法进行修改,又不想让其在alert中提示,可以通过设置该值为0,实现让其不记录在alert日志中
alter system set "_kks_parse_error_warning"=0;
在12.2之前版本,解析错误默认不记录到alert日志中,但是也可以通过event 10035实现类似功能
问题二:找到连接相关信息
SQL> select * from v$session where sid=142;
no rows selected
在 v$session 里面找不到相关信息 ,尝试通过 SQL hash=0x1e94712d 查找相关信息
将十六进制转化为十进制
SQL> select to_number('1E94712D','xxxxxxxxx') from dual;
TO_NUMBER('1E94712D','XXXXXXXXX')
---------------------------------
513044781
找到对应的sql_id
SQL> select SQL_ID from v$sqltext where HASH_VALUE='513044781';
SQL_ID
-------------
bm5ys54g98w9d
查找连接用户、客户端信息:
SQL> select instance_number,SAMPLE_TIME,sql_id,user_id,machine from dba_hist_active_sess_history where sql_id='bm5ys54g98w9d' and SAMPLE_TIME>sysdate -1/24;
INSTANCE_NUMBER
---------------
SAMPLE_TIME
---------------------------------------------------------------------------
SQL_ID USER_ID
------------- ----------
MACHINE
----------------------------------------------------------------
1
02-AUG-21 09.39.15.980 AM
bm5ys54g98w9d 142
****.cloud.d05.*****