はじめに

Autonomous Databaseでは性能・可用性・セキュリティの観点から特定のデータベースオブジェクトの作成が制限されています。

具体的な制限事項はマニュアルに記載がございますが、これら制限対象のオブジェクトを利用しているかなどを確認するために、オラクルはCloud Premigration Advisor Tool(CPAT)というツールを提供しています。

イメージ

この章では先の301: 移行元となるデータベースを作成しようにて事前に作成しておいたDBCSインスタンスを利用して、CPATの使い方を紹介します。


目次 :


前提条件 :


所要時間 : 約30分


1. Cloud Premigraiton Advisor Tool (CPAT) とは?

Oracle DatabaseインスタンスをOracleクラウドに移行する際に、問題になる可能性があるコンテンツや移行を妨げる可能性があるその他の要因をチェックするJavaベースのツールです。移行チェックのツールとして以前提供されていたスキーマ・アドバイザの後継となります。
スキーマ・アドバイザはデータベースにPL/SQLパッケージのインストールが必要でしたが、CPATは読み取り専用でデータベースに対して変更を与えることはありません。 サポート対象となるOracle Databaseのバージョンは11.2.0.4以降です(2022/3時点)。 また、現時点では物理移行のチェックはサポートされておらず、デフォルトでDataPumpによる移行が想定されています。


2. 事前準備

2-1. CPATを実行するホストの準備

ソース、ターゲットにネットワーク接続できるホストを準備します。CPATはWindowsプラットフォーム、Unixプラットフォームのどちらでも実行することができますが、Javaベースのツールとなるため、Java実行環境(JRE)が必要となります。最小バージョンはJava7です。
このチュートリアルでは作成済みのDBCSインスタンスをホストとして利用します。

2-2. ツールのダウンロード

CPATをダウンロードします。

  1. 以下、My Oracle Supportにアクセスしダウンロードしてください。
    Cloud Premigration Advisor Tool (CPAT) Analyzes Databases for Suitability of Cloud Migration (Doc ID 2758371.1)

  2. ダウンロードしたファイルをホストに配置し解凍します。このチュートリアルではoracleユーザーでHOMEディレクトリにcpatディレクトリを作成して配置しています。

    cd $HOME/cpat
    ls -al p32613591_112048_Generic.zip 
    unzip p32613591_112048_Generic.zip 
    

イメージ


2-3. 環境変数の設定

利用するJREのための環境変数を設定します。 DBCSインスタンスなど、Oracle Database製品がインストール済みの環境では、製品に含まれるJREがJava7以降であれば、ORACLE_HOMEを指定することでORACLE_HOME下のJREが利用できます。
このチュートリアルでは、DBCSインスタンスのoracleユーザにORACLE_HOMEは設定済みなので確認を行います。

echo $ORACLE_HOME

イメージ

Oracle Databases製品がインストールされていない環境ではJAVA_HOMEでJREを指定することで実行可能です。以下は設定例です。

export JAVA_HOME=/usr/java/jre1.8.0_321-amd64

環境変数の設定が完了しましたら、CPATを実行してみましょう。Unixプラットフォームの場合はpremigration.shとなります。何も引数を指定せずに実行するとヘルプが表示されます。

イメージ


3. 実行と結果確認

DBCSインスタンスのHRスキーマを移行対象に、移行先をAutonomous Database Transacation Processing(ATP-S) に指定して確認してみます。 以下を実行します。

./premigration.sh --connectstring jdbc:oracle:thin:@<ホスト>:<ポート>/<サービス名> --username <ユーザ名> --targetcloud ATPS --reportformat text --schemas <移行スキーマ名>

イメージ

  • --connectstring 移行元となるデータベースへの接続。101: Oracle Cloud で Oracle Database を使おう(DBCS)を参考にホスト(HOST)、ポート番号(PORT)、サービス名(SERVICE_NAME)をご確認ください。
  • --targetcloud ターゲットデータベースの指定。
    • Autonomous Databaseの場合DedicatedはATPD/ADWD、SharedはATPS/ADWSから選択します。このチュートリアルではATPSを指定しています。
    • Autonomous DatabaseではないPDBロックダウンの設定が行われていないクラウドデータベースの場合はdefaultを指定します。
  • --username データベースに接続するユーザ名。管理者権限またはsysdba権限が必要です。
  • --reportformat 出力ファイルの形式です。json,text,または両方(json text)を指定できます。デフォルトはjsonです。
  • --schemas 移行対象のスキーマ名。空白区切りで複数指定可能。

--connectstringについて
チュートリアルではJDBC Thin接続を利用していますが、OCI接続の利用も可能です。jdbc:oracle:ociとし--sysdbaを指定することでOS認証もサポートされます。詳細はCPATのMy Oracle Supportドキュメント(Doc ID 2758371.1)を参照ください。


実行結果はカレントディレクトリに出力されます。--outdirで出力ディレクトリを指定することも可能です。

view premigration_advisor_report.txt


データベースの詳細情報の後、”Premigration Advisor Report Check Summary”として、実行された様々なチェックがBlocking、Warning、Informational、Passingに分類されて記載されます。

イメージ

そのあと、各チェックごとにそのチェックの説明や結果の影響、対応策が記載されます。
例えば、こちらではAutonomous Databaseでは索引構成表の作成は許可されていないため、COUNTRIES表は非索引構成表として作成しないといけないことを確認いただけます。
イメージ

--targetcloudをADWSにした場合は、先の301: 移行元となるデータベースを作成しようで作成したLONG型を有するNG_TAB_4ADW表がADBに移行できないことを、対応策と共に明示してくれます。
イメージ

--schemasを指定しない、または--fullを指定することで、データベース全体を指定した確認も可能です。--outfileprefixを指定すると出力ファイル名の接頭辞を指定できます。

 ./premigration.sh --connectstring jdbc:oracle:thin:@<ホスト名>:<ポート>:<サービス名> --username <ユーザ名> --targetcloud ATPS --full --reportformat text --outfileprefix <出力ファイルの接頭辞>

イメージ

確認してみましょう。--fullでは--schemasにはないデータベースインスタンス全体にのみ適用できるチェックが含まれます。

view full_advisor_premigration_advisor_report.txt

イメージ

例えばmodified_db_parameter_serverlessは--fullでのみ行われるチェックとなります。

イメージ

さらに正確な移行チェックのためにターゲットに接続しプロパティファイルを作成、指定することができます。CPATのMy Oracle Supportドキュメント(Doc ID 2758371.1)を参照ください。


おわりに

このチュートリアルではAutonomous Databaseに移行する際に利用できる事前チェックツールを紹介しました。
移行プロジェクトを開始される際の事前チェックにご利用ください。


参考資料


以上でこの章は終了です。次の章にお進みください。

ページトップへ戻る

更新日時: