oracle real application testing solution test oracle db before moving production
私たちは最後の部分に来ました 一連のOracleデータベーステスト。
これまでに扱ってきました Oracleデータベースをテストする方法。 この焦点を継続して、Oracle Real ApplicationTestingに関する詳細を掘り下げます。
今日は、Oracle Real Application Testingについて学習します。これは、テスト環境自体のシステム変更を評価してから本番環境に導入する効果的な変更保証システムです。
これは、実際の本番環境のDBワークロードをキャプチャし、それをtに置き換えるOracleによる主要なソリューションです。 環境です 。
多くの場合に述べられているように、不安定性を根絶するために可能な限りすべての次元でデータベースをテストし、本番インスタンスで予期しない問題が発生しないことを確認する必要があります。
分類できます Oracle Real Application Testing 2つの大きなセクションに:
- SQLパフォーマンスアナライザ
- データベースの再生
先に進む前に、SQL PerformanceAnalyzerとDatabaseReplayには追加のライセンスが必要であることに注意してください。つまり、追加料金とEnterpriseEditionオプションで利用できます。
学習内容:
SQLパフォーマンスアナライザ
SQL PerformanceAnalyzerおよびDatabaseReplayへのアクセスに使用されるGUIは、以下に示すEnterpriseManagerです。
SQL Performance Analyzerにアクセスするには、「SQLPerformanceAnalyzer」リンクをクリックするだけです。
(画像をクリックすると拡大表示されます)
SQL Performance Analyzerを使用すると、SQLの実行とパフォーマンスに影響を与える可能性のあるシステムへの変更によるパフォーマンスへの影響を測定できます。
これらは、次のような場合に非常に役立ちます。
- データベースのアップグレード、パッチ適用
- オペレーティングシステムの構成変更–ソフトウェアまたはハードウェア
- OracleOptimizer統計の変更
- ユーザー/スキーマの変更
テストまたはテストでSQLPerformanceAnalyzeを実行することを常にお勧めします。 UAT(ユーザーアプリケーションテスト) 本番システムではなくシステム。なぜなら、パフォーマンスの観点から変更の影響をテストしているときに、本番インスタンスで実行しているユーザーに不注意に影響を与える可能性があるからです。また、テストで実行すると、本番環境で現在実行中のプロセスが改ざんされないことが保証されます。
に SQL PerformanceAnalyzerワークフローの基本的な概要を以下に示します。
SQLパフォーマンス分析には、次の手順が含まれます。
ステップ1)SQLワークロードのキャプチャ
分析する本番インスタンスから、SQLワークロードの一部となるSQLステートメントを決定します。このワークロードは、理想的には、本番環境で発生する可能性のあるワークロードを表す必要があります。
これらのステートメントをSQLチューニングセットにキャプチャし、このSQLチューニングセットをSQLパフォーマンスアナライザにフィードします。
アナライザーはシステム上で多くのリソースを消費するため、テストまたはUATシステムで実行することを常にお勧めします。テストシステムで実行するには、本番環境ですでに作成したSQLチューニングセットをテストシステムにエクスポートする必要があります。
ステップ2)SQLパフォーマンスアナライザタスクの作成
アナライザーを実行するには、最初にSQLパフォーマンスアナライザータスクを作成する必要があります。このタスクは、SQL PerformanceAnalyzerによって実行される分析に関するすべてのデータを統合するリポジトリに他なりません。前に示したように、SQLチューニングセットはアナライザーに刺激として供給されます。
Javaで二重リンクリストを実装する方法
ステップ3)変更前のSQLパフォーマンストライアル
SQL PerformanceAnalyzerタスクとSQLTuning Setを作成したら、テストシステム上にインフラストラクチャを構築する必要があります。
システムを使用してテストする場合は、ハードウェア、ソフトウェア、およびストレージの点で本番システムと非常に類似していることを確認して、同様の環境を複製できるようにする必要があることに注意してください。
テストシステムが適切に構成されたら、SQL PerformanceAnalyzerを使用して変更前のバージョンのデータを構築できます。
これは、Enterprise ManagerまたはAPI(組み込みプロシージャー)のいずれかを使用して実現できます。
ステップ4)変更後のSQLパフォーマンストライアル
変更後のトライアルは、システムにいくつかの変更を加えた後、テストシステムで実行されます。
これが完了すると、2つのSQLトライアルがあります。1つは変更前のトライアルで、もう1つは変更後のトライアルです。
変更前のSQLパフォーマンストライアルと同様に、Enterprise ManagerまたはAPI(組み込みプロシージャ)のいずれかを使用して、変更後のSQLパフォーマンストライアルを作成できます。
ステップ5)レポートの生成
変更前および変更後の試行を実行した後、SQL Performance Analyzerを使用して比較分析を実行することにより、それらで収集されたパフォーマンスデータを比較できます。
この比較タスクが完了すると、レポートを生成して、テストする予定のワークロードの一部であったSQLステートメントのパフォーマンスを特定できます。
レポートを確認することで、SQLのパフォーマンスを判断して結論を出すことができます。
ステートメントを作成してから、システムの変更を本番環境にデプロイします。
同様に、さまざまなシステム変更を伴うさまざまなワークロードをテストし、本番環境に実装する前に、それぞれをテストすることを確認できます。
上に示したワークフローは、次のようにグラフィカルに表すことができます。
データベースの再生
Enterprise Managerを介してツールを実行するには:
(画像をクリックすると拡大表示されます)
Database Replayを使用すると、テストシステムで本番環境を本質的に複製することにより、システム変更の現実的なテストが可能になります。 これは、本番システムで目的のワークロードをキャプチャし、SQLの実行、トランザクション、抽出、手順など、元のワークロードの正確なリソース特性を使用してテストシステムで再生することによって行われます。
これは、製品のバグ、不適切な結果、パフォーマンスの低下などの望ましくない結果を含む、変更による考えられるすべての影響を確実に考慮するために実行されます。
生成された広範な分析とレポートは、発生した誤った状況やパフォーマンスの相違など、潜在的な問題を特定するのにも役立ちます。
その結果、組織は変更に対処する際に安心し、システム変更の全体的な成功を評価する際に儲かることができます。これにより、本番環境で変更を実装する際のリスクが大幅に軽減されます。変更は不可避であり、この変更のあらゆる側面をあらゆる程度からテストすることで、生産がより堅牢で堅牢になります。
データベース再生の基本的なワークフローは次のとおりです。
データベース再生でサポートされる変更は次のとおりです。
- Oracleデータベースのアップグレード、ソフトウェアのパッチ適用
- ユーザー/スキーマ、データベースインスタンスメモリ、I / Oなどのパラメータ
- RAC(Real Application Cluster)ノードへのハードウェア/ソフトウェアの変更
- オペレーティングシステムの変更、オペレーティングシステムのパッチ
- CPU、メモリ、ストレージ
データベース再生を使用すると、実際の本番システムの実際の負荷をテストシステムに公開する前に再生することで、システムに起こりうる変更のさまざまな影響をテストできます。本番環境のワークロードは、定量的な一定期間にわたって監視、分析、および記録されます。このデータは時間の経過とともに記録され、テストシステムでワークロードを再生するために使用されます。
これを実行することで、本番環境に悪影響を与える可能性のある変更を実装する前に、ワークロードの影響を正常にテストできます。
ワークフローは次のとおりです。
ステップ1) ワークロードのキャプチャ
クライアントからのすべてのリクエストは、ファイルシステム(ストレージ)上の「キャプチャファイル」と呼ばれるファイルに記録されます。これらのファイルには、SQL、バインド、プロシージャ、トランザクション情報など、クライアント要求に関するすべての重要な情報が含まれています。これらのファイルは、別のシステムで再生する場合に備えて、任意のシステムにエクスポートできます。
ステップ2)ワークロードの前処理
「キャプチャファイル」に情報をキャプチャした後、それらを前処理する必要があります。このステップでは、ワークロードの再生に必要なすべてのデータの説明を提供するメタデータを作成します。
このステップはシステムからの大量のリソースを使用するため、負荷を再生できる本番環境とは別のシステムで実行することをお勧めします。テストする別のシステムがなく、本番環境で実行したい場合は、本番環境で実行されているユーザーとプロセスが影響を受けないように、ピーク時以外に実行してください。
ステップ3)ワークロードの再生
これで、テストシステムでそれらを再生できます。この時点で、キャプチャフェーズ中に最初にキャプチャされたすべてのトランザクション、コンテキスト、プロシージャ、およびSQLを再生して、すべてのプロセスがこの移行を行うときにデータを蓄積します。
ステップ4)レポートの生成
パフォーマンスアナライザと同様に、レポートを生成および表示して、実行した各テストを比較することもできます。
結論として、データベース再生をテストする際の簡単なヒントをいくつか紹介します。
- 可能な限り同一のテストシステムを使用する
- 一度に1つの変更をテストして、その影響を理解します
- 必ずデフォルトの再生オプションから始めて、必要に応じて要件に基づいて変更を加えてください。
- 2回目の再生を実行する前に、テストのすべての側面を理解してください。
- 必ずテスト結果を保存し、必要な変更/テストアクションを文書化してください
- テストの実行中に、他のワークロードやユーザーがシステムを使用していないことを確認してください
結論:
Oracle DatabaseおよびApplicationTestingのさまざまな側面とさまざまな方法を使用して、常に可能な限り頻繁かつ徹底的にテストするようにしてください。変更をデプロイしたり、本番環境に新しいパラメーターを導入したりする前に、アプリケーションとユーザー環境を理解してください。
推奨読書
- 最高のソフトウェアテストツール2021 [QAテスト自動化ツール]
- デスクトップ、クライアントサーバーテスト、およびWebテストの違い
- Oracleデータベースをテストする方法
- Webアプリケーションセキュリティテストガイド
- アプリケーションテスト–ソフトウェアテストの基本に!
- アプリケーションをデバイスにインストールし、Eclipseからテストを開始します
- PrimereBookダウンロードのテスト
- 破壊検査と非破壊検査のチュートリアル