Oracle DBの「非公開バグ」が表面化、大阪市基幹システム障害の真相

スポンサーリンク
Oracle DBの「非公開バグ」が表面化、大阪市基幹システム障害の真相
大阪市で住民票などの証明書発行業務を担う基幹システムが停止。復旧まで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/
スポンサーリンク
ネットの反応


oracleならバージョン1から使ってる私に頼めばこんなことにはならなかったのに


>>2
化石すぎて使えないゴミ


DB2ならこんなことにならなかった


システムが止まると怒号が飛ぶのはどこの国ですか?


>>4
逆に飛ばない国を挙げてみ、無いから


バグフィックスが欲しければ100万円払いなさい


>>7
100万円出直すなら喜んで頼むわw


オラクルの名の通り、神のご信託が出るまで待つしかないな


やっぱりバグだったか


これ担当者クビとんでたかもな。
必死だろ、自分のせいじゃないって説明するの。
オラクル知らんぷり。アホかと。


マイクロソフトが大手なのは大手なりの理由があるんだよな


大阪がNTT西を訴えて、NTT西がOracleを訴える訴訟連鎖来る?


>>21
訴えることはできるだろうけど
免責事項あるからOracleにはまず勝てない。


オラクルのRACで2ノード等と構成を言っておきながらDBバージョンは言えないとは妙だな。
セキュリティーの面から見ても一貫性がない。


quorum が壊れてたのか
いくらなんでも、そりゃ、致命傷だわ
ってか、RACならみんな使ってる部分だから、潜在バグがあったとは信じられん
ま、Oracleは真相明かさないから、闇の中だね


しかも4年も稼動してて突然のクラッシュなんて、恐らくはモニタリングに不備があって
DBがパンクするまでアプリのサーバーをコントロール無しで走らせてたくさいな。


特許だけでオラクルは使えないと認識できたのはいいことだ
あそこは特許だけ


これ別に非公開じゃ無いぞ、聞かれたら答えるだけw


再起動できないのがバグなんじゃない?


>>31
確かに2系統のうち片方だけ起動させるのに故障した共有ディスクの内容を参照する必要は無いかもな。


>>35
本文に書いてあるがクォーラム(投票データ)が壊れてて動かない状態。
何度再起動してもどちらも自分に優先権がとれずアーカイブログ(変更履歴)か何かに書き込みが
できず表領域(原本)の書き換えフェーズに移れないって状態だったんじゃないかと。


オラクルに限らず大規模なシステムはどこかにバグがあるのは前提みたいなもんで、
DBがクラッシュしてもいいようにしっかりとBCPやIRPを組んでおけばだいたい大丈夫なものだ。
MTTRを最小限に抑えるのはそれなりのシステム構成と投資が必要だが多分そうなっていなかったのだろう。
たとえば大阪市の基幹システムのDRにおけるRPO/RTOはどういう設定になっているか聞きたいものだ。


>>34
まったく同意


Oracle は非公開バグだらけだよ。
金払わない限り知り得ないし詳しくも教えてもらえない、エラーコードも常に ORA-00600 で、
この番号でググっても何の事かわからないような仕組みになってる。
一部から評判は悪いがDB(とストレージ)は100点満点以外は0点見たいな評価をされがちで、
でもぼったくりだと分かってても結局それに行き着く因果な商売よ。


>>36
Oracleじゃないとダメな環境ってあるの?
うちは基幹システム全部DB2だけど別に困ってない


>>43
ごめん、比較対象は MariaDB とか PostgreSQL ね。
DB2 と Oracle は同じ感じじゃない?
フリーより高品質だけど、馬鹿らしくなるような価格設定。
初心者 SIer に身近な分 Oracle の採用が圧倒的に多いんだと思う。


Oracleは、くせはあるけど結構いいよ
ただ、慣れないと
なんだ、そのエラーはったおすぞ
と思う事が多々々ある


フリーのDBで構成してて同じ様にクラッシュしてたら、果して一日でリカバリー出来ていたか?


>>49
ホントこれ。 21時間で復旧だと超早いって感覚。
でも客は「高い金払って冗長化したのに意味ねーじゃねーか」ってキレる。
止めたくなかったら二桁金額足りねぇってわかってない。
一度でいいから Non-Stop サーバ的な奴は触ってみたいが、まぁ機会はないよね。


オラクルは昔は飛び抜けて検索が速かったからな
その頃からのユーザーが今もだらだら使ってるだけ
いつの間にかSQLServerに追い越されてるし


最終的には市の責任だけどオラクルのせいにしたい訳だ。


Oracleは嫌いだけど、これは違う気がする。
採用してるシステムなんて山ほどあるし。


記事の内容はほんと言い訳っぽい。
システムがクラッシュした時の想定復旧時間がどれだけなのかをまず言わなければ。
それともRACはクラッシュしないとでも思っていたのか?


NTTデータが悪いんじゃないかと・・・そんな気がする
まあ、私も自治体のシステムを開発していたので、このトラブルが大変な問題だということはわかる
この前の汎用機とそのシステムを継続してつかっていればこんなことはなかったハズ
COBOLだろうけどな


コスト削減を決めたのは役所だから信頼性が低くなるのも仕方なく受容すべきだろうね
少子化の原因、Fラン大学のせいだった
歴史上最も世界統一に近いとこまでいった人物ランキング1位って
勇者「勇者パーティーの独立を決心した」
【朗報】波瑠さん、可愛すぎるwwwww(※画像あり)
なんJ、恵方巻対策本部
お前らが人生で後悔していること上げていけ
スポンサーリンク
ディスカッション
コメント一覧
まだ、コメントがありません