システム・エラー

システム・オペレーション中には、さまざまなタイプのエラーが発生する可能性があります。 以下の表に、これらのエラーの一部をリストします。
表 1. エラーのカテゴリー
カテゴリー 説明
ユーザー・エラー 通常は、不正または無効な入力によるユーザー側のエラー。 不正なユーザー名。不正な SQL 構文
コンポーネント障害 ハードウェアまたはソフトウェア・システム・コンポーネントの障害 SPU 障害。ホスト・プロセスのクラッシュ
環境障害 環境関連要素に対する要求の失敗。 多くの場合、リソースやアクセスの問題が原因。 ファイルがロックされている。バッファーがフル
回復可能な内部エラー 内部プログラミング・エラーが検出されたものの、プログラムをアボートさせるほど重大ではない場合 未知のケース値またはメッセージ・タイプ。ファイル・クローズの失敗
リカバリー不能な内部エラー 内部プログラミング・エラーまたは内部破損状態が検出され、プログラムをアボートする必要がある場合 コアの不具合、不正メモリー・アクセス、アサートの失敗
IBM Netezza Appliance および IBM Netezza Appliance システムは、エラー発生時に以下のアクションを実行できます:
エラー・メッセージを表示する
エラーについて説明するエラー・メッセージ・ストリングをユーザーに提示します。 これは、ユーザーの要求に応えられない場合の一般的なシステム応答です。
もう一度試してください
断続的または一時的な障害の間、エラー状況が解消するまで試行を続けます。 リソースが制限、輻輳、ロック状態のときには多くの場合、再試行が必要になります。
フェイルオーバー
アクティブなコンポーネントに障害が発生したため、代替またはスペア・コンポーネントに切り替えます。 フェイルオーバーはシステム・レベルのリカバリー・メカニズムであり、システム・モニターが起動する場合と、コンポーネントを使用しようとするソフトウェアが検出したエラーによって起動される場合があります。
エラーをログに記録する
コンポーネントのログにエントリーを追加します。 ログ・エントリーには、日時、重大度レベル、エラー/イベントの説明が記述されます。
イベント通知を送信する
E メールまたはコマンド実行によって通知を送信します。 イベント通知を送信するかどうかは、ユーザーが構成可能な一連のイベント・ルールに基づいて決定されます。
プログラムをアボートする
内部状態が修復不能な状態まで破綻していて実行を継続できないため、または実行を継続するとユーザーのデータを破壊するおそれがあるため、プログラムを強制終了します。 内部のプログラミング・ミスを検出するソフトウェア表明は、多くの場合、このカテゴリーに属します。実行を継続しても安全かどうかを判断するのは難しいからです。
リソースをクリーンアップする
不要になったリソースを解放します。 ソフトウェア・コンポーネントには、自分が使用したリソースをクリーンアップする責任があります。 多くの場合は、それぞれが独自に持つエラー・ハンドラーの機能として、リソースをローカルに解放します。 さらに徹底させる場合には、プログラムの終了前にクリーンアップ・ハンドラーを実行し、その時点で保持されているリソースをすべて解放します。