2007年10月アーカイブ
「神戸新聞社はシステム障害によって、発動していた新聞制作の緊急時体制を解除した。9月22日早朝に発生した障害によって、9月22日夕刊と23日朝刊の制作を京都新聞社に依頼していたが、24日朝刊から通常通りの制作体制に戻した」
システムが完全にダウン・・・新聞が発行できない状態になっています。事業会社としてはこれは致命的です。
それでも、システムが落ちたときのバックアップがあるのは流石です。
で・・・原因が判明したようです。
障害が発生したのは紙面をレイアウトする「組版システム」。22日朝に、同システムのデータベース(DB)・サーバーにアクセスできなくなった。システム本体はメインとバックアップを用意していたものの、DBを冗長化していなかったため全体が利用できなくなった。 製品は日本オラクルの「Oracle9i Database」。データの検索を高速化する統計情報の採取処理をした後、データベースのシステムを強制終了すると、まれに起動ができなくなる問題が判明したという。 神戸新聞のシステムは業務終了時の処理としてデータベースを「強制終了(shutdown abort)」する仕様となっており、同社側に運用面での問題はなかったという。(記事)
オラクル・・・。
しかし、オラクルがバクだらけのソフトだから悪いんだ!と決め付けるのは早計です。
・業務の基幹システムなのに多重化が不十分
・毎日「強制終了」することが仕様として組み込まれている
・自社開発している
DBが多重化していない時点で「落ちて動かない事を許容します」というのに等しいです。もちろん、これは予算との兼ね合いがあるので、ダウンタイムが事業にあたえる影響と比べたのことだとおもいます。OracleのDBを多重化すると、ソフトウェアとハードウェアの代金で1000~3000万円くらいコストが増えますので、DBを多重化しないという判断はありだとおもいます。(もっとも、その場合フロントのアプリケーション側のシステムの多重化しないとおもいますが・・・)
しかし、驚くのは「毎日強制終了する」という運用仕様です。電気代の削減ですかね? いえいえ違うはずです。
通常DBは連続運用を前提としています。フリーのMySQLや、マイクロソフトのSQL Serverは比較的小規模なシステム向けにつくられていますが、Oracleは大規模システム向けのDBですので、無停止運転は当然としています。そのシステムを毎日シャットダウンするようにということは・・・特殊な関数を利用しているか、とんでもないテーブル設計をしていて、再起動しないとシステムリソース(主にメモリ)を食い尽くしているのではないでしょうか。
また、「通常終了(Immdiate Shutdown) 」していない理由が不審です。おそらくは、通常終了ができないために、強制終了をしているのでしょう。これも何らかの資源がロックされていて、停止処理が途中で失敗するためだと思います。
ここから想像できるのは、「通常は知られていないオラクルのバグ、もしくは特殊な仕様がある」、「NECの設計・開発が十分でない」このいずれかです。
では、責任はだれにあるのでしょうか? オラクルでしょうか? NECでしょうか?
責任を問われるのは発注した神戸新聞です。
「毎日強制終了してください」なんて仕様を出してきた時点で、追加予算が必要になるでしょうが、原因を取り除かせるか、デベロッパーを変更するべきです。それを怠ったがゆえに障害を招いています。「強制終了でお願いします」とデベロッパーに提案させてしまった時にはすでにプロジェクトとしては失敗なのですから・・・。
もし、十分な予算がなければ自社で開発するのではなく、他社の組版システムを利用することで開発費の低減を図るべきです。もちろんオーダーメードのシステムと違い、諸処に不都合があるでしょう。それでも人をシステムに慣れさせるのは、さほどコストがかかるものではありません。
まあ、東証が止まることに比べたら些細な障害ですがね・・・

