KEMBAR78
オンプレでもクラウドでも データベースサーバの運用 | PPTX
オンプレでもクラウドでも 
データベースサーバーの運用 
オンプレばかりのDBエンジニアがAzureを触ってみた 
Microsoft MVP for SQL Server 
@elanlilac
自己紹介 
• Twitter @elanlilac 
• Blog http://elan.blog.so-net.ne.jp/ 
• 某企業でDBエンジニア兼管理職やっています 
• トラブル70%、設計30%、教育10%、管理職20% 合計130%位 
• コミュニティでは諸事情により顔と名前は伏せて生きています
Agenda 
• Azureを触ってみた 
• SQL ServerとOracleの違い(on Azure) 
• DBサーバの運用 
• SQL Serverへの適用 
• Oracleへの適用 
• 機能比較まとめ
Azureに触ってみた感想 
• オンプレDBばかり触っていたエンジニアの思っていた印象(先入観) 
• 使い勝手(運用やノウハウ)がかわるんじゃないか 
• パフォーマンスがでないんじゃないか 
• TCOはあがるんじゃないか 
• セキュリティに難があるんじゃないか
Azureに触ってみた感想 
• 実際どうだったか… 
• Azure IaaSはオンプレで仮想マシンを触るのと変わらなかった 
• マシンを展開するのは0から仮想マシン作るより楽だった 
• DBも始めから入っているのはとても楽 
• 使い勝手もオンプレミスとあまり変わらず 
• 今までのノウハウが生かせる 
• Azure、よかったです
Azureに触ってみた感想 
• 気がついたこと 
• OSもSQL Serverも英語版が入ってた 
• SSAS、SSRSも動いている。SQL Agentは止まっている。 
• プロトコルはTCPとShared MemoryがOn。Named PipeはOff 
• C:SQLServer_12.0_Fullにプロダクトイメージがある 
• 規定インスタンスが動いている 
• Windows認証のみが有効になっている
Azureに触ってみた 
セルフAzure 
物理マシンキッティング 
物理マシンOSインストール 
仮想化ソフトインストール 
仮想マシン設定 
仮想マシンOSインストール 
RDBMS製品インストール 
実装、テスト 
ギャラリー 
から選べば 
省略可能
SQL ServerとOracleの違い(on Azure) 
• 仮想マシンのギャラリーからSQL Server入りもOracle入りも選べる 
SQL Server Oracle 
Azureで使えるバージョン2008R2,2012,2014 11gR2,12c 
プラットフォームWindows Windows,Oracle Linux 
MSDN無償枠ありなし 
Azure STD 価格東日本40.8円/時間~ 113.22円/時間~ 
オンプレSTD 価格435,400円/2コア1,902,200円/プロセッサ 
2014/09/27時点のデータ 
http://www.microsoft.com/ja-jp/sqlserver/2012/howtobuy/ 
http://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/ 
http://www.oracle.com/jp/corporate/pricing/dbse-186274-ja.html
SQL ServerとOracleの違い(on Azure) 
• Oracleを使うまでのお作法 
OSの設定 
製品インストール 
DB作成 
ネットワーク設定 
DB設定 
パッケージ追加、グループ、権限、カーネルパラメータ、 
ユーザ制限、root.sh、など 
JAVAのインストーラによる設定 
CREATE DATABASE実行またはDBCAによるDB作成 
リスナー作成。Listener.ora, tnsnames.ora, sqlnet.ora 
ユーザ表領域作成、初期化パラメータ整備、アーカイブログ 
運用、など
SQL ServerとOracleの違い(on Azure) 
• SQL Serverを使うまでのお作法 
OSの設定 
製品インストール 
DB作成 
ネットワーク設定 
DB設定 
.net Frameworkインストール 
インストーラによる設定 
インストール時に設定 
インストール時に設定 
ユーザDB作成、構成オプション設定
SQL ServerとOracleの違い(on Azure) 
• Azureでやってくれる範囲 
OSの設定 
製品インストール 
DB作成 
ネットワーク設定 
DB設定 
Oracle 
SQL Server
SQL ServerとOracleの違い(on Azure) 
• Oracle on Azureで最低限必要な作業 
• DB作成(DBCA) 
• リスナー作成 
• 初期化パラメータの確認と変更 
• ユーザ表領域作成 
• SQL Server on Azureで最低限必要な作業 
• TCP/IP,名前付きパイプなど外部接続設定 
• 不要なサービス停止(SSAS,SSRSも動いている) 
• ユーザDB作成
DBの運用 
• DB運用のお仕事ってどんなもの? 
• トラブル対応 
• バックアップ 
• ジョブ管理 
• パフォーマンス管理 
• バージョン管理 
• システムライフサイクル把握 
• DBエンジニアの他の仕事 
• 設計、実装、データ分析、などなど
DBの運用 
• データベースエンジニアのお仕事 
要件定義性能要件検討、アプリケーションチームとの調整など 
設計論理設計、物理設計、運用設計、SQLコーディングルールなど 
実装インストール、設定、インフラテスト、統合テスト、性能評価など 
保守バージョン管理、テスト環境へのデータ移行、トラブル対応など 
運用バックアップ、監視、パフォーマンスベースライン管理など 
本日は運用に焦点を当てています
DBの運用 
• バックアップ 
• バックアップはデータを保護するために絶対に必要な運用作業 
• バックアップの利用方法 
• 物理メディア破損からの復旧 
• アプリケーション不具合による論理データ障害からの復旧 
• データ移行 
• バックアップの設計が甘かったシステムの末路 
• データロスト… 
• 本当にあきらめなければならないこともある 
• 3rdパーティ製ツールで救える場合もあるらしい
DBの運用 
• パフォーマンスベースライン管理 
• パフォーマンス問題は往々にして起きやすい障害 
• パフォーマンス問題の解決には常日頃からの準備が必要 
• ベースライン取得(リソースや稼働状況を数値で押さえる) 
• 閾値超過の監視 
• ログの保存 
• 通常時と異常時の比較をすることで初めてわかることがたくさんある 
• パフォーマンストラブルの初回は資料が無くて何もわからないことが多い
SQL Serverへの適用 
• SQL Serverのバックアップ 
• データのバックアップ 
• ログのバックアップ 
• DBの「復旧モデル」次第でログのバックアップ要否が決まる 
• 単純はログのバックアップは不要、他は必要 
• 定期的にバックアップすること 
• データはできれば日次 
• ログは要件次第(決まってなければ毎時でもいいかも) 
• システムデータベースのバックアップも忘れずに!
SQL Serverへの適用 
• パフォーマンスベースライン管理 
• SQL Serverのベースライン管理の基本は「パフォーマンスログ」 
• そのほか、拡張イベント、DMVが利用可能 
• Perfmonに限るとベースラインだけなら15分に一回くらいのデータポ 
イントでよいが、実際パフォーマンストラブルが起きると10秒間隔く 
らいで欲しいことが多い 
• DMVは取っているところがそもそも少ない 
DMVはインスタンス内の稼働状況を細かく見られるビュー
Oracleへの適用 
• バックアップ 
• オンラインバックアップor オフラインバックアップ 
• アーカイブログの待避 
• 制御ファイルのバックアップ 
• PITRもしくは障害直前までリカバリが必要であれば「アーカイブログ 
モード」での運用が必要 
• データファイルのバックアップの他、アーカイブログファイルの待避 
が必要 
• バックアップにRMAN(Recovery Manager)が利用できる
Oracleへの適用 
• パフォーマンスベースライン管理 
• Oracleの場合は色々なツールがあるが、 
• OS標準のメトリクス収集(sysstatやsar、Windowsのパフォーマンスモニタ) 
• Oracle固有のパフォーマンス情報(bstat/estat、statspack、AWRなど) 
• RDBMS内部の状況とOS固有の情報を一元的に見るのが難しい 
• 内部状況はv$ビューなどを利用する 
• Oracle Enterprise Manager、Tuningオプションなどをうまく使いましょう
機能比較まとめ 
機能Oracle SQL Server 
オンラインバックアップオンラインバックアップ 
RMAN 
データベースバックアップ 
オフラインバックアップファイルのバックアップなし 
更新履歴バックアップアーカイブログの待避トランザクションログバック 
アップとバックアップ待避 
OSリソースの確認Sar,sysstat,perfmonなどPerfmon 
RDBMSリソースの確認Statspack,AWR Perfmon 
RDBMS内部の状況V$ビューDMV 
稼働ログアラートログエラーログ
まとめ 
• Azureは展開のための手間が省けるので使いやすかった 
• RDBMSの運用は総じてオンプレと同じことが必要だった 
• バックアップを甘く見ると死ぬ 
• パフォーマンスは普段から備えないと死ぬ 
• SQL ServerとOracleはやれることはあまり変わらない

オンプレでもクラウドでも データベースサーバの運用

  • 1.
  • 2.
    自己紹介 • Twitter@elanlilac • Blog http://elan.blog.so-net.ne.jp/ • 某企業でDBエンジニア兼管理職やっています • トラブル70%、設計30%、教育10%、管理職20% 合計130%位 • コミュニティでは諸事情により顔と名前は伏せて生きています
  • 3.
    Agenda • Azureを触ってみた • SQL ServerとOracleの違い(on Azure) • DBサーバの運用 • SQL Serverへの適用 • Oracleへの適用 • 機能比較まとめ
  • 4.
    Azureに触ってみた感想 • オンプレDBばかり触っていたエンジニアの思っていた印象(先入観) • 使い勝手(運用やノウハウ)がかわるんじゃないか • パフォーマンスがでないんじゃないか • TCOはあがるんじゃないか • セキュリティに難があるんじゃないか
  • 5.
    Azureに触ってみた感想 • 実際どうだったか… • Azure IaaSはオンプレで仮想マシンを触るのと変わらなかった • マシンを展開するのは0から仮想マシン作るより楽だった • DBも始めから入っているのはとても楽 • 使い勝手もオンプレミスとあまり変わらず • 今までのノウハウが生かせる • Azure、よかったです
  • 6.
    Azureに触ってみた感想 • 気がついたこと • OSもSQL Serverも英語版が入ってた • SSAS、SSRSも動いている。SQL Agentは止まっている。 • プロトコルはTCPとShared MemoryがOn。Named PipeはOff • C:SQLServer_12.0_Fullにプロダクトイメージがある • 規定インスタンスが動いている • Windows認証のみが有効になっている
  • 7.
    Azureに触ってみた セルフAzure 物理マシンキッティング 物理マシンOSインストール 仮想化ソフトインストール 仮想マシン設定 仮想マシンOSインストール RDBMS製品インストール 実装、テスト ギャラリー から選べば 省略可能
  • 8.
    SQL ServerとOracleの違い(on Azure) • 仮想マシンのギャラリーからSQL Server入りもOracle入りも選べる SQL Server Oracle Azureで使えるバージョン2008R2,2012,2014 11gR2,12c プラットフォームWindows Windows,Oracle Linux MSDN無償枠ありなし Azure STD 価格東日本40.8円/時間~ 113.22円/時間~ オンプレSTD 価格435,400円/2コア1,902,200円/プロセッサ 2014/09/27時点のデータ http://www.microsoft.com/ja-jp/sqlserver/2012/howtobuy/ http://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/ http://www.oracle.com/jp/corporate/pricing/dbse-186274-ja.html
  • 9.
    SQL ServerとOracleの違い(on Azure) • Oracleを使うまでのお作法 OSの設定 製品インストール DB作成 ネットワーク設定 DB設定 パッケージ追加、グループ、権限、カーネルパラメータ、 ユーザ制限、root.sh、など JAVAのインストーラによる設定 CREATE DATABASE実行またはDBCAによるDB作成 リスナー作成。Listener.ora, tnsnames.ora, sqlnet.ora ユーザ表領域作成、初期化パラメータ整備、アーカイブログ 運用、など
  • 10.
    SQL ServerとOracleの違い(on Azure) • SQL Serverを使うまでのお作法 OSの設定 製品インストール DB作成 ネットワーク設定 DB設定 .net Frameworkインストール インストーラによる設定 インストール時に設定 インストール時に設定 ユーザDB作成、構成オプション設定
  • 11.
    SQL ServerとOracleの違い(on Azure) • Azureでやってくれる範囲 OSの設定 製品インストール DB作成 ネットワーク設定 DB設定 Oracle SQL Server
  • 12.
    SQL ServerとOracleの違い(on Azure) • Oracle on Azureで最低限必要な作業 • DB作成(DBCA) • リスナー作成 • 初期化パラメータの確認と変更 • ユーザ表領域作成 • SQL Server on Azureで最低限必要な作業 • TCP/IP,名前付きパイプなど外部接続設定 • 不要なサービス停止(SSAS,SSRSも動いている) • ユーザDB作成
  • 13.
    DBの運用 • DB運用のお仕事ってどんなもの? • トラブル対応 • バックアップ • ジョブ管理 • パフォーマンス管理 • バージョン管理 • システムライフサイクル把握 • DBエンジニアの他の仕事 • 設計、実装、データ分析、などなど
  • 14.
    DBの運用 • データベースエンジニアのお仕事 要件定義性能要件検討、アプリケーションチームとの調整など 設計論理設計、物理設計、運用設計、SQLコーディングルールなど 実装インストール、設定、インフラテスト、統合テスト、性能評価など 保守バージョン管理、テスト環境へのデータ移行、トラブル対応など 運用バックアップ、監視、パフォーマンスベースライン管理など 本日は運用に焦点を当てています
  • 15.
    DBの運用 • バックアップ • バックアップはデータを保護するために絶対に必要な運用作業 • バックアップの利用方法 • 物理メディア破損からの復旧 • アプリケーション不具合による論理データ障害からの復旧 • データ移行 • バックアップの設計が甘かったシステムの末路 • データロスト… • 本当にあきらめなければならないこともある • 3rdパーティ製ツールで救える場合もあるらしい
  • 16.
    DBの運用 • パフォーマンスベースライン管理 • パフォーマンス問題は往々にして起きやすい障害 • パフォーマンス問題の解決には常日頃からの準備が必要 • ベースライン取得(リソースや稼働状況を数値で押さえる) • 閾値超過の監視 • ログの保存 • 通常時と異常時の比較をすることで初めてわかることがたくさんある • パフォーマンストラブルの初回は資料が無くて何もわからないことが多い
  • 17.
    SQL Serverへの適用 •SQL Serverのバックアップ • データのバックアップ • ログのバックアップ • DBの「復旧モデル」次第でログのバックアップ要否が決まる • 単純はログのバックアップは不要、他は必要 • 定期的にバックアップすること • データはできれば日次 • ログは要件次第(決まってなければ毎時でもいいかも) • システムデータベースのバックアップも忘れずに!
  • 18.
    SQL Serverへの適用 •パフォーマンスベースライン管理 • SQL Serverのベースライン管理の基本は「パフォーマンスログ」 • そのほか、拡張イベント、DMVが利用可能 • Perfmonに限るとベースラインだけなら15分に一回くらいのデータポ イントでよいが、実際パフォーマンストラブルが起きると10秒間隔く らいで欲しいことが多い • DMVは取っているところがそもそも少ない DMVはインスタンス内の稼働状況を細かく見られるビュー
  • 19.
    Oracleへの適用 • バックアップ • オンラインバックアップor オフラインバックアップ • アーカイブログの待避 • 制御ファイルのバックアップ • PITRもしくは障害直前までリカバリが必要であれば「アーカイブログ モード」での運用が必要 • データファイルのバックアップの他、アーカイブログファイルの待避 が必要 • バックアップにRMAN(Recovery Manager)が利用できる
  • 20.
    Oracleへの適用 • パフォーマンスベースライン管理 • Oracleの場合は色々なツールがあるが、 • OS標準のメトリクス収集(sysstatやsar、Windowsのパフォーマンスモニタ) • Oracle固有のパフォーマンス情報(bstat/estat、statspack、AWRなど) • RDBMS内部の状況とOS固有の情報を一元的に見るのが難しい • 内部状況はv$ビューなどを利用する • Oracle Enterprise Manager、Tuningオプションなどをうまく使いましょう
  • 21.
    機能比較まとめ 機能Oracle SQLServer オンラインバックアップオンラインバックアップ RMAN データベースバックアップ オフラインバックアップファイルのバックアップなし 更新履歴バックアップアーカイブログの待避トランザクションログバック アップとバックアップ待避 OSリソースの確認Sar,sysstat,perfmonなどPerfmon RDBMSリソースの確認Statspack,AWR Perfmon RDBMS内部の状況V$ビューDMV 稼働ログアラートログエラーログ
  • 22.
    まとめ • Azureは展開のための手間が省けるので使いやすかった • RDBMSの運用は総じてオンプレと同じことが必要だった • バックアップを甘く見ると死ぬ • パフォーマンスは普段から備えないと死ぬ • SQL ServerとOracleはやれることはあまり変わらない