[20230104]Oracle too many parse errors PARSE ERROR.txt
[20230104]Oracle too many parse errors PARSE ERROR.txt
--//來自
--//http://anuj-singh.blogspot.com/2022/12/oracle-too-many-parse-errors-parse-error.html
--//這是我生產系統遇到的類似情況,從12.2c開始oracle分析出現錯誤超過100次,在alter檔案中就有記錄.
--//我最近一直在最佳化一個專案,我發現orcle新版本提供這麼簡單發現寫錯sql語句,可惜開發團隊沒有充分利用這個特性.
--//在alert檔案記錄了大量錯誤語句,當我提交要對方看看到底怎麼回事的時候,總是沒有下文.
--//如果你的程式出現大量sql語句執行錯誤,你的業務邏輯如何保證是正確的.
--//我們另外一個專案竟然在出現錯誤提示時,彈出的對話方塊按鈕裡面竟然提示是否可以繼續執行,簡直無語.如何保證這樣的情況下業務
--//的邏輯是否正確.我們就遇到這樣的情況,樓層的交換機停電,導致網路斷開,因為在出現錯誤是可以不推出程式,導致業務邏輯發生錯
--//誤.這樣的錯誤運維人員在後臺修改資料非常危險,也很容易出錯.而且這樣的錯誤事後非常難查以及定位.,
--//後來我自己測試才發現,不這樣設計這套軟體根本沒有無法正常執行下次,要不斷的退出.
--//只要進行魯棒性測試,滑鼠在介面上"亂點",就很容易出錯.
1.環境:
SCOTT@test01p> @ver1
PORT_STRING VERSION BANNER CON_ID
-------------------- ---------- ---------------------------------------------------------------------------- ------
IBMPC/WIN_NT64-9.1.0 12.2.0.1.0 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0
2.測試指令碼:
$ cat tt2.txt
declare
m1 number;
begin
for i in 1..&&1 loop
begin
execute immediate 'select count(*) frm dual' into m1;
dbms_output.put_line(m1);
exception
when others then null;
end;
end loop;
end;
/
--//frm故意寫錯.
3.測試:
SCOTT@test01p> set verify off
SCOTT@test01p> @ tt2.txt 201
PL/SQL procedure successfully completed.
--//alert記錄如下:
2023-01-22T15:57:30.010417+08:00
TEST01P(3):----- PL/SQL Call Stack -----
object line object
handle number name
000007FF17A2A0C8 6 anonymous block
2023-01-22T15:58:17.560137+08:00
TEST01P(3):WARNING: too many parse errors, count=100 SQL hash=0x2f17e915
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TEST01P(3):PARSE ERROR: ospid=6312, error=923 for statement:
2023-01-22T15:58:17.561137+08:00
TEST01P(3):Select Count(*) frm dual
TEST01P(3):Additional information: hd=000007FF17A257C0 phd=000007FF17A26F18 flg=0x28 cisid=81 sid=81 ciuid=81 uid=81
2023-01-22T15:58:17.562137+08:00
TEST01P(3):----- PL/SQL Call Stack -----
object line object
handle number name
000007FF17BCAB78 6 anonymous block
TEST01P(3):WARNING: too many parse errors, count=200 SQL hash=0x2f17e915
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TEST01P(3):PARSE ERROR: ospid=6312, error=923 for statement:
2023-01-22T15:58:17.581138+08:00
TEST01P(3):Select Count(*) frm dual ----> //問題語句.
TEST01P(3):Additional information: hd=000007FF17A257C0 phd=000007FF17A26F18 flg=0x28 cisid=81 sid=81 ciuid=81 uid=81
2023-01-22T15:58:17.582138+08:00
TEST01P(3):----- PL/SQL Call Stack -----
object line object
handle number name
000007FF17BCAB78 6 anonymous block
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2933491/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫出現WARNING: too many parse errors告警的分析思路Oracle資料庫Error
- parse-jsonJSON
- python parse timePython
- JSON.parse()方法JSON
- JavaScript Date.parse()JavaScript
- JSON.parse() 方法JSON
- tmp dbg parse tree
- PHP函式之parse_str()和parse_url()函式PHP函式
- [20190404]parse call.txt
- ImportError: cannot import name parseImportError
- 【譯】Flutter :Parse JSON in the backgroundFlutterJSON
- flutter_parse_sdk解析Flutter
- Oracle優化案例-復現SQL ordered by Parse Calls(三十二)Oracle優化SQL
- Oracle優化案例-10035定位failed parse問題(三十二)Oracle優化AI
- 淺析Convert,Parse和TryParse
- PHP carbon :日期解析 Carbon::parsePHP
- 字串函式 parse_str ()字串函式
- Vue原始碼解析之parseVue原始碼
- JSON.parse 新手入門JSON
- XML DOM Parse Error 物件概述XMLError物件
- 小心 Enum Parse 中的坑
- 解決 Too many symbol filesSymbol
- MySQL ERROR 1040: Too many connectionsMySqlError
- JSON.parse()出錯解決JSON
- 如何解決"Parse error: syntax error"Error
- Too many files with unapproved license異常APP
- JSON.parse與JSON.stringify(object)JSONObject
- 如何實現一個JSON.parseJSON
- Java中parse方法,ValueOf方法,toString方法Java
- JSON.parse () 的非嚴格模式JSON模式
- Too many open files報錯處理
- 當JSON.parse“遇上”非鍵值對JSON
- JSON.parse 和 JSON.stringify 詳解JSON
- Ubuntu 解決 Too many open files 問題Ubuntu
- React報錯之Too many re-rendersReact
- 如何修復 SPF PermError: too many DNS lookupsErrorDNS
- Mysql host is blocked because of many connection errors;unblock解決方法MySqlBloCError
- 有意思的JSON.parse()、JSON.stringify()JSON