日期:2014-05-16  浏览次数:20611 次

Oracle错误文件位置

Oracle错误分为ora-,exp-,imp-,pls-,rman-。每个错误,都有相应的说明文件与之对应。
在linux或者unix平台,执行oerr定位错误原因时,即通过遍历错误说明文件。抓取关键字,展现给客户。通过linux的strace命令,可以很好的定位错误说明文件

引用
[oracle@cent244 mesg]$ strace oerr ora 3015
execve("/oracle/product/10.2.0/db_1/bin/oerr", ["oerr", "ora", "3015"], [/* 30 vars */]) = 0
brk(0)????????????????????????????????? = 0x9994000
...
read(255, "if [ -z \"$Facility\" -o -z \"$Comp"..., 2365) = 645
rt_sigprocmask(SIG_BLOCK, NULL, [],8)= 0
rt_sigprocmask(SIG_SETMASK, [], NULL,8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [],8) ? = 0
rt_sigprocmask(SIG_BLOCK, NULL, [],8) ? = 0
rt_sigprocmask(SIG_BLOCK, NULL, [],8) ? = 0
rt_sigprocmask(SIG_BLOCK, NULL, [],8) ? = 0
rt_sigprocmask(SIG_BLOCK, NULL, [],8) ? = 0
rt_sigprocmask(SIG_BLOCK, NULL, [],8) ? = 0
access("/oracle/product/10.2.0/db_1/rdbms/mesg/oraus.msg [color=red][/color]", R_OK) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL,8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [],8) ? = 0
rt_sigprocmask(SIG_BLOCK, NULL, [],8) ? = 0
rt_sigprocmask(SIG_BLOCK, NULL, [],8) ? = 0
rt_sigprocmask(SIG_BLOCK, NULL, [],8) ? = 0
rt_sigprocmask(SIG_BLOCK, NULL, [],8) ? = 0
rt_sigprocmask(SIG_BLOCK, NULL, [],8) ? = 0
stat64(".", {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
...


同样,我们可以通过strace oerr pls 3015,strace oerr rman 3015,strace oerr imp 3015,strace oerr exp 3015定位错误文件。

?