四虎国产精品永久地址998_chinesexxx少妇露脸_日本丁香久久综合国产精品_一区二区久久久久_四虎av影视_久久久久国产一区二区三区不卡

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 數(shù)據(jù)庫 > Oracle如何追蹤ORA-00903 無效表名的?

Oracle如何追蹤ORA-00903 無效表名的?

2020-07-09 17:55:23 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)

Oracle數(shù)據(jù)庫當(dāng)前是世界上流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。該系統(tǒng)具有良好的便攜性,易用性和強大的功能。它適用于各種大型,中型,小型和微型計算機環(huán)境。因此,許多高科技公司都在使用Oracle數(shù)據(jù)庫。那么Oracle如何跟蹤ORA-00903無效表名的? 本文主要介紹Oracle使用errorstack來跟蹤tomcat錯誤ORA-00903無效的表名,這里為您提供了非常詳細的介紹。 它對每個人的學(xué)習(xí)或工作都有一定的參考價值。

  現(xiàn)象

tomcat錯誤日志斷斷續(xù)續(xù)報ORA-00903:invalid table name,并無具體SQL與表名,需要排查哪段代碼寫入了無效表名,可以通過ORACLE提供的errorstack追蹤報錯SQL。由于生產(chǎn)數(shù)據(jù)無法取出,以下皆為測試環(huán)境測試還原生產(chǎn)錯誤。

  errorstack簡介

設(shè)置errorstack,在發(fā)生特定的ORA錯誤時會記錄發(fā)生問題的會話,語句以及各個進程的trace文件,在alert日志中有記錄錯誤記錄的trace文件位置,也可以給單獨會話開啟errorstack,追蹤會話報錯信息,可以通過下面兩個方法開啟:

/* level 0 僅轉(zhuǎn)儲錯誤堆棧

/* level 1 轉(zhuǎn)儲錯誤堆棧和函數(shù)調(diào)用堆棧

/* level 2 Level 1 + ProcessState

/* level 3 Level 2 + Context area (顯示所有cursors,著重顯示當(dāng)前cursor)

  (1)alter session/system

alter session/system set events ' trace name errorstack level 3';

/* error_number為ORA錯誤后編號。

  (2)oradebug

/* 使用oradebug需要用戶具有sysdba權(quán)限

SQL> oradebug setospid/setmypid/setorapid ;

SQL> oradebug dump errorstack 3

可以通過下面方法查看當(dāng)前系統(tǒng)開啟errorstack狀態(tài):

SQL> set serveroutput on

SQL> oradebug setmypid

SQL> oradebug eventdump session/system;

  追蹤

SQL> alter system set events '903 trace name errorstack level 3';

alter日志:

Tue Jun 09 14:23:44 2020

OS Pid: 10855 executed alter system set events '903 trace name errorstack level 3'

  追蹤結(jié)果

alert日志信息:

alert日志信息:

Tue Jun 09 14:28:04 2020

Errors in file /u01/app/oracle/diag/rdbms/honor/honor1/trace/honor1_ora_7205.trc:

ORA-00903: 表名無效

Tue Jun 09 14:28:06 2020

Dumping diagnostic data in directory=[cdmp_20200609142806], requested by (instance=1, osid=7205), summary=[abnormal process termination].

  查看對應(yīng)trc追蹤文件:

*** 2020-06-09 14:28:04.303

*** SESSION ID:(26.661) 2020-06-09 14:28:04.303

*** CLIENT ID:() 2020-06-09 14:28:04.303

*** SERVICE NAME:(honor) 2020-06-09 14:28:04.303

*** MODULE NAME:(SQL*Plus) 2020-06-09 14:28:04.303

*** ACTION NAME:() 2020-06-09 14:28:04.303

dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=3, mask=0x0)

----- Error Stack Dump -----

ORA-00903: è?¨?<90><8d>?<97> ?<95><88>

----- Current SQL Statement for this session (sql_id=0vaqwchf1y3fq) -----

insert into null values(1)

找到具體sql,拿給開發(fā)人員,修改相關(guān)邏輯,錯誤修復(fù)。

  關(guān)閉errorstack

SQL > alter system set events '903 trace name errorstack off';

總結(jié)

到此這篇關(guān)于Oracle利用errorstack追蹤tomcat報錯ORA-00903 無效表名的文章就介紹到這了,更多相關(guān)oracle ORA-00903 無效表名內(nèi)容請繼續(xù)關(guān)注中培偉業(yè)。

標(biāo)簽: Oracle 數(shù)據(jù)庫
主站蜘蛛池模板: 丁青县| 高青县| 财经| 屯留县| 贵港市| 双鸭山市| 子长县| 淮安市| 泰宁县| 鄂伦春自治旗| 姜堰市| 大邑县| 贵州省| 黎川县| 海兴县| 鹤峰县| 敦煌市| 涿州市| 土默特右旗| 阿荣旗| 九台市| 公主岭市| 读书| 泾阳县| 桑日县| 江陵县| 长沙县| 靖江市| 永德县| 正阳县| 牡丹江市| 武山县| 新竹市| 砚山县| 平泉县| 怀来县| 墨玉县| 建平县| 普安县| 嵊泗县| 东乡族自治县|