6 クラウド移行前アドバイザ・ツールの使用

クラウド移行前アドバイザ・ツール(CPAT)は、移行前にOracle Autonomous Databaseとの互換性を確保するために、既存のOracleデータベースを評価するのに役立ちます。CPATは、潜在的なユーザー・アクションを識別し、その重要度に優先順位をつけて解決策を提案します。Oracle Cloudへの移行を早めるために、CPATを使用することをお薦めします。

CPATの詳細は、My Oracle Supportの「Analyzes Databases for Suitability of Cloud Migration」(ドキュメントID 2758371.1)を参照してください。

SQLclを使用して、MIGRATEADVISORコマンドを使用してCPATを実行できます。

トピック

6.1 概要

SQLclでMIGRATEADVISORコマンドを使用すると、次のことができます。

  • Oracleデータベースを一般的な自律型または特定のインスタンスに分析し、Oracle Cloudへの移行を成功させるために推奨されるアクションを特定したレポートを作成します。レポートは、HTML、テキストまたはJSON形式で生成できます。

  • オプションで、自律インスタンスに固有の詳細を提供するターゲット・プロパティ・ファイルを生成します。

次のイメージは、HTML形式のCPATレポートを示しています。

CPATの概念

CPATでのソース分析は、様々なクラウド・タイプに対して汎用的に実行されます。

  • ATPS (Autonomous Transaction Processing on Shared Infrastructure)
  • ATPD (Autonomous Transaction Processing on Dedicated Infrastructure)
  • ADWS (Autonomous Data Warehouse on Shared Infrastructure)
  • ADWD (Autonomous Data Warehouse on Dedicated Infrastructure)
  • デフォルト(Oracle Database)

ソース分析は、SQL文として実行される一連のテストで構成されます。テストの範囲は、次の3つのカテゴリに分類されます。

  • SCHEMA: スキーマ内のデータにのみ適用されるチェック。たとえば、表では非推奨およびサポート対象外の機能の使用がチェックされます。
  • INSTANCE: データベース・インスタンス全体にのみ適用されるチェック。たとえば、V$PARAMETER表の特定のパラメータおよび値がチェックされます。
  • UNIVERSAL: 常に実行されるチェック。

ソース分析はFULLモード、SCHEMAモードまたはFULL SCHEMAモードで実行できます。

  • FULL: (デフォルト)すべての適切なスキーマで適用可能なすべてのチェックを実行します。SCHEMA、INSTANCEおよびUNIVERSALスコープ・チェックが実行されます。
  • SCHEMA: コマンドラインおよびUNIVERSALチェックで指定されたスキーマに適用可能なすべてのチェックを実行します。INSTANCEスコープ・チェックは実行されません。
  • SCHEMA FULL: コマンドラインで指定されたスキーマ、およびUNIVERSALとINSTANCEチェックで指定されたスキーマに適用可能なすべてのチェックを実行します。

6.2 前提条件

migrateadvisorコマンドを使用するための前提条件は次のとおりです。

  • Oracle Database 11gリリース2以降のバージョンがサポートされています。

  • PROPERTIESコマンドは、接続ユーザーにSELECT ANY DICTIONARY権限が付与されている場合にのみ使用できます。

  • ADVISEコマンドは、接続されたユーザーに次の権限が付与されている場合にのみ使用できます。

    • SELECT ANY DICTIONARY権限
    • SYSTEM.DUM$COLUMNSおよびSYSTEM.DUM$DATABASEにアクセスするためのSELECT権限

      ノート:

      DUM$表へのアクセスが必要なのは、ソースとターゲットの文字セットでOracle Database Migration Assistant for Unicode (DMU)が必要であることが示されている場合のみです。

6.3 MIGRATEADVISORコマンドについて

CPATコマンドは、maまたはmigrateadvisorを使用してSQLclで実行できます。

このコマンドには、次のサブコマンドがあります:

  • Properties: インスタンス固有の分析を提供するOracleまたはAutonomous Databaseのターゲット・プロパティ・ファイルを生成します。
  • Advise: データベースを分析し、正常な移行に役立つ情報を含むレポートを生成します。
  • Info: CPATのバージョン情報を表示します。

構文

migrateadvisor help [examples|syntax] | 
advise {{-targettype,-t} {ATPS|ATPD|ADWS|ADWD|DEFAULT} } [<-optional-argument>,...] | 
properties [<optional-argument>,...] |
info

次の表に、adviseの必須引数およびオプション引数を示します。

引数 説明 デフォルト
必須
-targettype,-t

(ATPS|ATPD|ADWS|ADWD|DEFAULT}

移行用に分析するターゲット・データベースのタイプ。

なし
オプション
-analysisprops,-a  

<propertyFile>  

プロパティ・ファイルのパスと名前。

ノート:

フルパスはオプションです。フルパスが指定されていない場合、cd <path>がルートとして使用されます。cd <path>が指定されていない場合、起動パスがルートとして使用されます。

ターゲット・データベースへの接続中にpropertiesサブコマンドを使用して作成されたプロパティ・ファイル。

なし
-excludeschemas,-x

<schema>[,...]

分析から除外するスキーマのスキーマまたはカンマ区切り値リスト。

なし
-full, -f

[TRUE:FALSE]

すべてのテスト・セットを実行します。

-schemasが指定されていない場合はFALSE、それ以外の場合のデフォルトはTRUE
-maxrelevantobjects,-m

<maxRelevantObjects>

すべてのレポートに含められる「関連オブジェクト」の最大数。

このオプションは、TEXTレポートの-maxtextdatarowsをオーバーライドします。

すべてのオブジェクトを含む
-maxtextdatarows,-n

<maxTextDataRows>

テキスト・レポートに含める関連オブジェクト行(JSONレポートには適用されません)。

-maxrelevantobjects (指定されている場合)、それ以外の場合はすべての関連オブジェクトが含まれます。
-migrationmethod,-mm

{DATAPUMP|DATAPUMP_DBLINK|GOLDENGATE}[,...]

移行に使用するメソッドまたはツールのカンマ区切り値リスト。例: DATAPUMP, GOLDENGATE

DATAPUMP
-outdir,-o

<directory>

ログ・ファイルおよびレポート・ファイルの場所を識別します。

現在のSQLclディレクトリ
-outfileprefix,-p

<outFilePrefix>

標準のベース・ファイル名"premigration_advisor_report"の接頭辞。

接頭辞なし
-reportformat,-r

{HTML|JSON|TEXT}[,...]

1つ以上の<reportFormats>を指定します。<reportFormat>はHTML、JSONまたはTEXTです。

HTML
-schemas,-s  

<schema>[,...]

分析するスキーマまたはスキーマのカンマ区切り値リスト。例: schema1, schema2

すべてのスキーマ
-sqltext,-q チェックに使用されるSQL問合せをTEXTレポートに含めます。 TEXTレポートにSQLテキストを含めないでください。JSONレポートでは無視されます。
-verbose,-ve

[TRUE|FALSE]

TRUEは追加の診断出力を表示します。

FALSE

次の表に、propertiesのオプション引数を示します。

引数 説明 デフォルト
-outdir,-o

<directory>

ログ・ファイルおよびレポート・ファイルの場所を識別します。

現在のSQLclディレクトリ
-outfileprefix,-p

<outFilePrefix>

標準のベース・ファイル名"premigration_advisor_report"の接頭辞。

接頭辞なし

6.4

次の例では、MIGRATEADVISORコマンドを使用する方法について説明します。

例1

Autonomous Databaseのターゲット・プロパティ・ファイルを生成します。

-- Set default directory
SQL> cd <directory>
-- Connect to target
SQL> set cloudconfig <config-file>
SQL> connect <autonomous-connect-string>
-- Generate the properties file
SQL> migrateadvisor properties -outfileprefix cloud

例2

ターゲット・プロパティを使用して、単一スキーマのHTMLアドバイザ・レポートを作成します。

-- Set default directory
SQL> cd <directory>
-- Connect to source
SQL> connect <database-connect-string>
-- Generate the report
SQL> migrateadvisor advise -schemas hr -outfileprefix hr -targettype adws -analysisprops <propertyFile>

例 3

ターゲット・プロパティを使用して、データベース全体のHTMLアドバイザ・レポートを作成します。

-- Set default directory
SQL> cd <directory>
-- Connect to source
SQL> connect <database-connect-string>
-- Generate the report
SQL> migrateadvisor advise -outfileprefix fulldb -targettype adws -analysisprops <propertyFile>

例4

スキーマを除くJSONアドバイザ・レポートを作成します。

-- Set default directory
SQL> cd <directory>
-- Connect to source
SQL> connect <database-connect-string>
-- Generate the report
SQL> migrateadvisor advise -excludeschemas hr,sales -outfileprefix xschemas -targettype adws -reportformat json

例5

インスタンス・テストを含む複数のスキーマのHTMLアドバイザ・レポートを作成します。

-- Set default directory
SQL> cd <directory>
-- Connect to source
SQL> connect <database-connect-string>
-- Generate the report
SQL> migrateadvisor advise -schemas hr,sales -full -outfileprefix fullmulti -targettype adws -analysisprops <propertyFile>

例6

ターゲット・プロパティを使用してOracleデータベースに移行するための単一スキーマ用のHTMLアドバイザ・レポートを作成します。

-- Set default directory
SQL> cd <directory>
-- Connect to target
SQL> connect <database-connect-string>
-- Generate the properties file
SQL> migrateadvisor -gettargetproperties -outfileprefix cloud
-- Connect to source
SQL> connect <database-connect-string>
-- Generate the report
SQL> migrateadvisor advise -schemas hr -outfileprefix ora -targettype adws -analysisprops <propertyFile>

6.5 ヒントとトラブルシューティング

次の点に注意してください。

  • ソースがAutonomous Databaseの場合、ADVISEコマンドの実行はCPATの使用がサポートされていないため、予測できない可能性があります。

  • PROPERTIESおよびADVISEコマンドでは、接続ユーザーにSELECT ANY DICTIONARY権限が必要です。

    SELECT ANY DICTIONARY権限がない場合は、次のエラーが表示されます。

    SQL> grant connect, resource, unlimited tablespace to jdoe identified by jdoe;
    Grant succeeded.
    
    SQL> connect jdoe/jdoe
    Connected.
    
    SQL> migrateadvisor advise -schemas hr -outfileprefix pre -targettype adws -reportformat json
    
    CPAT-1004: SQL error while initializing premigration application.
    ORA-00942: table or view does not exist
    
    –-Ensure the JDBC connection information is correct. See the log file for more details.
    
    Additional Information: 255: Internal error - please contact support.
    **Exception** : /Users/xyz/pre_premigration_advisor_report.json
    
    Log file contains:
    Caused by: Error : 942, Position : 20, Sql = SELECT VERSION FROM V$INSTANCE, 
    OriginalSql = SELECT VERSION FROM V$INSTANCE, 
    Error Msg = ORA-00942: table or view does not exist