背景:
Oracle数据库中查询错误代码相关的Cause和Action时,需要使用oerr工具。oerr工具是随Oracle数据库程序默认安装的,如果仅仅想使用oerr工具查看Error Message,再重新安装Oracle数据库即花时间也占用大量磁盘空间。Oracle提供了sqlplus的独立安装客户端,却没有提供oerr工具独立安装客户端,现在介绍一个打包oerr工具zip包,解压即可使用。
步骤:
1.查看$ORACLE_HOME/bin/oerr代码,发现oerr实际上是Linux Shell脚本
> vi $ORACLE_HOME/bin/oerr
注:oerr脚本实际上是通过$ORACLE_HOME/lib/facility.lis文件查找相应组件下的.msg文件,然后将指定错误代码的Cause和Action信息显示出来
2.制作oerr_make.sh脚本,运行这个脚本实现oerr相关文件拷贝到一个文件夹
> ./oerr_make.sh
其中oerr_make.sh脚本内容如下:
#!/bin/bash
OERR_DIR=~/test
mkdir $OERR_DIR
mkdir $OERR_DIR/oerrmsg
cd $ORACLE_HOME
cp ./bin/oerr $OERR_DIR
cp --parent ./lib/facility.lis $OERR_DIR/oerrmsg
for file in [ $(find . -name "*.msg") ];
do
cp --parent ${file} $OERR_DIR/oerrmsg
done
sed -i 's/$ORACLE_HOME/oerrmsg/g' $OERR_DIR/oerr
unset OERR_DIR
3.运行文件夹下的oerr程序, 即可查询出Cause和Action信息
> ./oerr ora 234
Oracle数据库中查询错误代码相关的Cause和Action时,需要使用oerr工具。oerr工具是随Oracle数据库程序默认安装的,如果仅仅想使用oerr工具查看Error Message,再重新安装Oracle数据库即花时间也占用大量磁盘空间。Oracle提供了sqlplus的独立安装客户端,却没有提供oerr工具独立安装客户端,现在介绍一个打包oerr工具zip包,解压即可使用。
步骤:
1.查看$ORACLE_HOME/bin/oerr代码,发现oerr实际上是Linux Shell脚本
> vi $ORACLE_HOME/bin/oerr
注:oerr脚本实际上是通过$ORACLE_HOME/lib/facility.lis文件查找相应组件下的.msg文件,然后将指定错误代码的Cause和Action信息显示出来
2.制作oerr_make.sh脚本,运行这个脚本实现oerr相关文件拷贝到一个文件夹
> ./oerr_make.sh
其中oerr_make.sh脚本内容如下:
#!/bin/bash
OERR_DIR=~/test
mkdir $OERR_DIR
mkdir $OERR_DIR/oerrmsg
cd $ORACLE_HOME
cp ./bin/oerr $OERR_DIR
cp --parent ./lib/facility.lis $OERR_DIR/oerrmsg
for file in [ $(find . -name "*.msg") ];
do
cp --parent ${file} $OERR_DIR/oerrmsg
done
sed -i 's/$ORACLE_HOME/oerrmsg/g' $OERR_DIR/oerr
unset OERR_DIR
3.运行文件夹下的oerr程序, 即可查询出Cause和Action信息
> ./oerr ora 234