學習和使用數據庫過程中,數據庫經常會拋出一個錯誤碼及簡短解釋。
如果知道這些錯誤代碼的詳細解釋,對於我們快速定位問題,解決問題有極大的幫助。
下面,淺談兩個重量級數據庫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
DB2 錯誤信息由標識符、簡要說明以及SQLSTATE組成。如下所示:
C:\Program Files\IBM\SQLLIB\BIN>db2 connect to sample user db2admin using 123456
SQL30082N 安全處理失敗,因爲 "24"("USERNAME AND/OR PASSWORD INVALID")。
SQLSTATE=08001
其中SQL30082N 是標識符,SQLSTATE=08001 SQLSTATE 錯誤是DB2系列產品的公共錯誤代碼,剩下的是簡要說明。
標識符中,最後一個字符代表錯誤級別。N表示通知(NOTICIT),C表示嚴重(CRITICAL),同時具有負SQLCODE
W表示一個警告(WARNING),具有正SQLCODE。
查看錯誤解釋可以輸入: DB2 ? SQL30082N 或者 DB2 ? 08001
使用例子:
例2