Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OCI Database Management

oracle4engineer
December 19, 2022
3k

OCI Database Management

オンプレミス、クラウドのOracle Databaseのリソース・性能を監視するクラウドサービスについての紹介

oracle4engineer

December 19, 2022
Tweet

More Decks by oracle4engineer

Transcript

  1. オンプレミスやクラウド上にあるOracle Databaseの稼働状況を 一元的に管理する統合ビュー CPU、メモリ、I/O、表領域などのリソース使用率 多角的なパフォーマンス分析 - リアルタイムSQLモニタリング - ASH分析、実行計画、ブロッキングセッション検出 -

    チューニング・アドバイザによるSQLパフォーマンス改善 AWRエクスプローラーによるパフォーマンスデータの視覚化 ユーザーやデータベース・パラメータの監視 SQLジョブのスケジュール実行管理 監視可能データベース: - BaseDB, ExaDB, Autonomous DB, Oracle DB on IaaS - オンプレミスのOracle DB, Exadata 対象のDBバージョン: - Oracle Database 11.2.0.4以上 (SEの場合は一部機能制限あり) Database Management 3 Cloud@Customer Public Cloud On-Premises Database Management Copyright © 2023, Oracle and/or its affiliates
  2. 管理下にある全てのDBのステータスを一目で確認 フリート・サマリー Copyright © 2023, Oracle and/or its affiliates 4

    フリート・サマリーは、 オンプレミス、クラウド上で管理している データベース全体の稼働状況や、アラート等の問題を表示 さらに個々のデータベースのCPU,メモリ,I/O等の リソース、表領域使用率など状態を表示
  3. グラフによるセッション情報の可視化、セッション情報から DBで発生している問題を特定 • Active Session History(ASH)は、データベースへの アクティブなセッション情報を毎秒サンプリング • 特定のジョブまたはセッションが応答しないがインスタンス の他の部分は通常どおりに動作している場合など、

    発生期間が短い一時的なパフォーマンスの問題を解決 • AWRの上位には出てこない短期間で完了するSQLの 検索が可能 • 時間、セッション、モジュール、アクション、SQL IDなど 様々なディメンションで分析することが可能 • 対象のデータベースはEE 12.2以上が必要 Active Session History分析 Copyright © 2023, Oracle and/or its affiliates 5
  4. データベースで実行されている全てのSQLの詳細、パフォーマンスを可視化 リアルタイムSQLモニタリング Copyright © 2023, Oracle and/or its affiliates 6

    大量のリソースを消費する長時間実行SQLやパラレルSQLに 起因する実行時のパフォーマンス問題などを効果的に特定 SQLに対して最適なチューニング戦略の策定を支援 統計情報は、経過時間、CPU時間、読取りと書込みの 回数、I/O待機時間、その他の各種待機時間などの主要な パフォーマンス指標ごとに、実行計画の各ステップで追跡される
  5. パフォーマンスが最適ではないSQLを特定し、改善の 方法を明確な根拠に基づいてアドバイス アドバイスされた内容の実装を判断するために必要な 実行計画やコスト、ベネフィット率が明示化される 推奨事項として提供される項目 - オブジェクト統計の収集 - 索引の作成 -

    SQL文のリライト - SQLプロファイルの作成 - SQL計画ベースラインの作成 ASHからチューニング対象のSQLを選択し実行 データベースの自動メンテナンス・タスクを有効化すれば 夜間のメンテナンス・ウィンドウ期間にSQLチューニング アドバイザを自動実行 対象のデータベースはEE 12.2以上が必要 SQLチューニング・アドバイザ Copyright © 2023, Oracle and/or its affiliates 7
  6. SQL文を直接実行せずに、画面UI上からAWRレポート 情報を取得し、表に可視化 • ターゲットのDatabaseのAWRを直接参照し ロード・プロファイルや待機イベントといったインスタンス 全体の実行統計をビジュアライズ • スナップショットの時間軸やチャートの追加など 表示したいAWRの情報をカスタマイズ •

    AWR、SQLヘルスチェック、ASHレポートの出力 • 管理エージェントが直接ターゲットDBのAWRを参照 しているので、表示可能なAWRの情報はAWRの リテンションの設定に依存 AWRエクスプローラ Copyright © 2023, Oracle and/or its affiliates 8
  7. Oracle RAC・Exadataへの対応 Copyright © 2023, Oracle and/or its affiliates 10

    クラスタ・キャッシュ RACデータベースのノード間のグローバル・キャッシュの 送受信に関する情報 Exadata ExadataのFlash I/OやDisk I/Oといったハードウェア リソースに関する情報
  8. データベースの監視に必要な20種類を超えるメトリック データが定義されている - 現在のログオン - DB時間 - CPU使用率 - SQL実行数

    - トランザクション数 - 表領域ごとの使用済ストレージ領域 - 生成済REDO - 論理読取り数 - IOPS - IOスループットなど メトリック値にしきい値を設定し、Notificationsでメール 通知、またはFunctionsで処理を自動実行 データベースの監視メトリック Copyright © 2023, Oracle and/or its affiliates 11
  9. REST API, SDK, CLI等で作成する独自のカスタムメトリック (OCI Monitoringサービスの機能) データーベースの固有プロセスやデータ・ディクショナリの結果など、様々な独自の監視要件に対応するメトリック開発が可能 カスタム・メトリック Copyright ©

    2023, Oracle and/or its affiliates 12 <略> #OCIへの接続情報 . for proc in psutil.process_iter(): try: if "vmstat" in proc.exe(): existvalue = 1 except psutil.AccessDenied: pass dt_now = datetime.datetime.now(timezone('UTC’)) . <略> #OCIテナンシ情報 post_metric_data_response = monitoring_client.post_metric_data( post_metric_data_details=oci.monitoring.models.PostMetricDataDetails( metric_data=[ oci.monitoring.models.MetricDataDetails( namespace="osprocess", compartment_id="ocid1.compartment.oc1..aaaaaaaa6itxxxxxxxxxxx", name="process001", dimensions={ 'serverid': 'testsrv001’}, datapoints=[ oci.monitoring.models.Datapoint( timestamp=datetime.datetime.strftime( dt_now,"%Y-%m-%dT%H:%M:%S.%fZ"), value=existvalue)] )] ... ) Python SDKを使用したサンプルコード 稼働するプロセスやサービス を OS コ マ ン ド で 取 り 出 し メトリック値とする Monitoringを実施する コンパートメント名や、 作成するメトリック名、 ディメンションなどを指定
  10. 2つの管理オプション • 対象機能 - フリートサマリー(DB Managementの専用コンソール)上で 複数のデータベースに対して以下の監視や管理機能を提供 - Basicのパフォーマンス・ハブ ※1

    、モニタリングのメトリック監視 - アラート・ログ、AWRエクスプローラー ※1 - SQLチューニング・アドバイザー、オプティマイザ統計 ※1 - 表領域やデータベース・パラメータの監視 - ジョブの実行 • 対象データベース - BaseDB(CDB/PDB) , ExaDB(CDB/PDB) - オンプレミスのOracle DB、Exadata、DB on OCI/他社クラウド - Autonomous DBの場合、フリートサマリのみが使用可 ※1は、Oracle DB Enterprise Edition 12.2以上が必要 • 有料 • 対象機能 - パフォーマンス・ハブ(ASH分析、SQLモニタリング) - モニタリングのメトリック監視 - CPU Utilization - Storage Utilization - Execute Count…(20種類以上) ※上記機能は、ADBやBaseDB等の詳細コンソール内の一部として 提供される。フリートサマリーには表示されない • 対象データベース - Autonomous DB - BaseDB(CDBのみ) , ExaDB(CDBのみ) ※PDBは、稼働するCDBをFull Managementにする必要がある パフォーマンス・ハブは、 BaseDB EE以上 • 無料 Database Management Copyright © 2023, Oracle and/or its affiliates 13 Full Management Basic Management
  11. Database ManagementとEnterprise Managerの機能比較 Copyright © 2023, Oracle and/or its affiliates

    14 Database Management Enterprise Manager (13.5) 提供形態 クラウド オンプレミス製品 (クラウド上に構築が可能, OCIマーケットプレイス提供有) 初期コスト なし 最低1~2台のサーバ、またはVMインスタンス 対象となるターゲットDB Oracle Database 11.2.0.4~(オンプレミス、Cloud) DBCS, ExaCS, Autonomous DB, Exadata Oracle Database 11.2.0.4 ~ (オンプレミス、Cloud) DBCS, ExaCS, Autonomous DB, Exadata エージェント 管理エージェント EMエージェント 特徴 主にOracle DBの稼働状況やパフォーマンスに対する 監視に特化したサーバーレスのクラウドサービス 変更を伴うDB管理操作は、ほとんどできない EMの監視機能が順次移行中 Oracle DBの様々な管理業務(スキーマ管理、パフォーマ ンス管理、可用性管理) などをGUIの操作で実行可能 同様にOSや一部のOracle Middlewareも同様に管理 することができ、Oracle製品の統合運用管理ツールとして の位置づけ 運用管理 × 〇 パフォーマンス監視 〇 〇 システム連携 Monitoring、Notificationsによる他システム連携 SNMPや他社運用管理ツールとの連携プラグインの提供 価格 Basic Management: 無償 Full Management: サービス価格参照 使用する機能によって細かくライセンスが定義されている 例えば、ASH, AWRには、EE + Diagnostic Pack、 SQLチューニングには、EE + Tuning Packが必要
  12. 管理エージェント/ゲートウェイとDatabase Managementの通信 Copyright © 2023, Oracle and/or its affiliates 15

    Gateway (Optional) HTTP/HTTPS プロキシ (Optional) お客様環境 (オンプレミス/クラウド) 管理 エージェント Database Management 管理 エージェント 管理エージェント データベースの情報を収集 ゲートウェイ Database Managementへの アップロード処理を一元化(Optional) 管理エージェントから 直接通信 Agent/GatewayとDatabase Management の通信はすべてHTTPSで暗号化されている 通信に必要なポート 443 Database Managementから 管理エージェントへのインバウンド通信はない
  13. Tokyo Region OCIの場合の基本構成 管理エージェントの構成例 Copyright © 2023, Oracle and/or its

    affiliates 16 DBCS, ExaCSは、 Database Managementとの接続に必要な Private Endpointを作成し、直接通信する Autonomous DBは、特別な設定は必要なし VMに直接構築されたOracle Databaseの場合は、 管理エージェントをインストールし、外部データベースとして登録する Database Managementはリージョナルサービスのため 異なるリージョンでは、右記同様の構成が必要となる - だだし、異なるリージョンの管理エージェントを手動インストールすれば そのデータベースを別のDatabase Managementで監視することは できる VCN Subnet A Database System Database Management Private Endpoint Subnet B Database on VM 管理エージェント Autonomous Database
  14. Database Management サービス価格 Copyright © 2023, Oracle and/or its affiliates

    18 上記は、Full Managementのオプションを選択した場合の価格。DBCS、ExaCSのBasic Managementは無償 DBCS/ExaCSは、OCPU。External DatabaseとしたOn-Pのデータベースは、物理コア数の合計に基づいて計算 DBインスタンス数、PDB/CDB数は価格に影響しない。カウントするのは、インスタンスまたはサーバーのOCPU・コア数のみ 例えば、物理コアが8core、1 DB、3PDBが稼働しているDBサーバーをDB Managementですべて監視する場合 8*7 * 24h * 31日 = ¥28567、1カ月あたり約41644円 【Database Management】 提供サービス 単位 PAYG (時間単価) Annual Flex (時間単価) 月額概算 ※ Database Management for Cloud Databases ※3 CPU ¥7 ¥5,208 Database Management for External Database CPU ¥7 ¥5,208 Database Management for External Database -BYOL CPU ¥3.5 ¥2,604 ※ 単価×24(時間)×31(日)による月額の参考価格となります。 ※ 最小単位で試算した結果となります。 ※3 Full Managementのオプションを選択した場合。Basic ManagementはDBCS、ExaCSのライセンスに含まれています