千家信息网

oerr 工具使用汇总

发表于:2024-10-11 作者:千家信息网编辑
千家信息网最后更新 2024年10月11日,oerr可以在Linux和UNIX操作系统上查询简短的报错信息的含义,可以很好的辅助排查Oracle故障。1.oerr的使用方法[oracle@BJS ~]$ oerr ora 1257112571,
千家信息网最后更新 2024年10月11日oerr 工具使用汇总

oerr可以在Linux和UNIX操作系统上查询简短的报错信息的含义,可以很好的辅助排查Oracle故障。

1.oerr的使用方法
[oracle@BJS ~]$ oerr ora 12571
12571, 00000, "TNS:packet writer failure"
// *Cause: An error occurred during adatasend.
// *Action: Not normally visible to the user. For further details, turn
// on tracing and reexecute the operation. If error persists, contact
// Oracle Customer Support.

2.使用which命令查询oerr工具的位置
secooler@testdb /home/oracle$ which oerr
/u01/app/oracle/product/10.2/db10g/bin/oerr

3.看一下这个脚本文件记录的内容
secooler@testdb /home/oracle$ vi /u01/app/oracle/product/10.2/db10g/bin/oerr

脚本中 82 Msg_File=$ORACLE_HOME/$Component/mesg/${Facility}us.msg
这里似乎暗示着我们,所有的检索信息都是来自于这些*.msg文件

4.在ORACLE_HOME目录中使用find命令查找msg文件

[oracle@NcDbEmulator mesg]$ find $ORACLE_HOME -name mesg

/oracle/app/oracle/dbhome/network/mesg

/oracle/app/oracle/dbhome/has/mesg

/oracle/app/oracle/dbhome/usm/mesg

/oracle/app/oracle/dbhome/nls/mesg

/oracle/app/oracle/dbhome/racg/mesg

/oracle/app/oracle/dbhome/css/mesg

/oracle/app/oracle/dbhome/srvm/mesg

/oracle/app/oracle/dbhome/olap/mesg

/oracle/app/oracle/dbhome/oracore/mesg

/oracle/app/oracle/dbhome/plsql/mesg

/oracle/app/oracle/dbhome/ldap/mesg

/oracle/app/oracle/dbhome/sqlplus/mesg

/oracle/app/oracle/dbhome/ord/mesg

/oracle/app/oracle/dbhome/crs/mesg

/oracle/app/oracle/dbhome/odbc/mesg

/oracle/app/oracle/dbhome/xdk/mesg

/oracle/app/oracle/dbhome/mesg

/oracle/app/oracle/dbhome/precomp/mesg

/oracle/app/oracle/dbhome/slax/mesg

/oracle/app/oracle/dbhome/csmig/mesg

/oracle/app/oracle/dbhome/ctx/mesg

/oracle/app/oracle/dbhome/rdbms/mesg

/oracle/app/oracle/dbhome/opmn/mesg

[oracle@NcDbEmulator mesg]$ cd /oracle/app/oracle/dbhome/rdbms/mesg/

[oracle@NcDbEmulator mesg]$ ls *.msg

amduus.msg dgmus.msg gimus.msg kfodus.msg kopus.msg nidus.msg oraus.msg sbtus.msg udius.msg

asmcmdus.msg diaus.msg impus.msg kfsgus.msg kupus.msg ocius.msg qsmus.msg smgus.msg ulus.msg

dbvus.msg expus.msg kfedus.msg kgpus.msg lcdus.msg opwus.msg rmanus.msg udeus.msg

.msb格式的文件是二进制文件。

从以上msg格式的文件,可以看出oerr可以查询的错误信息类型。例如:

oraus.msg 对应ORA错误,

$ oerr lrm 112

112, 0, "multiple values not allowed for parameter '%.*s'"

// *Cause: An attempt was made to specify multiple values for a parameter which

// can take only one value.

// *Action: Do not specify more than one value for this parameter.


这是在使用expdp时使用directory参数不当时可能会产生的错误。

$ oerr exp 91

00091, 00000, "Exporting questionable statistics."

// *Cause: Export was able export statistics, but the statistics may not be

// usuable. The statistics are questionable because one or more of

// the following happened during export: a row error occurred, client

// character set or NCHARSET does not match with the server, a query

// clause was specified on export, only certain partitions or

// subpartitions were exported, or a fatal error occurred while

// processing a table.

// *Action: To export non-questionable statistics, change the client character

// set or NCHARSET to match the server, export with no query clause,

// export complete tables. If desired, import parameters can be

// supplied so that only non-questionable statistics will be imported,

// and all questionable statistics will be recalculated.

$ oerr imp 17

00017, 00000, "following statement failed with ORACLE error %lu:"

// *Cause: Import failed to execute the statement from the export file

// because of an Oracle error.

// *Action: Look up the accompanying Oracle message in the ORA message

// chapters of this manual and take appropriate action.


这是在使用EXP和IMP时可能产生的错误

OERR能检索的错误还有很多,包括CLSR、OCI、TNS、UDE等等。但是这些在Oracle官方文档里并没有说明。

0