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
DBトラブルの原因特定スピードアップ! ~DB可視化の勘所~
Search
Akira.S
September 25, 2025
Technology
0
84
DBトラブルの原因特定スピードアップ! ~DB可視化の勘所~
2025年9月12日に開催された「JPOUG Tech Talk Night #14」での発表資料です。
DBの稼働状況やリソース情報を可視化する際のポイントを実例を元に解説しています。
Akira.S
September 25, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
130
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
5
2.4k
Zephyr(RTOS)でOpenPLCを実装してみた
iotengineer22
0
150
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
30
14k
タスク管理も1on1も、もう「管理」じゃない - KiroとBedrock AgentCoreで変わった“判断の仕事”
yusukeshimizu
0
140
FASTでAIエージェントを作りまくろう!
yukiogawa
4
160
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
2
17k
AIにより大幅に強化された AWS Transform Customを触ってみる
0air
0
190
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
330
Change Calendarで今はOK?を仕組みにする
tommy0124
1
130
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
130
スケーリングを封じられたEC2を救いたい
senseofunity129
0
120
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Six Lessons from altMBA
skipperchong
29
4.2k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
210
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
140
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
130
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
68
38k
Transcript
DBトラブルの原因特定スピードアップ! DB可視化の勘所 SBペイメントサービス株式会社 システム本部 システム基盤部 基盤運用課 鈴木 彰
自己紹介
自己紹介 SBペイメントサービス株式会社 システム本部システム基盤部基盤運用課 鈴木 彰 データベース・エンジニア ※Oracle特化型 主な業務 • OracleDBに関することならなんでも
• DBリプレイスPJでは大体PL兼DB担当 • チームマネジメントや運用改善をやることも Akira.S(@nag_akrs)
会社紹介 3 インターネット コンテンツ 決済・金融 通信 海外投資 その他 Softbankグループ ソフトバンク傘下の決済分野における中核事業会社
SBペイメントサービスとは
会社紹介 4 ソフトバンク携帯ユーザー向けの「ソフトバンクカード」のカード発行・運営をし ています。 ソフトバンクカードは、Visa加盟店で利用できるプリペイドカードです。ご利 用金額に応じてTポイントが貯まります。 カード発行業務 決済代行 EC運営事業者さま向けにオンライン決済事業を運営しています。豊富な 決済手段をまとめてご提供しています。
カード加盟店業務 Visa、Mastercard、UnionPay(銀聯)のメンバーシップライセンスを保 有しており、各ブランドのアクワイアラー(クレジットカード加盟店契約会 社)としての加盟店審査や管理事業、端末決済サービスを提供していま す。 ソフトバンクと共同で、ソフトバンク携帯ユーザー向けの通話料合算請求 「ソフトバンクまとめて支払い」の開発・運営をしています。 キャリア決済 実店舗/訪問販売 EC/ネット店舗 事業内容
ソフトバンク携帯ユーザー向けの「ソフトバンクカード」のカード発行・運営をし ています。 ソフトバンクカードは、Visa加盟店で利用できるプリペイドカードです。ご利 用金額に応じてTポイントが貯まります。 カード発行業務 カード加盟店業務 Visa、Mastercard、UnionPay(銀聯)のメンバーシップライセンスを保 有しており、各ブランドのアクワイアラー(クレジットカード加盟店契約会 社)としての加盟店審査や管理事業、端末決済サービスを提供していま す。
ソフトバンクと共同で、ソフトバンク携帯ユーザー向けの通話料合算請求 「ソフトバンクまとめて支払い」の開発・運営をしています。 キャリア決済 実店舗/訪問販売 会社紹介 5 決済代行 EC運営事業者さま向けにオンライン決済事業を運営しています。豊富な 決済手段をまとめてご提供しています。 EC/ネット店舗 事業内容
会社紹介 6 加盟店 通販サイト ゲーム 電子書籍/動画 教育 不動産 その他 チケット
決済機関 コンビニ支払い 携帯キャリア決済 クレジットカード バーコード決済 口座振替 ポイント支払い アカウント連携決済 当社 決済サービス 全て一本化 リンク 型 API 型 オンライン決済サービス ECサイト向けに多種多様な決済手段に対応した決済画面や決済APIを提供
システム概要図 7 加盟店様 フロントエンド AP 外部接続 GW DB (Master) DB
(Slave) 決済 管理画面 加盟店様 各種決済機関 GoldenGate
すみません、、、ようやく本題です
本日お話しすること 9 ➢ DBの可視化とは? ➢ DBダッシュボードの実例(当社の場合) ➢ 可視化の際に見るべき情報 ➢ ダッシュボードを構築する際に意識すること
本日お話しすること 10 ➢ DBの可視化とは? ➢ DBダッシュボードの実例(当社の場合) ➢ 可視化の際に見るべき情報 ➢ ダッシュボードを構築する際に意識すること
DBの可視化とは? 1. 従来(古来?)のモニタリング プロセス ログ メトリクス ✓CLIでの情報取得 • 変化/変動に気付きにくい ✓監視対象毎にウィンドウ
• 数が多すぎて見きれない • 準備の手間がかかる ➢ 各種情報の相関がわからない • ウィンドウが分割されていたり時間間隔が統一されていないの で相関関係が読み取りづらい ✓『今』しかわからない • 直近数分でいいから推移が見たい 面倒くさいのにイマイチ意味がない
DBの可視化とは? 12 2. ダッシュボードによる各種情報の可視化 = 可観測性の向上 DBサーバ モニタリング・プラットフォーム メトリクス情報/ログを送信 リアルタイムグラフ化
気軽に確認できるし わかりやすい!
本日お話しすること 13 ➢ DBの可視化とは? ➢ DBダッシュボードの実例(当社の場合) ➢ 可視化の際に見るべき情報 ➢ ダッシュボードを構築する際に意識すること
DBダッシュボードの実例 14 1. 当社のDBダッシュボード OSメトリクス アクティブ セッション数 待機イベント
DBダッシュボードの実例 15 1. 当社のDBダッシュボード 総セッション数 GoldenGate レプリ・ラグ
本日お話しすること 16 ➢ DBの可視化とは? ➢ DBダッシュボードの実例(当社の場合) ➢ 可視化の際に見るべき情報 ➢ ダッシュボードを構築する際に意識すること
可視化の際に見るべき情報 17 1. アクティブセッション数 ❏ 分かること ➢ (オンライン処理)処理滞留の有無 • 瞬間的な上昇(スパイク)は無視してOK
• 継続的な上昇はDB上で何らかのボトルネックが発生しているとみてよい ➢ (バッチ処理)過度な並列処理 • CPUコア数などのHWの限界を超えた処理の有無 超重要 ❏ 情報ソース ➢ V$SESSION • STATUS=ACTIVE であるセッション数をカウント • DB接続の設計に因るがUSERNAME/SERVICE_NAME/MACHINEなどでグループ化すると良い
可視化の際に見るべき情報 18 ❏ 情報ソース ➢ V$SESSION • 「待機イベント」は実は「待機クラス」⇒ 待機イベントだと細分化されすぎてわかりづらい •
「総セッション数」は「アクティブセッション数」から「STATUS = ‘ACTIVE’」の条件を外しただけ 2. 待機イベント・総セッション数 重要 ❏ わかること ➢ アクティブセッション数の変動の原因 • かなり大雑把な情報(真因究明には更に詳細調査が必要) • とはいえ一次調査用としては十分かつわかりやすい
可視化の際に見るべき情報 19 3. OSメトリクス ❏ 分かること ➢ OSリソース不足 • 正直なところ補足情報でしかない(OSリソースの逼迫=DB処理滞留ではない)
※ もちろん放置して良いわけではない 補足情報 ❏ 情報ソース ➢ プラットフォームの機能を利用 • モニタリングプラットフォームにOSメトリクス収集機能はデフォルトで備わっていることが多い • 万が一備わっていない場合はOS標準コマンド(sar、vmstatなど)を活用
可視化の際に見るべき情報 20 4. GoldenGateレプリケーション状況 ❏ 分かること ➢GoldenGateによる論理レプリケーションのタイムラグ • 当社ではGoldenGateを用いて参照専用スレーブDBを構築しているためこれもモニタリング対象としている •
他にもDataGuardなど環境によってモニタリング対象を検討すると良い おまけ(?) ❏ 情報ソース ➢<GGスキーマ>.gg_lag • GoldenGateのハートビートテーブル機能を利用した際に作成されるラグ監視用のビュー • 詳細はGoldenGateのドキュメント参照
本日お話しすること 21 ➢ DBの可視化とは? ➢ DBダッシュボードの実例(当社の場合) ➢ 可視化の際に見るべき情報 ➢ ダッシュボードを構築する際に意識すること
ダッシュボードを構築する際に意識すること 22 ❏ やりすぎない ➢ 何のための可視化か?そのためには何を可視化すべきか?をよく検討する ➢ 情報は厳選する • 何でもかんでも盛り込まない
※人は情報過多になると混乱する • やるなら目的別にダッシュボードを分ける ➢ 可能な限り1画面に収まるようにデザインする • 表示できないとそもそも可視化の意味が無い ❏ わかりやすさ ➢ DBエンジニアだけがわかってもダメ • 「誰が見てもわかる」を意識する(当社はDBエンジニア以外のメンバーやマネージャー層も前出のダッシュボードを見ます) ➢ ダッシュボードのデザインを工夫する 例えば・・・ ・ 重要な物は大きく表示 ・ 併せてに見たい情報は隣接させる など ➢ 以下の様な点でもぱっと見でわかるように表示を工夫する • 時間の単位(秒/分/時間) • ホスト名やインスタンス名は論理名に置き換える • UIは適度に日本語化する
ご清聴ありがとうございました 23