プレイブック
- データベースが遅いアプリケーション全体が遅い。クエリに通常よりはるかに長い時間がかかり、ユーザーから苦情が出ている。
- ディスク / 表領域が満杯'unable to extend'、'disk full'、'log file full' エラー。書き込みが停止しつつある。
- ブロッキングとロックの危機クエリがハングする、'lock wait timeout'、多数のセッションが待機しているが CPU は低い。
- コネクションストーム (接続数過多)'too many connections'、'ORA-00018'、'remaining connection slots reserved' — 新規接続が拒否されている。
- レプリケーションの遅延 / 停止スタンバイ/レプリカが遅延している、または完全に停止している。読み取りレプリカが古いデータを表示している。
- 高い CPU 使用率サーバーの CPU が 90% 以上。システム全体が遅く、ロードアベレージが高い。
- メモリ負荷 / OOMOOM killer がプロセスを強制終了する、'out of memory'、低いキャッシュヒット率、過剰なスワップ、Redis の 'OOM command not…
- トランザクションログ / undo の肥大化トランザクションログファイルまたは undo/redo 領域が急速に増大している。'log full'、'ORA-01555 snapshot too old'、'unable…
- デッドロック分析'deadlock detected'、'ORA-00060'、'chosen as deadlock victim' — トランザクションが互いをロックし、1 つが中断される。
- データベースがオープンしない / 到達不能サービスに接続できない、'connection refused'、インスタンスが起動しない、リスナーが応答しない。
- データ破損'ORA-01578'、'page corruption'、'checksum mismatch'、'MISCONF'、読み取り時の I/O 一貫性エラー。
- 長時間実行クエリ / ジョブ単一のクエリ/ジョブが何時間も終わらずに実行されている。リソースを消費するか、他に影響を与えている。
- Postgres の XID 周回 / autovacuum の危機'database is not accepting commands to avoid wraparound data loss'。autovacuum が追いつかず、datf…
- tempdb の競合 (SQL Server)PAGELATCH_UP/EX 待機、tempdb の割り当てページ (PFS/GAM/SGAM) の競合、全般的な遅延。
- TLS / 証明書の期限切れ'certificate has expired'、'SSL handshake failed'、クライアントが突然接続できなくなる (コード変更なし)。
- バージョンアップグレード / パッチのロールバックアップグレード/パッチ後の問題: 性能のリグレッション、アプリケーションの非互換、データベースがオープンしない。
- Elasticsearch の red/yellow クラスタと未割り当てシャード_cluster/health が 'red' または 'yellow'。未割り当てシャード。読み取り/書き込みが制限されているか、データにアクセスできない。
- クロックスキュー / NTP の問題クラスタノード間の時刻のずれ。レプリケーション/選出の不整合、'certificate not yet valid'、ログ内の時刻の飛び。
- Oracle Data Guard (フィジカルスタンバイ) の構築目標: フィジカルスタンバイ (Data Guard) で Oracle の災害復旧と高可用性を構築し、プライマリ障害時にスタンバイへ切り替えられるようにする。
- SQL Server Always On 可用性グループの構築目標: Always On 可用性グループ (AG) で、SQL Server の自動フェイルオーバーと読み取り可能セカンダリレプリカを構築する。
- PostgreSQL ストリーミングレプリケーション + 自動フェイルオーバー目標: ストリーミングレプリケーションで PostgreSQL のホットスタンバイを構築し、自動フェイルオーバーのために Patroni/repmgr を追加する。
- MySQL InnoDB Cluster (Group Replication) の構築目標: InnoDB Cluster (Group Replication + MySQL Shell + MySQL Router) を使い、MySQL の自動フェイルオーバー…
- MongoDB レプリカセット + シャーディングの構築目標: MongoDB の自動フェイルオーバー付きレプリカセットを構築し、水平スケーリングのためにシャードクラスタに拡張する。
- Redis Sentinel + Cluster による高可用性目標: Sentinel を使い Redis の自動フェイルオーバー付きマスター-レプリカ構成を構築する。水平スケーリングが必要なら Redis Cluster モードに切り替え…
- Elasticsearch の耐障害性: レプリカ + スナップショット + CCR目標: レプリカシャード、専用 master/data ノード、スナップショットバックアップ (SLM)、クラスタ間レプリケーション (CCR) により、Elasticsearc…
- セキュリティ強化: SQL データベース (Oracle、PostgreSQL、MySQL、SQL Server)目標: CIS 方式でリレーショナルデータベースを強化する — デフォルトアカウント、強力なパスワードポリシー、最小権限、ネットワーク制限、TLS、監査、暗号化 (TDE)。
- セキュリティ強化: MongoDB / Redis / Elasticsearch目標: CIS 方式で NoSQL/データストアを強化する — 認証、ネットワーク制限、危険なコマンドのブロック、TLS、最小権限ロール、監査。
- クラウドマネージドデータベース (RDS/Aurora/Cloud SQL/Atlas/Azure SQL)目標: クラウドマネージドデータベースとセルフマネージドのインストールの主な違いを学び、クラウドでバックアップ、パラメータ、フェイルオーバー、監視、アップグレード、接続がどのよう…
- Ansible によるデータベース自動化目標: Ansible により、データベースのインストール、構成、ユーザー、バックアップのタスクを再現可能かつ冪等にする (同じプレイブックを再実行してもシステムが壊れない)。
- Terraform によるデータベースのプロビジョニング (IaC)目標: Terraform でデータベースインフラ (インスタンス、パラメータグループ、ネットワーク) をコードとして定義し (Infrastructure as…
- Kubernetes 上のデータベース (オペレーター)目標: オペレーターを使って Kubernetes 上でデータベースを実行する。素の StatefulSet ではなく、オペレーターが提供する自動フェイルオーバー、永続ストレージ…
- スキーママイグレーションの CI/CD (Flyway/Liquibase)目標: データベーススキーマの変更をバージョン管理されたマイグレーションファイルで管理し、Flyway または Liquibase を使って CI/CD 内で自動的かつ制御された…
- 自動バックアップ (pgBackRest/Barman/Xtrabackup/cron)目標: データベースのバックアップを自動化し、スケジュールされたフル + 増分 + WAL/binlog アーカイブ、保持、検証、オフサイトコピーによる信頼性の高い復旧チェーンを…
- GitOps と blue-green / 無停止デプロイ目標: スキーマとアプリケーションの変更をダウンタイムなしでデプロイする。expand-contract マイグレーション、blue-green 環境、フィーチャーフラグ、自動ロ…