系统错误
在系统运行过程中,可能会出现不同类型的错误。 下表描述了其中一些错误。
| 类别 | 描述 | 示例 |
|---|---|---|
| 用户错误 | 用户出错,通常是因为输入不正确或无效。 | 用户名无效,SQL 语法无效。 |
| 组件故障 | 硬件或软件系统组件故障。 | SPU 故障;主机进程崩溃。 |
| 环境故障 | 环境设施请求失败。 这往往是由于资源或访问问题。 | 文件已锁定;缓冲区已满。 |
| 可恢复的内部错误 | 检测到的内部编程错误,严重程度不足以中止程序。 | 未知情况值或 msg 类型;文件关闭失败。 |
| 无法恢复的内部错误 | 检测到内部编程错误或内部状态损坏,需要中止程序。 | 核心、内存损坏、断言失败。 |
当发生错误时, IBM Netezza 设备和 IBM Netezza 设备系统可采取以下操作:
- 显示错误信息
- 向用户显示描述错误的错误消息字符串。 每当用户请求未得到满足时,系统就会做出这种常见的响应。
- 请重试
- 在出现间歇性或暂时性故障时,请继续尝试,直到错误状况消失。 当资源有限、拥挤或锁定时,往往需要重试。
- 故障转移
- 由于活动部件发生故障,切换到备用或后备部件。 故障转移是一种系统级恢复机制,可由系统监视器或试图使用该组件的软件检测到的错误触发。
- 记录错误
- 向组件日志添加条目。 日志条目包含日期和时间、严重性级别以及错误/事件描述。
- 发送事件通知
- 通过电子邮件或运行命令发送通知。 是否发送事件通知的决定基于一套用户可配置的事件规则。
- 终止程序
- 终止程序,因为程序的内部状态已遭到不可修复的破坏,或者继续运行会损坏用户数据。 检测内部编程错误的软件断言通常属于这一类,因为很难确定是否可以继续。
- 清理资源
- 释放或释放不再需要的资源。 软件组件负责各自的资源清理。 在许多情况下,资源会在本地释放,作为每个特定错误处理程序的一部分。 在严重情况下,程序清理处理程序会在程序退出前运行,并释放/释放任何仍被占用的资源。