Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
障害は突然やってくる。OracleDatabaseリカバリコンテスト
Search
Takayuki Nishio
September 12, 2025
Education
0
24
障害は突然やってくる。OracleDatabaseリカバリコンテスト
JPOUG#14で発表した内容になります。
Oracle Databaseの障害対応スキルアップのために、自社で実施した取り組みを共有いたしました。
Takayuki Nishio
September 12, 2025
Tweet
Share
More Decks by Takayuki Nishio
See All by Takayuki Nishio
SelectAIはSQL講師になれるのか?
nisshii
0
11
スタートダッシュ!オラクルマスター23ai
nisshii
0
78
オンプレからADBへのデータ移行。正月休みを獲得した方法 [Oracle]
nisshii
0
240
Oracle CloudWorld 2024現地レポート
nisshii
0
130
SelectAIでSQL研修の演習問題に挑む [Oracle]
nisshii
1
410
Other Decks in Education
See All in Education
万博非公式マップとFOSS4G
barsaka2
0
1.3k
RSJ2025 ランチョンセミナー 一歩ずつ世界へ:学生・若手研究者のための等身大の国際化の始め方
t_inamura
0
310
大学院進学について(2025年度版)
imash
0
130
20250910_エンジニアの成長は自覚するところから_サポーターズ勉強会
ippei0923
0
290
EVOLUCIÓN DE LAS NEUROCIENCIAS EN LOS CONTEXTOS ORGANIZACIONALES
jvpcubias
0
180
あなたの言葉に力を与える、演繹的なアプローチ
logica0419
1
160
HCI and Interaction Design - Lecture 2 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.3k
GitHubとAzureを使って開発者になろう
ymd65536
1
180
登壇未経験者のための登壇戦略~LTは設計が9割!!!~
masakiokuda
3
710
Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
2.5k
American Airlines® USA Contact Numbers: The Ultimate 2025 Guide
lievliev
0
260
2025年度春学期 統計学 第13回 不確かな測定の不確かさを測る ー 不偏分散とt分布 (2025. 7. 3)
akiraasano
PRO
0
140
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Building Adaptive Systems
keathley
43
2.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
860
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Agile that works and the tools we love
rasmusluckow
331
21k
A Modern Web Designer's Workflow
chriscoyier
697
190k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.7k
Transcript
Oracle Cloud 失注への軌跡 ~ 努力は無駄にならない ~ しゃちほこオラクル倶楽部 第7回 西尾 孝之
障害は突然やってくる! Oracle Databaseリカバリコンテストでチームのスキルを一段上へ! 2025年9月12日 【JPOUG Tech Talk Night #14】 - Takayuki Nishio -
オーガナイザー紹介 | 西尾 孝之 / Takayuki Nishio 資格 ・ORACLE MASTER
: Platinum DBA 2019, 12c , 11c , 10g , 9i , 8i ・AWS : Database Speciality , Data Analytics , Machine-Learning 認定証 ・マッターホルン登頂…4478m ・モンブラン登頂………4810m ・キリマンジャロ登頂…..5895m Oracleと山を愛するエンジニア(22年目) 2025 OCI Top Engineers 表彰
アジェンダ| チームの実践スキルアップ手法 DBリカバリコンテスト概要 1 2 3 想定障害シナリオ(基本編) 想定障害シナリオ(本当にあった怖い話編) 障害は突然やってくる! スキルアップ実践手法
DB障害対応のスキルをどう鍛えるか? <弊社の業務> 弊社はOracle製品の保守窓口として、お客様から多様な問い合わせを受け付けている。 <対象製品は様々> Database、Fusion Middleware (WebLogic,Forms and Reports) BI,
Golden Gate , Oracle Cloud 等 <問い合わせの内容は?> 製品の使い方、運用中のエラー、障害 <普段のスキルアップは?> 扱う製品の導入訓練(複数OS,複数Ver) 問い合わせナレッジの共有 ナレッジベースでの実施確認 エラー発生時にどんなログをみるか、どんな対応をするか
課題 人によって製品知識に偏りがでる。 ⇒ Oracle製品を扱う以上、 Databaseは当たり前として標準以上のスキルを身に着けてほしい 構築訓練は実施しているが、障害対応で「手を動かせるか」は別。 ⇒ スピード感をもった対応ができるようにしてほしい → リカバリコンテストで楽しく障害対応を学んでみよう!
リカバリコンテスト実施概要 <目的> 楽しみながら学べる場をつくる 実践的な障害対応スキルを強化 今までの問い合わせログの内容を自然に共有 <ルール> 参加者は1人で対応をする マニュアルや、MOS検索といった公式ドキュメントは参照OK(ChatGPT不可) <採点基準> 復旧までのスピード
データ損失の有無 ※バックアップスキルも含めて確認 <環境> Oracle Database 19c を使用 OCIで障害発生済みのDBを構築。サーバをコピーすることで、人数分の環境を簡単に作成。 <発生させた障害> 開催者側でシナリオを想定し、障害を発生させた
想定障害シナリオ:基本編
想定障害シナリオ| 基本編 突然DBインスタンスが停止した。 ※制御ファイルが1つ破損 このシナリオで、DB障害に対する基礎を確認。 ・インスタンスのステータスは? ⇒ どの状態まで起動できている? ・障害が発生したら、何から調査する? ⇒
アラートログをみる ・エラー番号の調査方法 ・アーキテクチャの基礎が理解できているか?
想定障害シナリオ:本当にあった怖い話編
想定障害シナリオ| 本当にあった怖い話編 ログマイナーを実行したら、DB止まったんだけど execute dbms_logmnr.add_logfile( logfilename=>'/u03/app/oracle/redo/DB0910_5CW_NRT/onlinelog/o1_mf_1_nd2zwllc_.log' ,options=>dbms_logmnr.NEW); ログマイナー実行コマンド → SQL*Plusで実行するところ、OSコマンド上で実行してしまう。
「logfilename=>オプション」が Linuxのリダイレクトになってしまった。 結果、REDOログファイルのサイズが 0バイトに、、、 ※REDOログファイルは多重化なし
想定障害シナリオ| 本当にあった怖い話編 GUIツールでデータを削除するつもりが表を消してしまった サンプルデータ
想定障害シナリオ| 本当にあった怖い話編 SELECT文を実行したらエラーになる。SELECTできるテーブルもある。 SELECT * FROM employees WHERE emp_id =
10001; エラーになるSELECT文 → 特定の表領域(データファイル)破損。 確認したところバックアップがない状況。 SELECT * FROM customers WHERE cust_id = 10001; エラーにならないSELECT文
想定障害シナリオ| 本当にあった怖い話編 半年ぶりにDBサーバのOSを再起動したら、アプリケーションからDBに 接続できない。DBサーバ上のSQL*Plusは接続できるんだけど SQL> SELECT status FROM V$INSTANCE; ⇒
OPEN であることは確認できる。 DBサーバ上でSTATUSを確認した結果、OPEN → lsnrctl status で確認すると、DBサービスが登録されていない → 初期化パラメータ local_listener に 接続識別子が指定されている → tnsnames.oraから 上記に指定された接続識別子が消えている (メンテ時に他サーバのファイルで置き換えていた)
実施風景 | 緊張感は半端ない。ついついキーボードをたたく音が強くなる。 たまに聞こえる勝利の雄たけび タイムアップ後の捨て台詞。 あと10秒あれば!!! わかってたのに!!!
こんな気づきがありました| 複数インスタンスが扱えない(環境変数ORACLE_SIDの理解不足) ⇒ 普段 Fusion を扱ってる若手。LinuxやDBの経験が少ない RMAN苦手意識。やっぱりバックアップはオフラインでしょ信仰(簡単だから) ⇒ 便利っぽいのは分かっているが、OSコピーでおわる簡単さに惹かれている 意外に新機能は若手のほうが知っていることも。
ベテランのほうがあえて回り道の障害対応。 ⇒ 知識のUPDATEは必要。 知識としてリカバリ方法が分かっていても、なかなか実践が難しい。 ⇒ リカバリコンテストに繰り返し参加!!
ありがとうございました Thank you