DBエンジニアの皆さん,
確信をもって「大丈夫」と言える人はほとんどいないでしょう。筆者も長い間,
そもそも“DBエンジニア”といっても,
- プロジェクトのDB担当(アプリ,
基盤) - DBコンサル
- DBの運用担当
- サポート系
など,
そこで,
対象としたスキルと定義
今回どのようなスキルを対象としたか,
ITの項目が多くを占めますが,
表1 スキル項目と定義
[コード:A]DBMSアーキテクチャ
| レベル | 定義 |
|---|---|
| 1 | 入門書をマスターしたレベル
※Oracle Master Bronze取得相当のレベル |
| 2 | サーバープロセスとクライアントの役割分担が説明できる
※Oracle Master Silver取得相当のレベル |
| 3 | ブロックやエクステント, ※Oracle Master Gold取得相当のレベル |
| 4 | RACの構造や動きの説明も実施できる。障害時の動きを説明できる。
※Oracle Master Platinum取得相当のレベル |
| 5 | Oracleの内部構造と動きを一通り説明できる。未知の動きについてもアーキテクチャの観点から考察と推論を行える。アーキテクチャにおいて業界でも上位のエンジニア |
[コード:B]物理設計ノウハウ
主要な業務:データベース物理設計
| レベル | 定義 |
|---|---|
| 1 | 初心者。手とり足とり,指示してもらって設計ができるレベル |
| 2 | ガイドラインに従って設計のドラフトを作ることができる。上席の支援が必須 |
| 3 | 設計のドラフトを作成することはできるが,上席のレビュー必須 |
| 4 | パラメータ間のバランスや影響なども指摘できる |
| 5 | 極めて性能要件が高いシステムでも物理設計/対障害設計を実施できる(監督できる) |
| 6 | 日本初のようなシステムについても妥当な設計とレビューを行える |
[コード:C]オペレーション(オブジェクト操作,
主要な業務:アプリリリースや移行業務,
| レベル | 定義 |
|---|---|
| 1 | 書かれているオペレーションを実施するのみ |
| 2 | 簡単なオペレーションの変更のみ実施可能。レビューは不可 |
| 3 | 普段使用している機能やオブジェクトに関しては手順書を自分で作成できる |
| 4 | 新機能に関しても調査しながら手順書を自分で作成できる。他人の手順書をレビューできる |
| 5 | オブジェクトや運用オペレーションの方針を立てられる |
| 6 | - |
[コード:D]SQLチューニング(分析含む)
主要な業務:性能テスト,
| レベル | 定義 |
|---|---|
| 1 | インデックススキャンとフルスキャンの違いが理解できる |
| 2 | トレースが理解できる。インデックスを追加して,フルスキャンをインデックスに変更する程度 |
| 3 | 結合方法について理解し,チューニングを実施することができる |
| 4 | View(マージやプッシュなど)が絡むような多少難易度の高いチューニングも実施できる |
| 5 | 高度な問題のチューニング(例:DBリンクが絡み,性能の最適化が困難となっているようなSQLのチューニング)も実施できる |
| 6 | - |
[コード:E]インスタンスチューニング(分析含む)
主要な業務:性能テスト,
| レベル | 定義 |
|---|---|
| 1 | 初心者。基本的な考え方を知っている |
| 2 | どの待機イベントが多いかを区別できる。主だった数種類の待機イベント(log file sync,db file sequential read等)について内容を説明できる |
| 3 | Statspackなどから原因を特定できる。v$sessionやEM(Enterprise Manager)で概況を把握できる |
| 4 | Oracle以外かどうかの切り分けも実施できる |
| 5 | 原因だけではなく,対策に関してもほぼ全てのケースで提示できる |
| 6 | 事象が日本初のような難易度の高いインスタンスチューニングについても仮説・検証を基に解決できる |
[コード:F]インシデント対応,
主要な業務:障害対応,
| レベル | 定義 |
|---|---|
| 1 | 上席が書いた問い合わせをサポートに送る程度 |
| 2 | KROWNから簡単な調査を実施できる。基本的な技術質問をサポートに依頼できる |
| 3 | KROWNから類似の事象を探して,原因を類推できる。既知のトラブルであれば,対策をリードできる。v$sessionやEM(Enterprise Manager)で概況を把握できる |
| 4 | 性能トラブルを一人で切り分け/シューティングできる |
| 5 | 原因不明のトラブルであっても解決への道筋をひき,進めることができる |
| 6 | 日本初のような複雑度の高いトラブルについても切り分けと対応を実施できる |
[コード:G]ヘルスチェック,
主要な業務:定期分析,
| レベル | 定義 |
|---|---|
| 1 | 初心者。基本的な考え方を知っている |
| 2 | EM(Enterprise Manager)やStatspackを使って,簡単な確認を実施できる(Top5待機イベントなど) |
| 3 | 安定稼働のために行うべき基本的なことを知っている。既存のシステムのリリースであれば健全確認が実施できる |
| 4 | キャパシティプランニングが実施できる。傾向分析で目立つ問題点を見つけ,対策を立案できる |
| 5 | 新規業務のリリースであっても,健全確認が実施できる |
| 6 | 隠れたトラブルの芽やボトルネックの存在を豊富な経験を基に指摘できる(全てとは限らない) |
[コード:H]バックアップ&リカバリ(設計やオペレーションを含む)
主要な業務:バックアップリカバリの設計・
| レベル | 定義 |
|---|---|
| 1 | 初心者。基本的な考え方を知っている |
| 2 | 考え方は知っており,上席者の手伝いができる |
| 3 | 手順に従ってオペレーションができる。基本的な動きを知っている |
| 4 | バックアップリカバリを一人で実施できる。ガイドに従って,バックアップリカバリの設計ができる |
| 5 | バックアップリカバリの設計や実施を監督できる |
| 6 | 想定していない物理障害に対して,最適なリカバリをその場で組み立てて実施できる |
[コード:I]構成管理(PSR,
主要な業務:パッチ当ての判断,
| レベル | 定義 |
|---|---|
| 1 | 初心者。基本的な考え方を知っている |
| 2 | 手順書に基づいてパッチ当てを実施する程度 |
| 3 | 個別パッチをダウンロードして,パッチ当てを実施できる |
| 4 | メリットデメリットを理解でき,個別パッチについての適用判断(する/しない)ができる |
| 5 | PSR(構成)に関する方針(会社の標準構成や今後の適用計画)が立てられる |
| 6 | - |
[コード:J]セキュリティ
主要な業務:セキュリティ設計・
| レベル | 定義 |
|---|---|
| 1 | 初心者。基本的な考え方を知っている |
| 2 | 最低限必要なセキュリティの設定を知っている |
| 3 | マニュアルに記載されている推奨設定等から監査等を設定できる |
| 4 | 新規システムに対して,一通りのセキュリティ設定を一人で実施できる |
| 5 | システム全体の総合的な観点で,DBのセキュリティを設計・監督できる |
| 6 | セキュリティにおいて業界でも上位のエンジニア |
[コード:K]インフラスキル
主要な業務:インフラ構築の常識(構築の流れや分担,
| レベル | 定義 |
|---|---|
| 1 | 初心者。基本的な役割分担を知っている程度 |
| 2 | "マニュアルに沿っただけのインストールと設定に必要なOS/ストレージ/ネットワークの知識を保持している。既存システムのデザインシートをベースに,標準的な構成のDBを構築できる。上席者によるレビューは必要 |
| 3 | 単独でシステムの環境構築が行える。OS/ストレージ/ネットワークについて日常業務で必要となるコマンドは知っている |
| 4 | 新バージョンのOSや新シリーズの機器を導入できる。機器の選定や,顧客要件を満たすための提案が行える |
| 5 | 例のないシステム要件について,採用する技術の選定から実際の構築までを行える |
| 6 | インフラにおいて業界でも上位のエンジニア。未知のトラブルについても切り分けや対応が実施できる |
[コード:L]SQL作成スキル
主要な業務:開発者としてSQLを作成するスキル(構文,
| レベル | 定義 |
|---|---|
| 1 | 初心者。基本的なSQL文(whereに=や!=などを使ったもの)が作成できる |
| 2 | 有効なインデックスを意識しながらSQL文を作成できる |
| 3 | OLTPアプリケーションにおいて実行されるほとんどのSQL文について記述できる(レベル4に見られるような分析関数などは含まない) |
| 4 | 簡単なヒント文の付与や分析関数など,SQL文としてより良く機能させる方法を知っている |
| 5 | バッチ処理全体として最適となるようSQL文群全体をデザインしたり,DBリンクを意識して,性能が最適となるようSQL文をデザインできるレベル |
| 6 | DBMSの構造とSQLの構文の双方を極めた高度なSQLを作成できる |
[コード:M]コミュニケーション(説明とネゴシエーション)
主要な業務:業務遂行のために必要な,
| レベル | 定義 |
|---|---|
| 1 | 技術的であり,かつ,簡単な説明であれば実施できる |
| 2 | 説明については,独力で実施できることが多い |
| 3 | お互いの利害が大きく異ならないような調整事項であれば,独力で実施できる。日常業務の説明や調整は独力で実施できる |
| 4 | 障害対応などの日常業務を越える調整が実施できる |
| 5 | 困難な調整(他チームにとって,多くの工数を必要とするような調整等)や,複数の部門が関わるような調整を実施できる |
| 6 | 非常に高いリーダーシップとコミュニケーション能力を発揮できる |
[コード:N]ドキュメンテーション
主要な業務:仕事上必要な各種文書を作成するための文書能力
| レベル | 定義 |
|---|---|
| 1 | 上席者の手とり足とりの指導が必要なレベル(新卒入社1年目など) |
| 2 | 上席者の多少のレビューと修正が必要ではあるが,日常的なドキュメントは,おおむね作成することができる |
| 3 | 簡単な文書など(日常業務レベル)は,独力で問題なく作成できる |
| 4 | 日常業務を越えるような報告書や稟議の書類を作成できる |
| 5 | 指導者のレベル |
| 6 | 非常に高いドキュメント作成能力を持っている |