12c以上ORACLE数据库,报警日志中,大量报警日志:WARNING: too many parse errors,可以通过修改以下参数解决:
alter system set "_kks_parse_error_warning"=0;
具体参见: Doc ID 2320935.1
附:
'WARNING: too many parse errors' in the 12.2 Alert.log (Doc ID 2320935.1)
In this Document
Symptoms
Cause
Solution
References
APPLIES TO:
Oracle Database Cloud Schema Service - Version N/A and later
Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Information in this document applies to any platform.
SYMPTOMS
The following messages are generated in the alert.log frequently:
WARNING: too many parse errors, count=29200 SQL hash=0x2473a808
PARSE ERROR: ospid=7013, error=942 for statement:
2017-05-30T08:19:13.196642-06:00
select col1, col2 from testtab where col1=1;
The "error=942" indicates the underlying cause why the SQL cannot be parsed successfully. In this case, error=942 means ora-942: table or view does not exist
CAUSE
The similar issue is being investigated in following bug:
BUG 26184177 - "WARNING: TOO MANY PARSE ERRORS" IN THE ALERT.LOG <===closed as duplicate to following bug:
Bug 16945190 DIAGENH: DUMPING PARSE FAILURES AUTOMATICALLY W/O EVENT 10035
The base bug revealed that the feature to print parse error message into alert log is introduced in fix of 16945190 to detect parse failure without setting event 10035.
The main reason you are seeing this error in alert log, is the problematic SQL cannot be parsed successfully. Most of time the problem is due to application issue.
SOLUTION
The solution is to fix the underlying parse failure issue.
Alternatively you can set _kks_parse_error_warning=0 to mute the warning, but it is not recommended, since parse failure is harmful to database performance, it can cause various mutex/latch/library cache lock contention.
|