本記事はAnusha Vojjolaによる”Take charge of your Oracle Database 23ai upgrade and performance with SQL Performance Watch“の日本語翻訳記事です。
SQL Performance Watch のご紹介
Oracle Cloud Infrastructure SQL Performance Watch は、データベース・インフラストラクチャとテクノロジの変更を迅速かつコスト効率よく導入できる、クラウド・ネイティブの従量課金制ソリューションです。IT チームが、変更がデータベースのパフォーマンスに与える影響をプロアクティブに評価するのに役立ちます。SQL Performance Watch は、データベースがオンプレミス、クラウド、またはハイブリッド環境に導入されているかどうかに関係なく、システムの変更によって発生する SQL 実行パフォーマンスの問題を予測して防止するように設計されています。SQL Performance Watch は、セキュリティ、コード、パッチの更新、およびその他のライフサイクルの変更をシームレスに実行し、予測可能なデータベース パフォーマンス (これらの変更がシステムに導入される前と同じかそれ以上) を維持するのに役立ちます。つまり、中断や遅延を恐れてセキュリティやソフトウェアの更新を推測したり遅らせたりする必要がなくなります。
SQL Performance Watch を使用すると、DBA、IT マネージャー、開発者は、次のような一般的な環境の変化に対するパフォーマンスの課題を積極的に管理できます。
- データベースのアップグレードまたはパッチセット
- Exadata、クラウドなどを含むプラットフォームの移行。
- オプティマイザ統計の更新
- オプティマイザ関連のパラメータの変更
- アクセス構造の追加/削除(インデックス、マテリアライズド・ビューなど)
SQL Performance Watch は、OCI Database Management サービスのパフォーマンス診断およびチューニング機能を補完します。SQL Performance Watch の洞察を既存の診断ツールと統合することで、お客様は SQL Performance Watch が推奨する変更を効果的に実装し、検証できます。
SQL Performance Watch の主な機能
- 主要なパフォーマンス指標による環境変更の影響のグローバルビューと、SQL実行プランと統計へのきめ細かなドリルダウンを提供します。
- 運用システムのオプティマイザコンテキストと独立してSQL文を実行し、変更の前後にバインドすることで、包括的なワークロード分析を実行します。
- 変更によってパフォーマンスが低下した、改善した、または影響を受けなかったSQL文を識別します。
- 実行計画の統計の詳細と、回帰したSQL文を最適化するための推奨事項
- システム変更に関連するパフォーマンスの課題を積極的に管理し、データベースの健全性を最適化します。

SQL Performance Watch のユースケース
- データベース管理者またはDevOpsによるシステム変更の評価
- SQL パフォーマンスに影響を与えるさまざまなシステム変更 (上記) の影響を評価する
- アプリケーションのマイナー・バージョン・アップデートによるワークロードの変更を検出します。新しいアプリケーション SQL または不足しているアプリケーション SQL がパフォーマンスに与える影響
- 同じデータベースまたは異なるデータベース上の2つの期間にわたるワークロード・パフォーマンスを分析し、開発者またはAIOpsによるパフォーマンスの洞察を導き出します。
- ワークロードのドリフトを追跡 – 改善されたSQL、後退したSQL、新しいSQL、不足しているSQL
- 計画の変更とパフォーマンスへの影響
SQL Performance Watch のナビゲーションと主な機能
SQL Performance Watch は OCI Database Management サービスの一部であり、OCI コンソールの [監視および管理] メニューにあります。わずか数分で、SQL Performance Watch・タスクを送信して、アップグレードやその他の変更の影響を評価できます。
主な特徴
- アップグレード/移行、パラメータ変更、オプティマイザ統計、オプティマイザヒントの無視、カスタムなど、さまざまな変更タイプ向けに事前定義され最適化されたワークフロー
- SQL Performance Watch タスク・レベルの基本オプション (デフォルト) と詳細設定によるタスク・パラメータのカスタマイズ
- トライアル前およびトライアル後の設定のサポート
- SQL トライアル実行タイプ: STS からの構築 (STS への変換)、ハイブリッド、データベース・リンク経由でローカルおよびリモートで SQL を実行、実行プランの生成
- トライアル・パラメータ: SQL ごとのローカルの時間制限、DML の実行など。
- 比較メトリック: 経過時間、バッファ取得、CPU 時間、ユーザー I/O 時間、ディスク読み取り、直接書き込み、物理 I/O など。
- 複数のメトリックによる比較レポートが生成され、変更によるワークロード、エラー、サポートされていない SQL、実行プランとパフォーマンスに対する SQL ごとの影響が強調表示されます。

より自信を持って Oracle Database 23ai にアップグレード/移行
Oracle Database 23ai にまつわる興奮が高まっている今、SQL Performance Watch を使用してアップグレード・プロセスを早めに開始しましょう。データベースのアップグレードまたは移行に SQL Performance Watch を活用する方法の例を次に示します。
- エクスポート/インポート (またはその他のサポートされているメカニズム) を使用して、テスト/ステージ環境で本番データベースの2つのコピーから始めます。これらを TestDB1 と TestDB2 と呼びます。これらのインストールを使用して、SQL Performance Watch を使用して本番データベースの前後のシナリオを比較します。
- 対象となる代表的なワークロード (ピーク時間帯) を本番データベースのSQL チューニング・セット(STS) にキャプチャします。
- クローン・データベースの1つ (TestDB2 とします) を DB 23ai にアップグレードし、キャプチャした STS をインポートして、TEST23ai という名前を付けます。
- STS 所有者と同じユーザーまたは同じ権限を持つ別のユーザーを使用して、SQL パフォーマンス監視タスクを作成します。
- TEST23ai を SQL パフォーマンス・アナライザ (SPA) オーケストレーション・システムとして使用します。
- トライアルに関係するデータベースの最新バージョンである必要があります
- データベース・リンクが既に存在するか、タスク中に作成されます (リモート・トライアルを実行している場合)
- ワークロード・スキーマ (データ) は、トライアル前およびトライアル後のデータベース (コピーまたはエクスポート・メカニズム経由) に存在し、STS はオーケストレーション・システムにインポートされます。
- SQL Performance Watch で、変更タイプを UPGRADE として、変更前トライアル (TestDB1) と変更後トライアル (TEST23ai) を使用してトライアルを実行します。
- 両方のトライアルを比較して、アップグレード中に発生した回帰を特定します。
サポートされているバージョン
SQL Performance Watch は現在、次のリリースの外部 (オンプレミス) データベースをサポートしています。
- Oracle Database 23ai
- Oracle Database 21c
- Oracle Database 19c
- Oracle Database 11.2.0.4 から 18c
クラウド・データベースに対する SQL Performance Watch のサポートは、将来のリリースで予定されています。