プライマリ・コンテンツに移動
Oracle® Database Testingガイド
12cリリース1 (12.1)
B71349-07
目次へ移動
目次
索引へ移動
索引

前
次

10.3.1 データベースの再起動

この手順は必須ではありませんが、ワークロードの取得の開始前に進行中のトランザクションおよび依存トランザクションを確実に完了またはロールバックするために、その取得前にデータベースを再起動することをお薦めします。取得の開始前にデータベースを再起動しないと、進行中のトランザクションまたはコミット前のトランザクションは、ワークロードに完全に取得されません。進行中のトランザクションは、コールが取得された部分のトランザクションしかリプレイされないため、適切にリプレイされません。これにより、ワークロードのリプレイ時に望ましくないリプレイの相違が発生する可能性があります。不完全なトランザクションに依存する後続のトランザクションでも、リプレイ時にエラーが発生する場合があります。処理量が多いシステムでは、リプレイの相違がある程度あるのは一般的ですが、その場合でも、違いがあるコールがDB時間などの主要な属性でリプレイの大部分を占めていなければ、リプレイを使用して、システム変更に関して意味のある分析を実行できます。

そのため、データベースを再起動する前に、本番データベースを停止する適切なタイミング(システムへの影響が最も少ない時間)について検討するようにしましょう。たとえば、ワークロードの取得を午前8:00から開始しようと思った場合でも、営業時間中にサービスが停止することを避けるためには、その時間帯にデータベースが再起動されないようにする必要があります。そのような場合は、ワークロードの取得開始をもっと早い時間にずらすなどして、なるべく不都合のない時間にデータベースが再起動されるようにしましょう。

データベースを再起動したら、ユーザー・セッションが再接続してワークロードを発行し始める前に、ワークロードの取得を開始することが重要です。そうしないと、そのユーザー・セッションによって実行されたトランザクションは、その後のデータベース・リプレイで適切にリプレイされません(これは、トランザクションのうち、ワークロードの取得を開始した後に実行されたコールの部分しかリプレイされないためです)。この問題を避けるには、SYSユーザーのみにログインとワークロードの取得開始を許可するように、STARTUP RESTRICTを使用してRESTRICTEDモードでデータベースを再起動します。デフォルトでは、ワークロードの取得が開始されると、RESTRICTEDモードのデータベース・インスタンスは自動的にUNRESTRICTEDモードに切り替わり、ワークロードの取得中は通常の操作を続行できます。

ワークロードの取得は、常に1回しか実行できません。Oracle Real Application Clusters(Oracle RAC)構成の場合、ワークロードの取得はデータベース全体を対象に実行されます。いずれかのOracle RACノードで取得を有効にすると、すべてのデータベース・インスタンスのワークロードの取得が開始されます(ワークロードを取得するプロセスは、Oracle RACを認識します)。必須ではありませんが、ワークロードの取得が開始される前にOracle RAC構成のすべてのインスタンスを再起動し、進行中のトランザクションは取得されないようにすることをお薦めします。

ワークロードの取得前にOracle RAC構成のすべてのインスタンスを再起動するには、次の手順を実行します。

  1. すべてのインスタンスを停止します。
  2. すべてのインスタンスを再起動します。
  3. ワークロードの取得を開始します。
  4. アプリケーションを接続し、ユーザー・ワークロードを再起動します。

関連項目:

  • 起動時にインスタンスへのアクセスを制限する方法については、『Oracle Database管理者ガイド』を参照してください。