大阪市で住民票などの証明書発行業務を担う基幹システムが停止。復旧まで21時間を要し、8000件近い証明書発行業務に影響が及んだ。原因はOracle Databaseのクラスタ機能に潜むバグだった。ネットワークの不調をきっかけにシステムが停止し、再起動もできなくなった。米オラクルはバグの存在を把握しながら対外開示をしていなかったとみられる。
2019年6月7日午後0時5分頃。大阪市内の24の区役所や出張所、梅田・難波・天王寺のサービスカウンターで、住民票の写しや記載事項証明書、国民健康保険や税務関連の証明書などが印刷できなくなった。金曜日の昼休みということもあり、週内に書類を発行してもらおうと区役所など窓口に来ていた住民からは悲鳴と怒号が上がった。
同じ頃、大阪市西区の阿波座にある大阪市ICT戦略室も騒然としていた。システム障害を知らせる警報が鳴り、各区役所からトラブル発生を知らせる電話が相次いだ。「統合基盤システムが停止しました。確認してもらえますか」。ICT戦略室の担当者はシステムの開発元で保守契約も交わしているNTTデータ関西の担当者を呼び寄せた。同社はNTTデータの地域子会社だ。
統合基盤システムは大阪市の基幹システムだ。住民基本台帳、税務、福祉、国民健康保険、介護保険という住民情報系の5システムと連携し、各システムへのログイン時のユーザー(職員)認証や各システムから受け取った証明書データなどの印刷をつかさどる。2015年1月に運用を始めた。「住民情報系5システムに共通して必要となる機能を統合基盤システムに切り出すことでコスト削減を図った」(ICT戦略室)。システムはアプリケーションサーバーと、職員の認証情報や印刷用データなどを管理するデータベースサーバー、それらのデータを蓄積する共有ストレージなどから成る。
データベース管理システム(DBMS)は米オラクルの「Oracle Database」を採用している。バージョンは「システム構成に関わるので明らかにできない」(大阪市ICT戦略室)。負荷分散と障害回避を目的に同製品のクラスタ機能「Oracle Real Application Clusters(Oracle RAC)を使い、2ノードをActive/Active構成で並行稼働させている。片方が止まってもサービスを継続できるようにしていたが、今回は「2ノードがほぼ同時に停止した」(同)。アプリケーションサーバーは稼働していたものの、ユーザー認証や印刷データの格納に不可欠なDBMSが停止した。これによって「統合基盤システムのほぼ全てが使えなくなった」(同)。
NTTデータ関西の保守担当者はDBMSが停止している事態を把握し再起動を試みた。しかし2ノードとも再起動できない状態が続いた。このためNTTデータ関西は日本オラクルなどと連絡を取りつつ原因究明を開始。その結果、午後3時30分頃にDBMSのシステムファイルが破損している事実を特定した。
破損していたシステムファイルはOracle RACを構成する各ノードがそれぞれの死活状況を共有ストレージに書き込む「投票ディスク」である。この内容が異常なデータになっていたという。「投票ディスクを参照した2つのノードが共に異常を検知して、それぞれ自身でDBMSとしての機能を停止させた」(大阪市ICT戦略室)。保守担当者が再起動を試みてもできなかったのは、各ノードが再起動の過程で投票ディスクの内容を参照するようになっていたからだ。投票ディスクの異常値を検知して停止してしまった。
https://tech.nikkeibp.co.jp/atcl/nxt/mag/nc/18/020600011/070200035/
化石すぎて使えないゴミ
cluster 組めないからなw
いつの話をしてるんだよ
対して技術力もないのにやたら品質にこだわる国です。
クラスタ構成を組むオラクルの値段みてきてみ
100万円出直すなら喜んで頼むわw
ボラクルがそんな良心的なわけ無いだろ
必死だろ、自分のせいじゃないって説明するの。
オラクル知らんぷり。アホかと。
winのアップデートであれだけやらかしといて?
個人ユーザーを生贄としてやらかして、ビジネスエディションはほどほどになるからな
セキュリティーの面から見ても一貫性がない。
11だろw
いくらなんでも、そりゃ、致命傷だわ
ってか、RACならみんな使ってる部分だから、潜在バグがあったとは信じられん
ま、Oracleは真相明かさないから、闇の中だね
一つは名誉毀損、もう一つは守秘義務違反で
DBがパンクするまでアプリのサーバーをコントロール無しで走らせてたくさいな。
ネットワーク絡みで
同時に2つ落ちないシステムが落ちたのか
各システムファイルが更新されたと…
テストは、当然終了
2015から稼動
ネットワークも冗長化してたんだろ?
いや~、ちょっと普通じゃないと思うわ
DBがクラッシュしてもいいようにしっかりとBCPやIRPを組んでおけばだいたい大丈夫なものだ。
MTTRを最小限に抑えるのはそれなりのシステム構成と投資が必要だが多分そうなっていなかったのだろう。
たとえば大阪市の基幹システムのDRにおけるRPO/RTOはどういう設定になっているか聞きたいものだ。
まったく同意
Oracle は非公開バグだらけだよ。
金払わない限り知り得ないし詳しくも教えてもらえない、エラーコードも常に ORA-00600 で、
この番号でググっても何の事かわからないような仕組みになってる。
一部から評判は悪いがDB(とストレージ)は100点満点以外は0点見たいな評価をされがちで、
でもぼったくりだと分かってても結局それに行き着く因果な商売よ。
Oracleじゃないとダメな環境ってあるの?
うちは基幹システム全部DB2だけど別に困ってない
ごめん、比較対象は MariaDB とか PostgreSQL ね。
DB2 と Oracle は同じ感じじゃない?
フリーより高品質だけど、馬鹿らしくなるような価格設定。
初心者 SIer に身近な分 Oracle の採用が圧倒的に多いんだと思う。
ホントこれ。 21時間で復旧だと超早いって感覚。
でも客は「高い金払って冗長化したのに意味ねーじゃねーか」ってキレる。
止めたくなかったら二桁金額足りねぇってわかってない。
一度でいいから Non-Stop サーバ的な奴は触ってみたいが、まぁ機会はないよね。
まあ、私も自治体のシステムを開発していたので、このトラブルが大変な問題だということはわかる
この前の汎用機とそのシステムを継続してつかっていればこんなことはなかったハズ
COBOLだろうけどな
汎用機の更新にどんだけ金かかると思ってんの?
すごい会社だと思うわユーザが
お前本当にバグ報告上げたことあるの?
ちゃんと保守結んでたら専用のパッチとかすぐ手配してくれるんだけど。
あ?もしかして英語出来ないから本社とやり取り出来ないの?
クラスターの設計してたけど、普通それってOS側の機能で
ロックディスクが壊れてたとか無茶苦茶言ってるし
OSが古いかなんかの問題じゃねえの、これ
それがクラスター装置を自前でしてたか
未解決の不具合が多い
遅いしあんまりいいことない
伝送エラーが生じた為、ファイルが壊れた」という書き方だったんだけど
投票ディスク(おそらく多重化されている)が壊れたのって
ストレージとサーバが悪いんではなくて、Oracleがエラー書き込みを
検知できないって事か。rawデバイスかASMだと思うから
OSではエラー検知できないもんなぁ。
そだね
OracleはOSのファイルシステム使わずに、rawデバイスに自前で読み書きするから、OS側では何もわからんわな
きっかけは、どうやら通信障害でquorumのデータが壊れたらしいから、自前ファイルシステムの問題じゃない
ただ、quorumなら再起動かけたら初期化されそうなものなのに、それでも回復しなかったのは、自前ファイルシステムの異常系処理にバグがあったんだと思う
自前のquorumも冗長化かジャーナルくらいは持ってると思うけど、そこからの自動回復の様な初期化が、バグってたんじゃないかな
これさ、そもそもは、大阪市のICT戦略室さんが、それまで5つの基幹システムに別れてた住民情報系の認証部分と印刷部分を集約して、統合基盤システムに束ねると言うコスト削減をやったのが、発端なんだね
たぶん、NTT西さんが提案して、大阪市の担当さんが乗り気になって、双方が成果に満足してた
ところが、その集約が仇になって、統合基盤システムが落ちたら、住民系の全業務が止まると言う、大障害を引き起こしてしまった
ここからは、大阪市の担当さんも、裏で提案したNTT西さんも、自分らに責任の一端がある事は明白なので、真っ青になって根本原因調査
Oracleのバグが根本原因だった事を証明して、「Oracleのせいです。ボクら悪くないです。」って、記者会見して必死で言い訳したのか
ま、Oracleはボッタクリ価格だから、ここで最終責任からは免れず、例え5つの基幹システムを集約した基幹の基幹システムであろうとも、止めちゃならんわな
冗長化できる予算で見積もって、中身は冗長じゃない中抜き生ゴミなんだろ
そもそもracは冗長化の機能じゃないしw
でも、そういう機能だと説明してる情報系サイトが多いんだなぁ
負荷分散は二の次みたいな感じで
全く変わってない。
俺の担当システムでも昔でかいの引き当てて、ベンダー苦労してたわ。
RACだもんなぁ…。
SQL-Serverも色々あるからなぁ
開発中のトラブルだったけど解決までに3ヶ月ぐらいかかったこともあるし
Oracle営業「えっと最新バージョンに更新して頂ければ改善します」
NTTデータ「え?!!!」
Oracle「ざっと数千万。特別にお安くして数百万でいかがです?さあこのチャンス(ry」
よくそれ言うけど、保守入ってて追加料金なしで手に入る最新のパッチあてるだけでも難しいっていうのが日本のIT業界だからw
年に一度のアップデート計画があるので年末まで問題を回避する方法を考えてくださいってベンダーに強要するのが普通なんだなぁ
命に関わることにシステム使ってるところは、システムが止まった時にどうするかの緊急プラン作ってあるから
どうやって黙らせたらいいかな?
流石24時間保守やってる会社。 こんな時間でも5ch対策余裕ですね。
>>191
Non-Stop サーバの見積持っていけばいいと思うよ。
パッチを当てなかった以上、Oracle はバグなのかどうかを判断できずパッチを用意出来てない
ので、別製品で RAC より信頼性が高いといわれている商品に差し替えるしかないからね。
> Non-Stop サーバの見積持っていけばいいと思うよ。
おお、それはいいな
早く入れ替えてくれ、いつできる?
御社の判断で入れ替えるんだから費用は御社持ちな
素人が開発してんのか?
OS と DB みたいな重要なソフトは、
車みたいにバグがあったら国が情報開示を命じてリコールさせたり
バグを出したベンダーは営業禁止にしたり出来ないもんかね。
航空機みたいに設計変更するにはバグがないことを第三者機関が審査する仕組みもいいかも。
もちろん莫大なコストがかかるので OS や DB の価格は上がるだろうが、
バグやセキュリティ問題の心配を一切せずに使えるようになるならその方がいいだろう。
DB の Cold Standby って、当たり前だけど切り替え時に直前のデータが引き継がれないから
ちゃんとそこを理解した上で予備機を配置できる案件なんて少ないからな。
確かにRACのホット/ホットにコールド、さらにデータガードに遠隔バックアップの構成は今まで一度しかやったことないわ
その金を出せるのは本当に一部の企業だけだから
引用元
管理人からひと言
こえええ
この記事へのコメントはありません。