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定位错误文件。
?