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官方文档里并没有说明。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341