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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takayuki Nishio
September 12, 2025
Education
0
54
障害は突然やってくる。OracleDatabaseリカバリコンテスト
JPOUG#14で発表した内容になります。
Oracle Databaseの障害対応スキルアップのために、自社で実施した取り組みを共有いたしました。
Takayuki Nishio
September 12, 2025
Tweet
Share
More Decks by Takayuki Nishio
See All by Takayuki Nishio
SELECE ポジティブ社員 FROM OracleAIDatabase26ai
nisshii
0
8
SELECT Positive Person FROM AIDB
nisshii
0
25
SelectAIはSQL講師になれるのか?
nisshii
0
26
スタートダッシュ!オラクルマスター23ai
nisshii
0
100
オンプレからADBへのデータ移行。正月休みを獲得した方法 [Oracle]
nisshii
0
330
Oracle CloudWorld 2024現地レポート
nisshii
0
160
SelectAIでSQL研修の演習問題に挑む [Oracle]
nisshii
1
460
Other Decks in Education
See All in Education
Multimodal Interaction - Lecture 3 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
2k
Introduction - Lecture 1 - Information Visualisation (4019538FNR)
signer
PRO
0
5.3k
Analysis and Validation - Lecture 4 - Information Visualisation (4019538FNR)
signer
PRO
0
2.5k
1216
cbtlibrary
0
160
滑空スポーツ講習会2025(実技講習)EMFT学科講習資料/JSA EMFT 2025
jsaseminar
0
310
地区危機管理委員会 出前セミナー「ロータリーにおける危機管理」:膳所 和彦 氏(国際ロータリー第2720地区 パストガバナー・日田ロータリークラブ・医療法人恒心会ぜぜ医院 理事長):2720 Japan O.K. ロータリーEクラブ2026年2月16日卓話
2720japanoke
1
600
Measuring your measuring
jonoalderson
2
760
自己紹介 / who-am-i
yasulab
6
6.5k
0121
cbtlibrary
0
150
SSH公開鍵認証 / 02-b-ssh
kaityo256
PRO
0
110
Data Representation - Lecture 3 - Information Visualisation (4019538FNR)
signer
PRO
1
2.9k
SJRC 2526
cbtlibrary
1
220
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
How to Ace a Technical Interview
jacobian
281
24k
Scaling GitHub
holman
464
140k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
760
Become a Pro
speakerdeck
PRO
31
5.8k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
100
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
160
The Language of Interfaces
destraynor
162
26k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.5k
Automating Front-end Workflow
addyosmani
1370
200k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
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