学习和使用数据库过程中,数据库经常会抛出一个错误码及简短解释。
如果知道这些错误代码的详细解释,对于我们快速定位问题,解决问题有极大的帮助。
下面,浅谈两个重量级数据库oracle和db2如何查看错误。
oracle错误工具oerr
适用平台:unix,linux;
windows平台由于自身脚本功能不够强大,oracle公司未开发该平台的错误工具。不过个人认为,其实还是oracle公司不想开发。因为,国外的oracle爱好者们已经开发出了适用于windows平台的oerr工具。
使用例子:
[oracle@shtdtest oracle]$ oerr ora 01632
01632, 00000, "max # extents (%s) reached in index %s.%s"
// *Cause: An index tried to extend past maxextents
// *Action: If maxextents is less than the system max, raise it. Otherwise,
// you must recreate with larger initial, next or pctincrease params.
[oracle@shtdtest oracle]$
db2 错误工具:CLP内置功能
命令格式:db2 ? [phrase | message | sqlstate | class-code]]
适用平台:unix,linux,windows
使用例子:
C:\Users\Administrator>db2 get authorizations
SQL2018N 实用程序在试图验证用户的授权标识或数据库权限时遇到错误 "-1024"。
C:\Users\Administrator>db2 ? sql2018N
SQL2018N 实用程序在试图验证用户的授权标识或数据库权限时遇到错误
"<错误>"。
说明:
用户试图执行一个实用程序,但发生下列其中一项:
* 用户授权标识无效。
* 试图访问用户的数据库权限时出错。
实用程序停止了处理过程。
用户响应:
查看消息中的错误号以了解更多信息。进行更改并重新提交该命令。
C:\Users\Administrator>db2 ? sql1024
SQL1024N 不存在数据库连接。
说明:
没有与数据库连接。除非先前执行了 SQL CONNECT,否则不能处理其他 SQL。
无法处理该命令。
用户响应:
如果与数据库断开连接时发生错误,那么继续处理。如果在另一条 SQL 语句
生错误,那么发出 SQL CONNECT 语句,并重新提交该命令或语句。
sqlcode:-1024
sqlstate:08003